Quando a interpolação cúbica de splines é melhor que um polinômio interpolador?


9

O gráfico a seguir é uma pequena variação de um exemplo em um livro de texto. O autor usou este exemplo para ilustrar que um polinômio interpolador sobre amostras igualmente espaçadas tem grandes oscilações próximas às extremidades do intervalo de interpolação. Obviamente, a interpolação cúbica de splines fornece uma boa aproximação ao longo de todo o intervalo. Durante anos, pensei que a interpolação polinomial de alta ordem sobre amostras igualmente espaçadas deveria ser evitada pelo motivo ilustrado aqui.

insira a descrição da imagem aqui

No entanto, recentemente encontrei muitos exemplos de sinais ilimitados de banda em que um polinômio de interpolação de alta ordem gera menos erro de aproximação do que a interpolação de spline cúbico. Normalmente, um polinômio de interpolação é mais preciso em todo o intervalo de interpolação quando a taxa de amostragem é suficientemente alta. Isso parece válido quando as amostras são igualmente espaçadas com uma taxa de amostragem pelo menos três vezes maior que a frequência Nyquist do sinal. Além disso, a vantagem sobre a interpolação cúbica de spline melhora à medida que (taxa de amostragem) / (frequência de Nyquist) aumenta.

Como exemplo, comparo a interpolação de spline cúbico com um polinômio de interpolação para uma onda senoidal com uma frequência Nyquist de 2 Hz e uma taxa de amostragem de 6,5 Hz. Entre os pontos de amostra, o polinômio interpolador parece exatamente o mesmo que o sinal real. insira a descrição da imagem aqui


Abaixo eu comparo o erro nas duas aproximações. Como no primeiro exemplo, a interpolação polinomial piora quase no início e no final do intervalo da amostra. No entanto, o polinômio de interpolação tem menos erro que um spline cúbico em todo o intervalo de amostra. O polinômio de interpolação também apresenta menos erro ao extrapolar em um pequeno intervalo. Descobri um fato bem conhecido? Se sim, onde posso ler sobre isso?

insira a descrição da imagem aqui


Você está aproximando uma fórmula ou dados? Dada uma fórmula, como você, você sempre pode usar splines mais avançados, onde as derivadas de ordem superior também são levadas em consideração. Você também deve verificar o fato de que o spline cúbico minimiza uma certa função de "energia". Veja a wikipedia en.wikipedia.org/wiki/Spline_interpolation . Assim, em certo sentido, a minimização da curvatura, você não pode fazer melhor. Uma interpretação alternativa é que splines cúbicos foram / são usados ​​para ajuste; não se aproximando. "Ajustar" implica uma certa métrica a ser otimizada.
Rogers #

@rrogers, eu estava pensando que um polinômio de interpolação seria uma abordagem melhor quando se deseja estimar a função a partir de amostras medidas e a largura de banda do sinal é menor que 1/6 da taxa de amostragem. É o seguinte
Ted Ersek

@TedErsek: Uma consideração qualitativa: por natureza, as funções polinomiais divergem para como a variável abscissa . Esse efeito é exacerbado à medida que a ordem polinomial aumenta. Observe que no seu primeiro exemplo, o sinal a ser aproximado está decaindo para zero próximo ao final do intervalo de interpolação; isso é incompatível com o comportamento assintótico do interpolante. O segundo gráfico tem uma inclinação acentuada e valores diferentes de zero perto das bordas do intervalo, para que você tenha uma melhor aproximação. Não é muito teórico aqui, apenas uma observação. ±
Jason R #

@TedErsek Como um aparte prático, abordando o comentário de Ted Ersek; você já tentou aproximação polinomial racional. BTW: Eu tenho a cópia gratuita de um programa de estimativa de fórmulas de curvas de um ano atrás que realmente faz muito bem. O programa passou da versão beta para o pagamento, por isso não tenho a versão atual.
Rogers #

@JasonR, eu pretendia endereçar meu último comentário para você. De volta ao tópico, Em qualquer caso, existem en.wikipedia.org/wiki/Chebyshev_polynomials que fornecem proporções uniformes de erro (mínimo / máximo) em polinômios, se você conhece a função. Mas se você conhece a função, pode sempre sintetizar um "filtro correspondente".
Rogers #

Respostas:


4

O fenômeno em discussão é o fenômeno de Runge .

O valor absoluto máximo da ésima derivada de é . Para a função de Runge o valor absoluto máximo da ésima derivada (par) é ondedenota fatorial. Este é um crescimento muito mais rápido. Somente se as derivadas crescem muito rápido aumentando , é possível que o erro de interpolação diverja à medida que a ordem de interpolação é aumentada. Exponencial em ainda não é muito rápido. Dê uma olhada em: James F. Epperson, No exemplo do Runge , The American Mathematics Monthly , vol. 94, 1987, pp. 329-341.pecado ( ω t ) ω n 1nsin(ωt)ωn n5nn! ,N! nn125t2+1n5nn!,n!nn

Se uma função tiver apenas derivadas contínuas, a abordagem competitiva, a interpolação de splines polinomiais por partes sempre convergirá se um pequeno número fixo de suas derivadas iniciais for limitado ao longo do intervalo de interesse, consulte o artigo da Wikipedia sobre interpolação linear como exemplo.

Se os dois métodos convergirem, a interpolação polinomial (não por partes) tem a vantagem de um grau polinomial mais alto se forem usadas muitas amostras e pode fornecer uma aproximação melhor, como você viu no seu exemplo senoidal. Você pode também estar interessado em LN Trefethen, Dois resultados sobre interpolação polinomial em pontos igualmente espaçados , Journal of Approximation Theory Volume 65, Edição 3, Junho de 1991, Páginas 247-260. Citar:

[...] na interpolação limitada por banda de funções exponenciais complexas o erro diminui para como se e somente se for pequeno o suficiente para fornecer pelo menos seis pontos por comprimento de onda.0 n αeiαx(αR),0nα

Você tem 6,5 amostras por comprimento de onda.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.