Найважливіший аспект інтерполяції та підгонки кривих - це зрозуміти, чому поліноми високого порядку можуть бути проблемою та які інші варіанти, а потім ви можете зрозуміти, коли вони / не є хорошим вибором.
Кілька питань з поліномами високого порядку:
Поліноми - це природно коливальні функції. Зі збільшенням порядку полінома кількість коливань збільшується, і ці коливання стають більш сильними. Тут я спрощую, можливість множинного і уявного коріння робить його трохи складнішим, але справа в тому ж.
Поліноми наближаються до +/- нескінченності зі швидкістю, рівною поліноміальному порядку, оскільки х переходить до +/- нескінченності. Це часто не бажана поведінка.
Обчислення коефіцієнтів поліномів для поліномів високого порядку, як правило, є погано обумовленою проблемою. Це означає, що невеликі помилки (наприклад, округлення на вашому комп’ютері) можуть створити великі зміни у відповіді. Лінійна система, яку необхідно вирішити, включає матрицю Вандермонде, яка може бути легко обумовлена.
Я думаю, що, можливо, в основі цього питання є відмінність між підгонкою кривої та інтерполяцією .
Інтерполяція використовується, коли ви вважаєте, що ваші дані дуже точні, тому ви хочете, щоб ваша функція точно відповідала точкам даних. Коли вам потрібні значення між точками даних, зазвичай краще використовувати плавну функцію, що відповідає локальній тенденції даних. Кубічні або ермітові сплайни часто є хорошим вибором для подібного типу проблем, оскільки вони значно менш чутливі до нелокальних (тобто в точках даних, віддалених від певної точки) змін або помилок у даних і менш коливальні, ніж поліноми. Розглянемо наступний набір даних:
x = 1 2 3 4 5 6 7 8 9 10
y = 1 1 1.1 1 1 1 1 1 1 1
Поліномічне прилягання має набагато більші коливання, особливо біля країв набору даних, ніж сплайн Ерміта.
З іншого боку, наближення найменших квадратів - це криватехніка. Підгонка кривої використовується, коли ви маєте уявлення про очікуваний функціонал своїх даних, але вам не потрібна ваша функція, щоб точно проходити через усі точки даних. Це типово, коли дані можуть містити помилки вимірювань або інші неточності або коли ви бажаєте отримати загальну тенденцію даних. Наближення найменших квадратів найчастіше вводиться в курсі, використовуючи поліноми для підгонки кривої, оскільки це призводить до отримання лінійної системи, яку порівняно просто вирішити, використовуючи методи, які ви, ймовірно, вивчили раніше у своєму курсі. Однак методики найменших квадратів набагато загальніші, ніж просто поліномічні підходи, і їх можна використовувати для пристосування будь-якої бажаної функції до набору даних. Наприклад, якщо ви очікуєте експоненціальну тенденцію зростання в наборі даних,
Нарешті, вибір правильної функції, що відповідає вашим даним, так само важливий, як і правильне проведення обчислень інтерполяції чи найменших квадратів. Це навіть дозволяє можливість (обережної) екстраполяції. Розглянемо наступну ситуацію. З огляду на дані про населення (у мільйонах людей) для США за 2000–2010 роки:
Year: 2000 2001 2002 2003 2004 2005 2006 2007 2008 2010
Pop.: 284.97 287.63 290.11 292.81 295.52 298.38 301.23 304.09 306.77 309.35
Використання експоненціальної лінеаризованої найменшої квадратики N(t)=A*exp(B*t)
або інтерполянта поліному 10-го порядку дає такі результати:
Приріст населення США не зовсім експоненційний, але я дозволю вам бути суддею кращої форми.