L'aspetto più importante dell'interpolazione e dell'adattamento alla curva è capire perché gli adattamenti polinomiali di alto ordine possono essere un problema e quali sono le altre opzioni e quindi puoi capire quando sono / non sono una buona scelta.
Alcuni problemi con i polinomi di alto ordine:
I polinomi sono funzioni naturalmente oscillatorie. All'aumentare dell'ordine del polinomio, aumenta il numero di oscillazioni e queste oscillazioni diventano più gravi. Sto semplificando qui, la possibilità di radici multiple e immaginarie rende un po 'più complesso, ma il punto è lo stesso.
I polinomi si avvicinano a +/- infinito ad una velocità uguale all'ordine polinomiale mentre x va a +/- infinito. Questo non è spesso un comportamento desiderato.
Il calcolo dei coefficienti polinomiali per i polinomi di alto ordine è in genere un problema mal condizionato. Ciò significa che piccoli errori (come arrotondamenti nel computer) possono creare grandi cambiamenti nella risposta. Il sistema lineare che deve essere risolto coinvolge una matrice Vandermonde che può essere facilmente mal condizionata.
Penso che forse il cuore di questo problema sia la distinzione tra adattamento alla curva e interpolazione .
L'interpolazione viene utilizzata quando ritieni che i tuoi dati siano molto precisi, quindi desideri che la tua funzione corrisponda esattamente ai punti dati. Quando sono necessari valori tra i punti dati, in genere è consigliabile utilizzare una funzione uniforme che corrisponda all'andamento locale dei dati. Le spline cubiche o eremite sono spesso una buona scelta per questo tipo di problema poiché sono molto meno sensibili alle modifiche o agli errori non locali (cioè in punti dati lontani da un dato punto) e sono meno oscillanti di un polinomio. Considera il seguente set di dati:
x = 1 2 3 4 5 6 7 8 9 10
y = 1 1 1.1 1 1 1 1 1 1 1
Un adattamento polinomiale ha oscillazioni molto più grandi, in particolare vicino ai bordi del set di dati, rispetto a una spline Hermite.
D'altra parte, l'approssimazione dei minimi quadrati è un adattamento della curvatecnica. L'adattamento alla curva viene utilizzato quando si ha un'idea della funzionalità prevista dei dati, ma non è necessario che la funzione passi esattamente attraverso tutti i punti dati. Questo è tipico quando i dati possono contenere errori di misurazione o altre imprecisioni o quando si desidera estrarre la tendenza generale dei dati. L'approssimazione dei minimi quadrati viene spesso introdotta in un corso usando i polinomi per l'adattamento della curva perché ciò si traduce in un sistema lineare che è relativamente semplice da risolvere usando le tecniche che probabilmente hai imparato in precedenza nel corso. Tuttavia, le tecniche dei minimi quadrati sono molto più generali di semplici adattamenti polinomiali e possono essere utilizzate per adattare qualsiasi funzione desiderata a un set di dati. Ad esempio, se ti aspetti un trend di crescita esponenziale nel tuo set di dati,
Infine, scegliere la funzione corretta per adattarsi ai dati è importante quanto eseguire correttamente i calcoli dell'interpolazione o dei minimi quadrati. Ciò consente anche la possibilità di estrapolazione (cauta). Considera la seguente situazione. Dati sulla popolazione (in milioni di persone) per gli Stati Uniti dal 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'uso di un adattamento esponenziale dei minimi quadrati linearizzati N(t)=A*exp(B*t)
o di un interpolante polinomiale del 10 ° ordine produce i seguenti risultati:
La crescita della popolazione degli Stati Uniti non è del tutto esponenziale, ma ti lascerò essere il giudice della misura migliore.