Наиболее важным аспектом интерполяции и подбора кривой является понимание того, почему полиномиальные соответствия высокого порядка могут быть проблемой, и каковы другие варианты, и тогда вы сможете понять, когда они являются / не являются хорошим выбором.
Несколько проблем с полиномами высокого порядка:
Полиномы - это естественно колебательные функции. По мере увеличения порядка многочлена число колебаний увеличивается, и эти колебания становятся более серьезными. Я упрощаю, возможность множественных и мнимых корней делает его немного более сложным, но суть одна и та же.
Полиномы приближаются к +/- бесконечности со скоростью, равной порядку полиномов, когда x стремится к +/- бесконечности. Это часто не желаемое поведение.
Вычисление полиномиальных коэффициентов для полиномов высокого порядка обычно является плохо обусловленной проблемой. Это означает, что небольшие ошибки (например, округление на вашем компьютере) могут привести к значительным изменениям в ответе. Линейная система, которая должна быть решена, включает Матрицу Вандермонда, которая легко может быть плохо обусловлена.
Я думаю, что, возможно, суть этой проблемы - различие между подгонкой кривой и интерполяцией .
Интерполяция используется, когда вы считаете, что ваши данные очень точны, поэтому вы хотите, чтобы ваша функция точно соответствовала точкам данных. Когда вам нужны значения между точками данных, обычно лучше использовать гладкую функцию, которая соответствует локальной тенденции данных. Кубические или эрмитовы сплайны часто являются хорошим выбором для такого типа проблем, поскольку они гораздо менее чувствительны к нелокальным (то есть в точках данных, удаленных от заданной точки) изменениям или ошибкам в данных и менее колебательны, чем полиномиальные. Рассмотрим следующий набор данных:
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-го порядка дает следующие результаты:
Рост населения США не совсем экспоненциальный, но я позволю вам судить о лучшей форме.