Quando l'interpolazione della spline cubica è migliore di un polinomio interpolante?


9

La seguente trama è una leggera variazione di un esempio in un libro di testo. L'autore ha usato questo esempio per illustrare che un polinomio interpolante su campioni equidistanti presenta ampie oscillazioni vicino alle estremità dell'intervallo di interpolazione. Naturalmente l'interpolazione spline cubica fornisce una buona approssimazione per l'intero intervallo. Per anni, ho pensato che l'interpolazione polinomiale di alto ordine su campioni equidistanti dovesse essere evitata per il motivo illustrato qui.

inserisci qui la descrizione dell'immagine

Tuttavia, di recente ho trovato molti esempi di segnali bandlimited in cui un polinomio di interpolazione di alto ordine fornisce un errore di approssimazione minore dell'interpolazione cubica-spline. Tipicamente un polinomio di interpolazione è più accurato su tutto l'intervallo di interpolazione quando la frequenza di campionamento è sufficientemente elevata. Ciò sembra valere quando i campioni sono equidistanti da una frequenza di campionamento almeno 3 volte maggiore della frequenza di Nyquist del segnale. Inoltre, il vantaggio rispetto all'interpolazione spline cubica migliora con l'aumentare della (frequenza di campionamento) / (frequenza di Nyquist).

Ad esempio, confronto l'interpolazione cubico-spline con un polinomio interpolante per un'onda sinusoidale con una frequenza di Nyquist di 2 Hz e una frequenza di campionamento di 6,5 Hz. Tra i punti di campionamento, il polinomio interpolante sembra esattamente lo stesso del segnale reale. inserisci qui la descrizione dell'immagine


Di seguito comparo l'errore nelle due approssimazioni. Come nel primo esempio, l'interpolazione polinomiale fa la cosa peggiore vicino all'inizio e alla fine dell'intervallo di campionamento. Tuttavia, il polinomio interpolante presenta meno errori di una spline cubica sull'intero intervallo di campionamento. Il polinomio interpolante presenta anche meno errori quando si estrapola in un intervallo ridotto. Ho scoperto un fatto ben noto? In tal caso, dove posso leggerlo?

inserisci qui la descrizione dell'immagine


Stai approssimando una formula o dati? Data una formula, come la tua, puoi sempre utilizzare spline più avanzate in cui vengono presi in considerazione anche i derivati ​​di ordine superiore. Dovresti anche verificare il fatto che la spline cubica minimizzi una certa funzione di "energia". Guarda wikipedia en.wikipedia.org/wiki/Spline_interpolation . Quindi, in un certo senso, minimizzazione della curvatura, non si può fare di meglio. Un'interpretazione alternativa è che le spline cubiche sono state / sono utilizzate per il montaggio; non approssimativo. "Adattamento" implica l'ottimizzazione di una determinata metrica.
rrogers

@rrogers, stavo pensando che un polinomio interpolante sarebbe un approccio migliore quando si vuole stimare la funzione dai campioni misurati e la larghezza di banda del segnale è nota per essere inferiore a 1/6 della frequenza di campionamento. It
Ted Ersek,

±

@TedErsek A titolo pratico, affrontando il commento di Ted Ersek; hai provato l'approssimazione polinomiale razionale? A proposito: ho la copia gratuita di un programma di stima della formula curva di un anno fa che fa davvero abbastanza bene. Il programma è passato dalla beta al pagamento, quindi non ho la versione attuale.
rrogers

@JasonR intendevo rivolgermi al mio ultimo commento. Di nuovo sull'argomento, in ogni caso, ci sono en.wikipedia.org/wiki/Chebyshev_polynomials che forniscono approssimazioni di errori uniformi (min / max) nei polinomi se si conosce la funzione. Ma se conosci la funzione puoi sempre sintetizzare un "filtro abbinato".
rrogers

Risposte:


4

Il fenomeno in discussione è il fenomeno di Runge .

npeccato(ωt)ωn 125t2+1n5nn!,n!nn

Se una funzione ha solo derivate continue, quindi l'approccio concorrenziale, l'interpolazione spline polinomiale per pezzo converge sempre se un piccolo numero fisso delle sue derivate iniziali è limitato nell'intervallo di interesse, vedi l' articolo di Wikipedia sull'interpolazione lineare come esempio.

Se entrambi i metodi convergono, allora l'interpolazione polinomiale (non a tratti) presenta il vantaggio di un grado polinomiale più elevato se si utilizzano molti campioni e può fornire una migliore approssimazione, come si è visto nell'esempio sinusoidale. Potresti anche essere interessato a LN Trefethen, Due risultati sull'interpolazione polinomiale in punti equidistanti , Journal of Approximation Theory Volume 65, Numero 3, Giugno 1991, Pagine 247-260. Citazione:

eioαX(αR),0nα

Hai 6,5 campioni per lunghezza d'onda.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.