Estime los coeficientes de la serie Taylor a partir de muestras de una función


10

Digamos que tengo mediciones de una función y=y(x) , muestreada en con algo de ruido, que podría ser aproximada por una expansión de la serie Taylor. ¿Existe una forma aceptada de estimar los coeficientes para esa expansión a partir de mis mediciones?xi

Podría ajustar los datos a un polinomio, pero eso no es del todo correcto, porque para una serie de Taylor la aproximación debería mejorar cuanto más cerca esté de un punto central, digamos x = 0. Simplemente ajustar un polinomio trata todos los puntos por igual.

También podría estimar los diversos órdenes de derivados en mi punto de expansión, pero luego necesito tomar decisiones sobre qué filtros diferenciadores usar y cuántos coeficientes de filtro para cada uno. ¿Los filtros para las diferentes derivadas tendrían que encajar de alguna manera?

Entonces, ¿alguien sabe de los métodos establecidos para esto? Se agradecerán las explicaciones o referencias a los documentos.

ACLARACIÓN

En respuesta al comentario a continuación, mi muestreo es una ventana rectangular de una función infinita, que no está necesariamente limitada por banda pero no tiene componentes fuertes de alta frecuencia. Para ser más específico, estoy midiendo la varianza de un estimador (midiendo el desplazamiento en una señal de ultrasonido médico) en función de un parámetro del estimador (el nivel de deformación o tensión del tejido subyacente). Tengo una serie teórica de Taylor para la varianza en función de la deformación, y me gustaría compararla con lo que obtengo de la simulación.

Un ejemplo de juguete similar podría ser: digamos que tiene una función como ln (x), muestreada a intervalos en x con algo de ruido agregado. No sabe qué función es realmente y desea estimar su serie de Taylor alrededor de x = 5. Entonces, la función es suave y varía lentamente para una región alrededor del punto que le interesa (por ejemplo, 2 <x <8), pero no es necesariamente agradable fuera de la región.

Las respuestas han sido útiles, y algún tipo de ajuste polinomial de mínimos cuadrados es probablemente la ruta a seguir. Sin embargo, lo que haría que una serie de Taylor estimada fuera diferente de un ajuste polinómico normal es que debería poder eliminar los términos de orden superior y hacer que el polinomio aún se aproxime a la función original, solo dentro de un rango menor sobre su punto inicial.

Entonces, tal vez el enfoque sería hacer un ajuste polinómico lineal usando solo datos cercanos al punto inicial, seguido de un ajuste cuadrático con un poco más de datos, cúbico usando un poco más que eso, etc.


Algunas preguntas (que pueden o no ser relevantes): Por muestreado, ¿quiere decir que la función está / estaba limitada en la banda por debajo de alguna frecuencia Fs / 2? ¿Son sus muestras una ventana rectangular de una función infinita, una función repetitiva o la función completa?
hotpaw2

Como Dilip señaló en su respuesta, el uso de una expansión de la serie Taylor requiere que tenga conocimiento de la derivada de la función en todos los puntos de muestra. Supongo que podría utilizar su expresión teórica para las derivadas de y(x) , pero eso de alguna manera disminuye la utilidad de usar una simulación independiente para confirmar su teoría. Con el fin de emular mejor el comportamiento de la serie Taylor con respecto a los términos de orden superior, puede ser útil un enfoque como el que usted sugirió, utilizando diferentes órdenes de ajustes polinómicos.
Jason R

Respuestas:


8

En lugar de un ajuste polinómico exacto, puede usar un ajuste de mínimos cuadrados , que encontrará el polinomio de orden especificado que minimiza el error cuadrado total entre el ajuste y los pares medidos . Esto puede ayudar a mitigar los efectos del ruido en el ajuste.(xi,yi)

Dadas las medidas de una función y = f ( x ) en los valores de dominio x i ( i = 0 , 1 , , N ), elija un orden polinomial M N (si M = N , entonces está en el punto exacto ajuste polinómico, ya que los puntos N determinan de forma única un polinomio de orden M ). Luego, configure un sistema de ecuaciones que sean lineales en los coeficientes polinómicos deseados p k :yiy=f(x)xii=0,1,,NMNM=NNMpk

yi=pMxiM+pM1xiM1++p1xi+p0,i=0,1,,N

El problema de los mínimos cuadrados se puede resolver organizando las medidas en forma de matriz-vector:

A=[x0Mx0M1x01x1Mx1M1x11xNMxNM1xN1],y=[y0y1yN]

La solución de mínimos cuadrados genera el vector de coeficientes polinómicos que minimiza el error cuadrado total en el sistema lineal anterior. La solución se puede calcular como:[pM,pM1,,p0]

p~=(ATA)1ATy

Vale la pena señalar que la matriz también se conoce como la pseudoinverse de la matriz A . Luego puede usar el vector de coeficiente polinomial de mínimos cuadrados ˜ p para evaluar el polinomio en cualquier otro valor de x que desee.(ATA)1ATAp~x


1
En el caso de las abscisas equiespaciadas, esto no es diferente de aplicar el suavizado Savitzky-Golay en sus datos.

Más 1 para una buena respuesta. LSE es muy omnipresente de hecho.
Tarin Ziyaee

6

Ignora el ruido por ahora.

Dados puntos ( x i , y i ) donde x i son números distintos, puede, como usted dice, ajustar un polinomio f ( x ) de grado como máximo n a través de estos puntos. La interpolación de Lagrange, por ejemplo, es un método estándar para esto. Pero, se cree que los puntos están realmente en una curva y = g ( x ) donde g ( x ) no es necesariamente un polinomio (por ejemplo, podría ser e x o (n+1(xi,yi)xif(x)ny=g(x)g(x)ex(x+a)/(x+b)g(x)g(x)x=0g(0) g(k)(x)=dkg(x)dxk,k=1,2,x=0g(x)n+1xixi=0ig(0) g(k)(0)k=1,2,

Estimating the value of the derivatives of a function g(x) at x=0 from its values g(xi) at selected points is a well-studied problem in numerical analysis, and the formulas to be used are readily available. What is not described in detail, or more commonly, not mentioned at all in the vicinity of these formulas, is that these formulas are obtained by fitting a polynomial h(x)=khkxk to the known points and estimating g(k)(0) as h(k)(0)=k!hk. Put another way,

From n+1 points (xi,g(xi)) of g(x), we can develop the Taylor series for g(x) only up to the term of degree n, and the truncated Taylor series is just h(x), the polynomial that was fitted to the n+1 points.

So, what does fitting a polynomial mean? The standard fit is Lagrange interpolation which works well when there is no noise, the points xi are evenly spaced, and 0 is the median value of the xi. If noise is present, a least-squares fit of a polynomial of degree m<n (see the answer by JasonR for details) is often better, and if we want to emphasize accuracy in the vicinity of x=0, a weighted least-squares fit can be used. Weighting the error terms from points in the vicinity of 0 more than error terms from far away forces the minimization algorithm to produce an even better fit near 0 at the expense of poorer accuracy far away from 0. Of course, one also has to defend the choice of weighting function against naysayers who prefer a different weighting (or no weighting).

Example: Given 3 points (1,y1),(0,y0),(1,y1), the Lagrange interpolation formula gives

f(x)=y1x(x1)2y0(x21)+y1x(x+1)2=y0+y1y12x+y12y0+y12x2
where the coefficients of x and x2 are the "three-point" formulas for the first and second derivative as given in Table 25.2 of Abramowitz and Stegun's Handbook of Mathematical Functions, that is, the Lagrange interpolation formula is the truncated Taylor series for a function g(x) such that g(1)=y1,g(0)=y0,g(1)=y1.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.