Interpolación - Interpolation

En el campo matemático del análisis numérico , la interpolación es un tipo de estimación , un método para construir (encontrar) nuevos puntos de datos basados ​​en el rango de un conjunto discreto de puntos de datos conocidos.

En ingeniería y ciencia , a menudo se tienen varios puntos de datos, obtenidos por muestreo o experimentación , que representan los valores de una función para un número limitado de valores de la variable independiente . A menudo se requiere interpolar ; es decir, estimar el valor de esa función para un valor intermedio de la variable independiente.

Un problema estrechamente relacionado es la aproximación de una función complicada por una función simple. Suponga que se conoce la fórmula de alguna función dada, pero es demasiado complicada para evaluarla de manera eficiente. Se pueden interpolar algunos puntos de datos de la función original para producir una función más simple que todavía está bastante cerca de la original. La ganancia resultante en simplicidad puede superar la pérdida por error de interpolación y ofrecer un mejor rendimiento en el proceso de cálculo.

Interpolación de un conjunto finito de puntos en un epitrocoide . Los puntos en rojo están conectados por curvas spline interpoladas en azul que se deducen solo de los puntos rojos. Las curvas interpoladas tienen fórmulas polinomiales mucho más simples que las de la curva epitrocoide original.

Ejemplo

Esta tabla da algunos valores de una función desconocida .

Trace los puntos de datos como se indica en la tabla.
0 0
1 0 . 8415
2 0 . 9093
3 0 . 1411
4 −0 . 7568
5 −0 . 9589
6 −0 . 2794

La interpolación proporciona un medio para estimar la función en puntos intermedios, como .

Describimos algunos métodos de interpolación, que se diferencian en propiedades tales como: precisión, costo, número de puntos de datos necesarios y suavidad de la función interpolante resultante .

Interpolación constante por partes

Interpolación constante por partes o interpolación del vecino más cercano .

El método de interpolación más simple es ubicar el valor de datos más cercano y asignar el mismo valor. En problemas simples, es poco probable que se utilice este método, ya que la interpolación lineal (ver más abajo) es casi tan fácil, pero en la interpolación multivariante de dimensiones superiores , esta podría ser una opción favorable por su velocidad y simplicidad.

Interpolación linear

Gráfico de los datos con interpolación lineal superpuesta

Uno de los métodos más simples es la interpolación lineal (a veces conocida como lerp). Considere el ejemplo anterior de estimación de f (2.5). Dado que 2.5 está a medio camino entre 2 y 3, es razonable tomar f (2.5) a medio camino entre f (2) = 0.9093 yf (3) = 0.1411, lo que produce 0.5252.

Generalmente, la interpolación lineal toma dos puntos de datos, digamos ( x a , y a ) y ( x b , y b ), y el interpolante viene dado por:

Esta ecuación anterior establece que la pendiente de la nueva línea entre y es la misma que la pendiente de la línea entre y

La interpolación lineal es rápida y sencilla, pero no muy precisa. Otra desventaja es que el interpolante no es diferenciable en el punto x k .

La siguiente estimación de error muestra que la interpolación lineal no es muy precisa. Denote la función que queremos interpolar por g , y suponga que x se encuentra entre x a y x b y que g es dos veces diferenciable de forma continua. Entonces el error de interpolación lineal es

En palabras, el error es proporcional al cuadrado de la distancia entre los puntos de datos. El error en algunos otros métodos, incluida la interpolación polinomial y la interpolación spline (que se describen a continuación), es proporcional a las potencias más altas de la distancia entre los puntos de datos. Estos métodos también producen interpolantes más suaves.

Interpolación polinomial

Gráfico de los datos con interpolación polinomial aplicada

La interpolación polinómica es una generalización de la interpolación lineal. Tenga en cuenta que el interpolante lineal es una función lineal . Ahora reemplazamos este interpolante con un polinomio de mayor grado .

Considere nuevamente el problema mencionado anteriormente. El siguiente polinomio de sexto grado pasa por los siete puntos:

Sustituyendo x = 2.5, encontramos que f (2.5) = ~ 0.59678.

Generalmente, si tenemos n puntos de datos, hay exactamente un polinomio de grado como máximo n −1 pasando por todos los puntos de datos. El error de interpolación es proporcional a la distancia entre los puntos de datos a la potencia n . Además, el interpolante es un polinomio y, por tanto, infinitamente diferenciable. Entonces, vemos que la interpolación polinómica supera la mayoría de los problemas de la interpolación lineal.

Sin embargo, la interpolación polinómica también tiene algunas desventajas. Calcular el polinomio de interpolación es computacionalmente costoso (ver complejidad computacional ) en comparación con la interpolación lineal. Además, la interpolación polinomial puede exhibir artefactos oscilatorios, especialmente en los puntos finales (ver fenómeno de Runge ).

La interpolación polinomial puede estimar máximos y mínimos locales que están fuera del rango de las muestras, a diferencia de la interpolación lineal. Por ejemplo, el interpolante anterior tiene un máximo local en x ≈ 1.566, f ( x ) ≈ 1.003 y un mínimo local en x ≈ 4.708, f ( x ) ≈ −1.003. Sin embargo, estos máximos y mínimos pueden exceder el rango teórico de la función; por ejemplo, una función que siempre es positiva puede tener un interpolante con valores negativos, y cuya inversa, por tanto, contiene falsas asíntotas verticales .

De manera más general, la forma de la curva resultante, especialmente para valores muy altos o bajos de la variable independiente, puede ser contraria al sentido común; es decir, a lo que se conoce sobre el sistema experimental que ha generado los puntos de datos. Estas desventajas se pueden reducir mediante el uso de interpolación spline o restringiendo la atención a los polinomios de Chebyshev .

Interpolación de splines

Gráfico de los datos con interpolación spline aplicada

Recuerde que la interpolación lineal usa una función lineal para cada uno de los intervalos [ x k , x k + 1 ]. La interpolación de splines utiliza polinomios de bajo grado en cada uno de los intervalos y elige las piezas polinomiales de modo que encajen sin problemas. La función resultante se llama spline.

Por ejemplo, la ranura cúbica natural es cúbica a trozos y diferenciable dos veces de forma continua. Además, su segunda derivada es cero en los puntos finales. La spline cúbica natural que interpola los puntos en la tabla anterior viene dada por

En este caso obtenemos f (2.5) = 0.5972.

Al igual que la interpolación polinomial, la interpolación spline incurre en un error menor que la interpolación lineal, mientras que el interpolante es más suave y más fácil de evaluar que los polinomios de alto grado utilizados en la interpolación polinomial. Sin embargo, la naturaleza global de las funciones básicas conduce a un mal condicionamiento. Esto se mitiga completamente mediante el uso de splines de soporte compacto, como se implementan en Boost.Math y se discuten en Kress.

Aproximación de funciones

La interpolación es una forma común de aproximar funciones. Dada una función con un conjunto de puntos, se puede formar una función tal que para (es decir, que se interpola en estos puntos). En general, no es necesario que un interpolante sea una buena aproximación, pero existen condiciones bien conocidas y, a menudo, razonables en las que lo será. Por ejemplo, si (cuatro veces continuamente diferenciable), la interpolación spline cúbica tiene un límite de error dado por donde y es una constante.

Vía procesos gaussianos

El proceso gaussiano es una poderosa herramienta de interpolación no lineal. Muchas herramientas de interpolación populares son en realidad equivalentes a procesos gaussianos particulares. Los procesos gaussianos pueden usarse no solo para ajustar un interpolante que pasa exactamente a través de los puntos de datos dados, sino también para la regresión; es decir, para ajustar una curva a través de datos ruidosos. En la comunidad geoestadística, el proceso de regresión gaussiano también se conoce como Kriging .

Otras formas

Se pueden construir otras formas de interpolación eligiendo una clase diferente de interpolantes. Por ejemplo, la interpolación racional es la interpolación por funciones racionales usando aproximante de Padé , y la interpolación trigonométrica es la interpolación por polinomios trigonométricos usando series de Fourier . Otra posibilidad es utilizar wavelets .

La fórmula de interpolación de Whittaker-Shannon se puede utilizar si el número de puntos de datos es infinito o si la función a interpolar tiene soporte compacto.

A veces, conocemos no solo el valor de la función que queremos interpolar, en algunos puntos, sino también su derivada. Esto conduce a problemas de interpolación de Hermite .

Cuando cada punto de datos es en sí mismo una función, puede ser útil ver el problema de interpolación como un problema de advección parcial entre cada punto de datos. Esta idea conduce al problema de interpolación de desplazamiento utilizado en la teoría del transporte .

En dimensiones superiores

Comparación de algunas interpolaciones unidimensionales y bidimensionales.
Los puntos negros y rojos / amarillos / verdes / azules corresponden al punto interpolado y a las muestras vecinas, respectivamente.
Sus alturas sobre el suelo corresponden a sus valores.

La interpolación multivariante es la interpolación de funciones de más de una variable. Los métodos incluyen interpolación bilineal e interpolación bicúbica en dos dimensiones e interpolación trilineal en tres dimensiones. Se pueden aplicar a datos en cuadrícula o dispersos.

En procesamiento de señales digitales

En el dominio del procesamiento de señales digitales, el término interpolación se refiere al proceso de convertir una señal digital muestreada (como una señal de audio muestreada) a la de una frecuencia de muestreo más alta ( Upsampling ) utilizando varias técnicas de filtrado digital (por ejemplo, convolución con una señal de impulso de frecuencia limitada). En esta aplicación, existe un requisito específico de que el contenido armónico de la señal original se conserve sin crear un contenido armónico con alias de la señal original por encima del límite de Nyquist original de la señal (es decir, por encima de fs / 2 de la frecuencia de muestreo de la señal original) . Una discusión temprana y bastante elemental sobre este tema se puede encontrar en el libro Multirate Digital Signal Processing de Rabiner y Crochiere .

Conceptos relacionados

El término extrapolación se utiliza para encontrar puntos de datos fuera del rango de puntos de datos conocidos.

En los problemas de ajuste de curvas , la restricción de que el interpolante debe atravesar exactamente los puntos de datos se relaja. Solo se requiere acercarse a los puntos de datos lo más cerca posible (dentro de algunas otras restricciones). Esto requiere parametrizar los interpolantes potenciales y tener alguna forma de medir el error. En el caso más simple, esto conduce a una aproximación por mínimos cuadrados .

La teoría de la aproximación estudia cómo encontrar la mejor aproximación a una función dada por otra función de alguna clase predeterminada, y qué tan buena es esta aproximación. Esto claramente produce un límite sobre qué tan bien el interpolante puede aproximarse a la función desconocida.

Generalización

Si consideramos como una variable en un espacio topológico , y la función se mapea a un espacio de Banach , entonces el problema se trata como "interpolación de operadores". Los resultados clásicos sobre la interpolación de operadores son el teorema de Riesz-Thorin y el teorema de Marcinkiewicz . También hay muchos otros resultados posteriores.

Ver también

Referencias

enlaces externos