Interpolação - Interpolation

No campo matemático da análise numérica , a interpolação é um tipo de estimativa , um método de construir (encontrar) novos pontos de dados com base no intervalo de um conjunto discreto de pontos de dados conhecidos.

Na engenharia e nas ciências , muitas vezes temos vários pontos de dados, obtidos por amostragem ou experimentação , que representam os valores de uma função para um número limitado de valores da variável independente . Freqüentemente, é necessário interpolar ; ou seja, estime o valor dessa função para um valor intermediário da variável independente.

Um problema intimamente relacionado é a aproximação de uma função complicada por uma função simples. Suponha que a fórmula para alguma função dada seja conhecida, mas muito complicada para ser avaliada com eficiência. Alguns pontos de dados da função original podem ser interpolados para produzir uma função mais simples que ainda está bastante próxima da original. O ganho resultante em simplicidade pode compensar a perda de erro de interpolação e dar melhor desempenho no processo de cálculo.

Uma interpolação de um conjunto finito de pontos em um epitrocoide . Os pontos em vermelho são conectados por curvas spline interpoladas azuis deduzidas apenas dos pontos vermelhos. As curvas interpoladas têm fórmulas polinomiais muito mais simples do que a curva epitrocoide original.

Exemplo

Esta tabela fornece alguns valores de uma função desconhecida .

Plote os pontos de dados conforme fornecido na tabela.
0 0
1 0 . 8415
2 0 . 9093
3 0 . 1411
4 -0 . 7568
5 -0 . 9589
6 -0 . 2794

A interpolação fornece um meio de estimar a função em pontos intermediários, como .

Descrevemos alguns métodos de interpolação, diferindo em propriedades como: precisão, custo, número de pontos de dados necessários e suavidade da função interpolante resultante .

Interpolação constante por partes

Interpolação constante por partes ou interpolação do vizinho mais próximo .

O método de interpolação mais simples é localizar o valor de dados mais próximo e atribuir o mesmo valor. Em problemas simples, é improvável que esse método seja usado, pois a interpolação linear (veja abaixo) é quase tão fácil, mas na interpolação multivariada de dimensão superior , esta poderia ser uma escolha favorável por sua velocidade e simplicidade.

Interpolação linear

Gráfico dos dados com interpolação linear sobreposta

Um dos métodos mais simples é a interpolação linear (às vezes conhecida como lerp). Considere o exemplo acima de estimativa de f (2,5). Como 2,5 está no meio do caminho entre 2 e 3, é razoável considerar f (2,5) no meio do caminho entre f (2) = 0,9093 e f (3) = 0,1411, o que resulta em 0,5252.

Geralmente, a interpolação linear leva dois pontos de dados, digamos ( x a , y a ) e ( x b , y b ), e o interpolante é dado por:

Esta equação anterior afirma que a inclinação da nova linha entre e é a mesma que a inclinação da linha entre e

A interpolação linear é rápida e fácil, mas não é muito precisa. Outra desvantagem é que o interpolante não é diferenciável no ponto x k .

A estimativa de erro a seguir mostra que a interpolação linear não é muito precisa. Denote a função que queremos interpolar por ge suponha que x está entre x a e x b e que g é duas vezes continuamente diferenciável. Então, o erro de interpolação linear é

Em palavras, o erro é proporcional ao quadrado da distância entre os pontos de dados. O erro em alguns outros métodos, incluindo interpolação polinomial e interpolação spline (descrito abaixo), é proporcional a potências mais altas da distância entre os pontos de dados. Esses métodos também produzem interpolantes mais suaves.

Interpolação polinomial

Gráfico dos dados com interpolação polinomial aplicada

A interpolação polinomial é uma generalização da interpolação linear. Observe que o interpolante linear é uma função linear . Agora substituímos este interpolante por um polinômio de grau superior .

Considere novamente o problema dado acima. O seguinte polinômio de sexto grau passa por todos os sete pontos:

Substituindo x = 2,5, descobrimos que f (2,5) = ~ 0,59678.

Geralmente, se temos n pontos de dados, há exatamente um polinômio de grau no máximo n −1 passando por todos os pontos de dados. O erro de interpolação é proporcional à distância entre os pontos de dados à potência n . Além disso, o interpolante é um polinômio e, portanto, infinitamente diferenciável. Então, vemos que a interpolação polinomial supera a maioria dos problemas de interpolação linear.

No entanto, a interpolação polinomial também tem algumas desvantagens. Calcular o polinômio de interpolação é computacionalmente caro (consulte a complexidade computacional ) em comparação com a interpolação linear. Além disso, a interpolação polinomial pode exibir artefatos oscilatórios, especialmente nos pontos finais (veja o fenômeno de Runge ).

A interpolação polinomial pode estimar máximos e mínimos locais que estão fora do intervalo das amostras, ao contrário da interpolação linear. Por exemplo, o interpolante acima tem um máximo local em x ≈ 1,566, f ( x ) ≈ 1,003 e um mínimo local em x ≈ 4,708, f ( x ) ≈ −1,003. No entanto, esses máximos e mínimos podem exceder a faixa teórica da função; por exemplo, uma função que é sempre positiva pode ter um interpolante com valores negativos e cujo inverso, portanto, contém assíntotas verticais falsas .

Mais geralmente, a forma da curva resultante, especialmente para valores muito altos ou baixos da variável independente, pode ser contrária ao senso comum; isto é, ao que se sabe sobre o sistema experimental que gerou os pontos de dados. Essas desvantagens podem ser reduzidas usando interpolação de spline ou restringindo a atenção aos polinômios de Chebyshev .

Interpolação de spline

Gráfico dos dados com interpolação de spline aplicada

Lembre-se de que a interpolação linear usa uma função linear para cada um dos intervalos [ x k , x k + 1 ]. A interpolação de spline usa polinômios de baixo grau em cada um dos intervalos e escolhe as partes do polinômio de modo que se encaixem perfeitamente. A função resultante é chamada de spline.

Por exemplo, a spline cúbica natural é cúbica por partes e duas vezes continuamente diferenciável. Além disso, sua segunda derivada é zero nos pontos finais. O spline cúbico natural interpolando os pontos na tabela acima é dado por

Nesse caso, obtemos f (2,5) = 0,5972.

Como a interpolação polinomial, a interpolação spline incorre em um erro menor do que a interpolação linear, enquanto o interpolante é mais suave e fácil de avaliar do que os polinômios de alto grau usados ​​na interpolação polinomial. No entanto, a natureza global das funções básicas leva ao mau condicionamento. Isso é completamente atenuado pelo uso de splines de suporte compacto, como são implementados em Boost.Math e discutidos em Kress.

Aproximação de função

A interpolação é uma forma comum de aproximar funções. Dada uma função com um conjunto de pontos, pode-se formar uma função tal que para (isto é, que interpola nesses pontos). Em geral, um interpolante não precisa ser uma boa aproximação, mas existem condições bem conhecidas e muitas vezes razoáveis ​​para isso. Por exemplo, if (quatro vezes continuamente diferenciável) então a interpolação de spline cúbica tem um limite de erro dado por onde e é uma constante.

Via processos gaussianos

O processo gaussiano é uma ferramenta poderosa de interpolação não linear. Muitas ferramentas de interpolação populares são, na verdade, equivalentes a processos Gaussianos específicos. Os processos gaussianos podem ser usados ​​não apenas para ajustar um interpolante que passa exatamente pelos pontos de dados fornecidos, mas também para regressão; isto é, para ajustar uma curva por meio de dados ruidosos. Na comunidade geoestatística, a regressão do processo gaussiano também é conhecida como Kriging .

Outras formas

Outras formas de interpolação podem ser construídas escolhendo uma classe diferente de interpolantes. Por exemplo, a interpolação racional é a interpolação por funções racionais usando o aproximante Padé , e a interpolação trigonométrica é a interpolação por polinômios trigonométricos usando a série de Fourier . Outra possibilidade é usar wavelets .

A fórmula de interpolação de Whittaker – Shannon pode ser usada se o número de pontos de dados for infinito ou se a função a ser interpolada tiver suporte compacto.

Às vezes, sabemos não apenas o valor da função que queremos interpolar, em alguns pontos, mas também sua derivada. Isso leva a problemas de interpolação de Hermite .

Quando cada ponto de dados é em si uma função, pode ser útil ver o problema de interpolação como um problema de advecção parcial entre cada ponto de dados. Essa ideia leva ao problema de interpolação de deslocamento usado na teoria de transporte .

Em dimensões superiores

Comparação de algumas interpolações de 1 e 2 dimensões.
Os pontos pretos e vermelhos / amarelos / verdes / azuis correspondem ao ponto interpolado e às amostras vizinhas, respectivamente.
Suas alturas acima do solo correspondem aos seus valores.

A interpolação multivariada é a interpolação de funções de mais de uma variável. Os métodos incluem interpolação bilinear e interpolação bicúbica em duas dimensões e interpolação trilinear em três dimensões. Eles podem ser aplicados a dados em grade ou dispersos.

Em processamento de sinal digital

No domínio do processamento de sinal digital, o termo interpolação se refere ao processo de conversão de um sinal digital amostrado (como um sinal de áudio amostrado) para uma taxa de amostragem mais alta ( Upsampling ) usando várias técnicas de filtragem digital (por exemplo, convolução com um sinal de impulso de frequência limitada). Nesta aplicação, há um requisito específico de que o conteúdo harmônico do sinal original seja preservado sem criar conteúdo harmônico com alias do sinal original acima do limite de Nyquist original do sinal (ou seja, acima de fs / 2 da taxa de amostra do sinal original) . Uma discussão inicial e bastante elementar sobre este assunto pode ser encontrada no livro de Rabiner e Crochiere, Multirate Digital Signal Processing .

Conceitos relacionados

O termo extrapolação é usado para localizar pontos de dados fora da faixa de pontos de dados conhecidos.

Em problemas de ajuste de curva , a restrição de que o interpolante deve passar exatamente pelos pontos de dados é relaxada. É necessário apenas abordar os pontos de dados o mais próximo possível (dentro de algumas outras restrições). Isso requer parametrizar os interpolantes potenciais e ter alguma forma de medir o erro. No caso mais simples, isso leva à aproximação de mínimos quadrados .

A teoria da aproximação estuda como encontrar a melhor aproximação para uma determinada função por outra função de alguma classe predeterminada, e quão boa é essa aproximação. Isso claramente resulta em um limite de quão bem o interpolante pode se aproximar da função desconhecida.

Generalização

Se considerarmos como uma variável em um espaço topológico , e o mapeamento da função para um espaço de Banach , então o problema é tratado como "interpolação de operadores". Os resultados clássicos sobre interpolação de operadores são o teorema de Riesz – Thorin e o teorema de Marcinkiewicz . Existem também muitos outros resultados subsequentes.

Veja também

Referências

links externos