Interpolación

Ajustar Compartir Imprimir Citar

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 tiene una cantidad de puntos de datos, obtenidos mediante muestreo o experimentación, que representan los valores de una función para una cantidad limitada 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. Supongamos 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 aún se acerque bastante a la original. La ganancia resultante en simplicidad puede compensar la pérdida por error de interpolación y brindar un mejor rendimiento en el proceso de cálculo.

Interpolación de un conjunto finito de puntos en una epitrocóidea. Los puntos en rojo están conectados por curvas de especias interpoladas azules deducidas sólo desde los puntos rojos. Las curvas interpoladas tienen fórmulas polinómicas mucho más simples que las de la curva epitrocóide original.

Ejemplo

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

Plot of the data points as given in the table
00
10.8415
20.9093
30.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 difieren en propiedades tales como: precisión, costo, número de puntos de datos necesarios y suavidad de la función de interpolación resultante.

Interpolación constante por partes

Interpolación constante pócica o interpolación vecinal más cercana

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 a continuación) es casi tan fácil, pero en la interpolación multivariante de mayor dimensión, esta podría ser una opción favorable por su velocidad y simplicidad.

Interpolación lineal

Parcela 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 y f(3) = 0,1411, lo que da 0,5252.

Por lo general, la interpolación lineal toma dos puntos de datos, digamos (xa,y< i>a) y (xb,y< i>b), y el interpolante viene dado por:

Esta ecuación anterior indica que la pendiente de la nueva línea entre y es el mismo que la pendiente de la línea entre y

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

La siguiente estimación del 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 xa y xb y que g es dos veces diferenciable continuamente. 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 (descrita a continuación), es proporcional a potencias más altas de la distancia entre los puntos de datos. Estos métodos también producen interpoladores más suaves.

Interpolación de polinomios

Plot of the data with polynomial interpolation applied

La interpolación polinomial 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 de nuevo el problema anterior. El siguiente polinomio de sexto grado pasa por los siete puntos:

Sustituyendo x = 2,5, encontramos que f(2,5) = ~0,59678.

Por lo general, si tenemos n puntos de datos, hay exactamente un polinomio de grado como máximo n−1 que pasa 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 polinomial supera la mayoría de los problemas de la interpolación lineal.

Sin embargo, la interpolación de polinomios 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 de polinomios puede exhibir artefactos oscilatorios, especialmente en los puntos finales (ver el 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 lo tanto contiene asíntotas verticales falsas.

Más generalmente, 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 sabe sobre el sistema experimental que ha generado los puntos de datos. Estas desventajas se pueden reducir utilizando la interpolación spline o restringiendo la atención a los polinomios de Chebyshev.

Interpolación de spline

Parcela de los datos con interpolación especiada aplicada

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

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

En este caso obtenemos f(2,5) = 0,5972.

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

Interpolación mimética

Dependiendo de la discretización subyacente de los campos, es posible que se requieran diferentes interpoladores. A diferencia de otros métodos de interpolación, que estiman funciones en puntos objetivo, la interpolación mimética evalúa la integral de campos en líneas, áreas o volúmenes objetivo, según el tipo de campo (escalar, vectorial, pseudovectorial o pseudoescalar).

Una característica clave de la interpolación mimética es que se satisfacen las identidades de cálculo vectorial, incluidas las identidades de Stokes' teorema y el teorema de la divergencia. Como resultado, la interpolación mimética conserva las integrales de línea, área y volumen. La conservación de las integrales de línea puede ser deseable cuando se interpola el campo eléctrico, por ejemplo, ya que la integral de línea da la diferencia de potencial eléctrico en los extremos de la ruta de integración. La interpolación mimética asegura que el error de estimar la integral de línea de un campo eléctrico es el mismo que el error obtenido al interpolar el potencial en los puntos extremos del camino de integración, independientemente de la longitud del camino de integración.

La interpolación lineal, bilineal y trilineal también se considera mimética, incluso si se conservan los valores del campo (no la integral del campo). Aparte de la interpolación lineal, la interpolación ponderada por área puede considerarse como uno de los primeros métodos de interpolación mimética que se han desarrollado.

Aproximación de funciones

La interpolación es una forma común de funciones aproximadas. Dada la función con un conjunto de puntos uno puede formar una función tales que para (es decir, eso interpolados en estos puntos). En general, un interpolante no necesita ser una buena aproximación, pero hay condiciones bien conocidas y a menudo razonables donde lo hará. Por ejemplo, si (cuatro veces continuamente diferenciable) entonces la interpolación de espia cúbica tiene un error ligado por Donde y es una constante.

A través de procesos gaussianos

El proceso gaussiano es una potente herramienta de interpolación no lineal. Muchas herramientas de interpolación populares son en realidad equivalentes a procesos gaussianos particulares. Los procesos gaussianos se pueden usar no solo para ajustar un interpolante que pasa exactamente por 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 de geoestadística, la regresión del proceso gaussiano también se conoce como Kriging.

Otras formas

Se pueden construir otras formas de interpolación eligiendo una clase diferente de interpoladores. Por ejemplo, la interpolación racional es interpolación por funciones racionales usando la aproximación de Padé, y la interpolación trigonométrica es 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 la cantidad de puntos de datos es infinita o si la función que se va a interpolar tiene soporte compacto.

A veces, no solo conocemos 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 de 1 y 2 dimensiones.
Negro y rojo/amarillo/verde/azul los puntos corresponden al punto interpolado y las muestras vecinas, respectivamente.
Sus alturas por encima del suelo corresponden a sus valores.

La interpolación multivariada es la interpolación de funciones de más de una variable. Los métodos incluyen la interpolación bilineal y la interpolación bicúbica en dos dimensiones, y la interpolación trilineal en tres dimensiones. Se pueden aplicar a datos redondeados o dispersados. La interpolación mimética se generaliza a Espacios dimensionales donde .

En procesamiento de señal digital

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) en una de mayor frecuencia de muestreo (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 usa para encontrar puntos de datos fuera del rango de puntos de datos conocidos.

En los problemas de ajuste de curvas, se relaja la restricción de que el interpolante tiene que atravesar exactamente los puntos de datos. Solo se requiere acercarse a los puntos de datos lo más cerca posible (dentro de algunas otras restricciones). Esto requiere parametrizar los potenciales interpolantes y tener alguna forma de medir el error. En el caso más simple, esto conduce a la 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 determinada mediante 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 lo consideramos como variable en un espacio topológico, y la función mapeo a un espacio de Banach, entonces el problema se trata como "interpolación de operadores". Los resultados clásicos sobre la interpolación de los operadores son el teorema Riesz-Thorin y el teorema Marcinkiewicz. También hay muchos otros resultados posteriores.