L'aspect le plus important de l'interpolation et de l'ajustement de courbe est de comprendre pourquoi les ajustements polynomiaux d'ordre élevé peuvent être un problème et quelles sont les autres options, puis vous pouvez comprendre quand elles sont / ne sont pas un bon choix.
Quelques problèmes avec les polynômes d'ordre élevé:
Les polynômes sont naturellement des fonctions oscillatoires. À mesure que l'ordre du polynôme augmente, le nombre d'oscillations augmente et ces oscillations deviennent plus sévères. Je simplifie ici, la possibilité de racines multiples et imaginaires le rend un peu plus complexe, mais le point est le même.
Les polynômes approchent +/- l'infini à un taux égal à l'ordre polynomial lorsque x va à +/- l'infini. Ce n'est souvent pas un comportement souhaité.
Le calcul des coefficients polynomiaux pour les polynômes d'ordre élevé est généralement un problème mal conditionné. Cela signifie que de petites erreurs (telles que l'arrondi dans votre ordinateur) peuvent créer de grands changements dans la réponse. Le système linéaire à résoudre implique une matrice Vandermonde qui peut facilement être mal conditionnée.
Je pense que peut-être le cœur de ce problème est la distinction entre l' ajustement de courbe et l' interpolation .
L'interpolation est utilisée lorsque vous pensez que vos données sont très précises et que vous souhaitez que votre fonction corresponde exactement aux points de données. Lorsque vous avez besoin de valeurs entre vos points de données, il est généralement préférable d'utiliser une fonction fluide qui correspond à la tendance locale des données. Les splines cubiques ou hermites sont souvent un bon choix pour ce type de problème car elles sont beaucoup moins sensibles aux changements ou erreurs non locaux (c'est-à-dire à des points de données éloignés d'un point donné) dans les données et sont moins oscillatoires qu'un polynôme. Considérez l'ensemble de données suivant:
x = 1 2 3 4 5 6 7 8 9 10
y = 1 1 1.1 1 1 1 1 1 1 1
Un ajustement polynomial a des oscillations beaucoup plus importantes, en particulier près des bords de l'ensemble de données, qu'une spline Hermite.
D'un autre côté, l'approximation des moindres carrés est un ajustement de courbetechnique. L'ajustement de courbe est utilisé lorsque vous avez une idée de la fonctionnalité attendue de vos données, mais que vous n'avez pas besoin que votre fonction traverse exactement tous les points de données. Cela est typique lorsque les données peuvent contenir des erreurs de mesure ou d'autres imprécisions ou lorsque vous souhaitez extraire la tendance générale des données. L'approximation des moindres carrés est le plus souvent introduite dans un cours en utilisant des polynômes pour l'ajustement de la courbe car cela se traduit par un système linéaire qui est relativement simple à résoudre en utilisant les techniques que vous avez probablement apprises plus tôt dans votre cours. Cependant, les techniques des moindres carrés sont beaucoup plus générales que les ajustements polynomiaux et peuvent être utilisées pour adapter n'importe quelle fonction souhaitée à un ensemble de données. Par exemple, si vous vous attendez à une croissance exponentielle de votre ensemble de données,
Enfin, le choix de la fonction adaptée à vos données est aussi important que l'exécution correcte des calculs d'interpolation ou des moindres carrés. Cela permet même une extrapolation (prudente). Considérez la situation suivante. Compte tenu des données démographiques (en millions de personnes) pour les États-Unis de 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
L'utilisation d'un ajustement par moindres carrés exponentiel linéarisé N(t)=A*exp(B*t)
ou d'un interpolant polynomial du 10e ordre donne les résultats suivants:
La croissance de la population américaine n'est pas tout à fait exponentielle, mais je vous laisse juger de la meilleure adéquation.