Estimer les coefficients de la série de Taylor à partir d'échantillons d'une fonction

10

Disons que j'ai des mesures d'une fonction , échantillonnée à avec un peu de bruit, qui pourrait être approximée par une expansion de la série Taylor. Existe-t-il un moyen accepté d'estimer les coefficients de cette expansion à partir de mes mesures?y=y(x)xi

Je pourrais ajuster les données à un polynôme, mais ce n'est pas tout à fait correct, car pour une série de Taylor, l'approximation devrait s'améliorer à mesure que vous vous rapprochez d'un point central, disons x = 0. Le simple ajustement d'un polynôme traite chaque point de manière égale.

Je pourrais également estimer les différents ordres de dérivés à mon point d'expansion, mais je dois ensuite prendre des décisions sur les filtres de différenciation à utiliser et le nombre de coefficients de filtre pour chacun. Les filtres pour les différents dérivés devraient-ils s'emboîter d'une manière ou d'une autre?

Alors, quelqu'un connaît-il les méthodes établies pour cela? Des explications ou des références à des articles seraient appréciées.

CLARIFICATION

En réponse au commentaire ci-dessous, mon échantillonnage est une fenêtre rectangulaire d'une fonction infinie, qui n'est pas nécessairement limitée en bande mais qui n'a pas de composantes hautes fréquences fortes. Pour être plus précis, je mesure la variance d'un estimateur (mesure du déplacement dans un signal ultrasonore médical) en fonction d'un paramètre de l'estimateur (le niveau de déformation ou de déformation du tissu sous-jacent). J'ai une série théorique de Taylor pour la variance en fonction de la déformation et je voudrais la comparer à ce que j'obtiens de la simulation.

Un exemple de jouet similaire pourrait être: disons que vous avez une fonction comme ln (x), échantillonnée à intervalles en x avec un peu de bruit ajouté. Vous ne savez pas de quelle fonction il s'agit et vous souhaitez estimer sa série de Taylor autour de x = 5. Ainsi, la fonction est lisse et varie lentement pour une région autour du point qui vous intéresse (disons 2 <x <8), mais n'est pas nécessairement agréable en dehors de la région.

Les réponses ont été utiles, et une sorte d'ajustement polynomial des moindres carrés est probablement la voie à suivre. Cependant, ce qui rendrait une série de Taylor estimée différente d'un ajustement polynomial normal, c'est que vous devriez pouvoir raser les termes d'ordre supérieur et que le polynôme se rapproche toujours de la fonction d'origine, juste dans une plage plus petite autour de votre point initial.

Alors peut-être que l'approche serait de faire un ajustement polynomial linéaire en utilisant uniquement des données proches du point initial, suivi d'un ajustement quadratique avec un peu plus de données, cubique en utilisant un peu plus que cela, etc.

Mat
la source
Quelques questions (qui peuvent ou non être pertinentes): Par échantillonné, voulez-vous dire que la fonction est / était limitée à une bande inférieure à une fréquence Fs / 2? Vos échantillons sont-ils une fenêtre rectangulaire d'une fonction infinie, une fonction répétitive ou la fonction complète?
hotpaw2
Comme Dilip l'a souligné dans sa réponse, l'utilisation d'une extension de la série Taylor nécessite que vous connaissiez la dérivée de la fonction à tous les points d'échantillonnage. Je suppose que vous pourriez utiliser votre expression théorique pour les dérivées de , mais cela diminue quelque peu l'utilité d'utiliser une simulation indépendante pour confirmer votre théorie. Afin d'émuler au mieux le comportement de la série Taylor par rapport aux termes d'ordre supérieur, une approche comme celle que vous avez suggérée, utilisant des ordres d'ajustement polynomiaux différents, pourrait être utile. y(x)
Jason R

Réponses:

8

Au lieu d'un ajustement polynomial exact, vous pouvez utiliser un ajustement aux moindres carrés , qui trouvera le polynôme de l'ordre spécifié qui minimise l'erreur quadratique totale entre l'ajustement et les paires mesurées . Cela peut aider à atténuer les effets du bruit sur l'ajustement.(xi,yi)

Étant donné les mesures d'une fonction aux valeurs de domaine ( ), choisissez un ordre polynomial (si , alors vous n'avez plus qu'à préciser ajustement polynomial, car les points déterminent uniquement un polynôme d'ordre ). Ensuite, mettez en place un système d'équations linéaires dans les coefficients polynomiaux souhaités : y = f ( x ) x i i = 0 , 1 , , N M N M = N N M p kyiy=f(x)xii=0,1,,NMNM=NNMpk

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

Le problème des moindres carrés peut être résolu en organisant les mesures sous forme matricielle-vectorielle:

A=[x0Mx0M1x01x1Mx1M1x11xNMxNM1xN1],y=[y0y1yN]

La solution des moindres carrés génère le vecteur des coefficients polynomiaux qui minimise l'erreur quadratique totale dans le système linéaire ci-dessus. La solution peut être calculée comme:[pM,pM1,,p0]

p~=(ATA)1ATy

Il convient de noter que la matrice est également connue comme le pseudoinverse de la matrice . Vous pouvez ensuite utiliser le vecteur de coefficient polynomial des moindres carrés pour évaluer le polynôme à toutes les autres valeurs que vous souhaitez. A ˜ p x(ATA)1ATAp~x

Jason R
la source
1
Dans le cas d'abscisses équidistantes, cela n'est pas différent de l'application du lissage Savitzky-Golay sur vos données.
Plus 1 pour une belle réponse. LSE est en effet très omniprésent.
Tarin Ziyaee
6

Ignorez le bruit pour l'instant.

Étant donné points où les sont des nombres distincts, vous pouvez, comme vous le dites, ajuster un polynôme de degré au plus travers ces points. L'interpolation de Lagrange, par exemple, est une méthode standard pour cela. Mais, on pense que les points sont en fait sur une courbe où n'est pas nécessairement un polynôme (par exemple, il pourrait être ou etc.) et vous souhaitez trouver la série de Taylor pour cette fonction . Eh bien, développer la série de Taylor pour au voisinage de( x i , y i ) x i f ( x )n+1(xi,yi)xif(x)ny=g(x)g(x)ex(x+a)/(x+b)g(x)g(x)x=0, par exemple, nécessite la connaissance de la valeur de ainsi que des valeurs des dérivés à , alors que tout ce qui est connu est les valeurs de à points . Même si pour certains pour que soit connu, il faut encore estimer pourg(0) g(k)(x)=dkg(x)dxk,k=1,2,x=0g(x)n+1xixi=0ig(0) g(k)(0)k=1,2,

L'estimation de la valeur des dérivées d'une fonction à partir de ses valeurs à des points sélectionnés est un problème bien étudié en analyse numérique, et les formules à utiliser sont facilement disponibles. Ce qui n'est pas décrit en détail, ou plus communément, pas du tout mentionné au voisinage de ces formules, c'est que ces formules sont obtenues en ajustant un polynôme aux points connus et en estimant comme . En d'autres termes,g(x)x=0g(xi)h(x)=khkxkg(k)(0)h(k)(0)=k!hk

À partir de points de , nous pouvons développer la série de Taylor pour uniquement jusqu'au terme du degré , et la série de Taylor tronquée est juste , le polynôme ajusté aux points.n+1(xi,g(xi))g(x)g(x)nh(x)n+1

Alors, que signifie l'ajustement d'un polynôme? L'ajustement standard est l'interpolation de Lagrange qui fonctionne bien lorsqu'il n'y a pas de bruit, les points sont régulièrement espacés et est la valeur médiane de . Si du bruit est présent, un ajustement des moindres carrés d'un polynôme de degré (voir la réponse de JasonR pour plus de détails) est souvent mieux, et si nous voulons mettre l'accent sur la précision au voisinage de , une pondération la moins- l'ajustement des carrés peut être utilisé. La pondération des termes d'erreur à partir de points au voisinage de plus que les termes d'erreur de loin oblige l'algorithme de minimisation à produire un ajustement encore meilleur près dexi0xim<nx=000 au détriment d'une moindre précision loin de . Bien sûr, il faut aussi défendre le choix de la fonction de pondération contre les opposants qui préfèrent une pondération différente (ou pas de pondération).0

Exemple: étant donné points , la formule d'interpolation de Lagrange donne où les coefficients de et sont les "trois -point "pour les dérivées première et seconde, comme indiqué dans le tableau 25.2 du manuel des fonctions mathématiques d'Abramowitz et Stegun , c'est-à-dire que la formule d'interpolation de Lagrange est la série de Taylor tronquée pour une fonction telle que .3(1,y1),(0,y0),(1,y1)xx2g(x)g(-1)=y-1,g(0)=y0,g(1)=y1

f(x)=y1x(x1)2y0(x21)+y1x(x+1)2=y0+y1y12x+y12y0+y12x2
xx2g(x)g(1)=y1,g(0)=y0,g(1)=y1
Dilip Sarwate
la source