Estimar coeficientes da série Taylor a partir de amostras de uma função

10

Digamos que tenho medidas de uma função y=y(x) , amostradas em xi com algum ruído, que poderiam ser aproximadas por uma expansão da série Taylor. Existe uma maneira aceita de estimar os coeficientes para essa expansão a partir de minhas medições?

Eu poderia ajustar os dados a um polinômio, mas isso não está certo, porque, para uma série de Taylor, a aproximação deve ficar melhor quanto mais próximo você estiver de um ponto central, digamos x = 0. Apenas ajustar um polinômio trata todos os pontos igualmente.

Também pude estimar as várias ordens de derivativos no meu ponto de expansão, mas preciso tomar decisões sobre quais filtros diferenciadores usar e quantos coeficientes de filtro para cada um. Os filtros para os diferentes derivados precisariam se encaixar de alguma forma?

Então, alguém sabe de métodos estabelecidos para isso? Explicações ou referências a trabalhos seriam apreciadas.

ESCLARECIMENTO

Em resposta ao comentário abaixo, minha amostragem é uma janela retangular de uma função infinita, que não é necessariamente limitada por banda, mas não possui componentes fortes de alta frequência. Para ser mais específico, estou medindo a variação de um estimador (medindo o deslocamento em um sinal de ultra-som médico) como uma função de um parâmetro do estimador (o nível de deformação ou deformação do tecido subjacente). Eu tenho uma série teórica de Taylor para a variação em função da deformação e gostaria de compará-la com o que recebo da simulação.

Um exemplo semelhante de brinquedo pode ser: digamos que você tenha uma função como ln (x), amostrada em intervalos em x com algum ruído adicionado. Você não sabe qual é a função e deseja estimar sua série de Taylor em torno de x = 5. Portanto, a função é suave e varia lentamente para uma região em torno do ponto em que você está interessado (digamos 2 <x <8), mas não é necessariamente agradável fora da região.

As respostas foram úteis, e algum tipo de ajuste polinomial de mínimos quadrados é provavelmente o caminho a seguir. O que tornaria uma série estimada de Taylor diferente de um ajuste polinomial normal, no entanto, é que você poderá reduzir os termos de ordem superior e fazer com que o polinômio ainda se aproxime da função original, apenas dentro de um intervalo menor do seu ponto inicial.

Talvez a abordagem seja fazer um ajuste polinomial linear usando apenas dados próximos ao ponto inicial, seguido por um ajuste quadrático com um pouco mais de dados, cúbico usando um pouco mais do que isso, etc.

Matt
fonte
Algumas perguntas (que podem ou não ser relevantes): Por amostragem, você quer dizer que a função é / foi limitada por banda abaixo de alguma frequência Fs / 2? Suas amostras são uma janela retangular de uma função infinita, função de repetição ou a função completa?
hotpaw2
Como Dilip apontou em sua resposta, o uso de uma expansão de série de Taylor exige que você tenha conhecimento da derivada da função em todos os pontos de amostra. Suponho que você possa utilizar sua expressão teórica para as derivadas de , mas isso diminui um pouco a utilidade de usar uma simulação independente para confirmar sua teoria. Para melhor emular o comportamento da série Taylor com relação a termos de ordem superior, uma abordagem como a que você sugeriu, usando ordens diferentes de ajustes polinomiais, pode ser útil. y(x)
Jason R

Respostas:

8

Em vez do ajuste polinomial exato, você pode usar um ajuste de mínimos quadrados , que encontrará o polinômio da ordem especificada que minimiza o erro quadrado total entre o ajuste e os pares medidos . Isso pode ajudar a atenuar os efeitos do ruído no encaixe.(xi,yi)

Dadas as medidas de uma função y = f ( x ) nos valores do domínio x i ( i = 0 , 1 , , N ), escolha uma ordem polinomial M N (se M = N , então você deve saber exatamente ajuste polinomial, pois os pontos N determinam exclusivamente um polinômio de ordem M ). Em seguida, configure um sistema de equações lineares nos coeficientes polinomiais desejados p k :yiy=f(x)xii=0,1,,NMNM=NNMpk

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

O problema dos mínimos quadrados pode ser resolvido organizando as medidas na forma de vetor de matriz:

A=[x0Mx0M1x01x1Mx1M1x11xNMxNM1xN1],y=[y0y1yN]

A solução dos mínimos quadrados gera o vetor de coeficientes polinomiais que minimiza o erro quadrado total no sistema linear acima. A solução pode ser calculada como:[pM,pM1,,p0]

p~=(ATA)1ATy

Vale a pena notar que a matriz também é conhecida como a pseudo-inversa da matriz A . Você pode usar o vetor do coeficiente polinomial de mínimos quadrados ˜ p para avaliar o polinômio em qualquer outro valor x que desejar.(ATA)1ATAp~x

Jason R
fonte
11
No caso de abscissas equidistantes, isso não difere da aplicação da suavização de Savitzky-Golay em seus dados.
Mais 1 para uma boa resposta. A LSE é realmente onipresente.
Tarin Ziyaee
6

Ignore o ruído por enquanto.

Dado pontos ( x i , y i x + a ) / ( x + b ) etc.) e você gostaria de encontrar a série de Taylor para esta função g ( x ) . Bem, desenvolvendo a série Taylor para g (n+1 onde x i são números distintos, você pode, como você diz, ajustar um polinômio f ( x ) de grau no máximo n através desses pontos. A interpolação de Lagrange, por exemplo, é um método padrão para isso. Porém, acredita-se que os pontos estejam na curva y = g ( x ) em que g ( x ) não é necessariamente um polinômio (por exemplo, pode ser e x ou ((xi,yi)xif(x)ny=g(x)g(x)ex(x+a)/(x+b)g(x) na vizinhança de x = 0 , por exemplo, requer conhecimento do valor de g ( 0 ) , bem como dos valores dasderivadas g ( k ) ( x ) = d k g ( x )g(x)x=0g(0) emx=0, enquanto tudo o que se sabe são os valores deg(x)emn+1pontosxi. Mesmo se xi=0para algunsi,para queg(0)seja conhecido, ainda é necessárioestimarg(k)(0)parak=1g(k)(x)=dkg(x)dxk,k=1,2,x=0g(x)n+1xixi=0ig(0) g(k)(0)k=1,2,

Estimando o valor das derivadas de uma função em x = 0 a partir de seus valores g ( x i ) em pontos selecionados é um problema bem estudado em análise numérica, e as fórmulas a serem usadas estão prontamente disponíveis. O quenãoédescrito em detalhes, ou mais comumente, não é mencionado nas proximidades dessas fórmulas, é que essas fórmulas são obtidasajustando um polinômio h ( x ) = k h k x k aos pontos conhecidos e estimando g (g(x)x=0g(xi)h(x)=khkxkcomo h ( k ) (0)=k! h k . g(k)(0)h(k)(0)=k!hk Em outras palavras,

De pontosn+1(xi,g(xi))g(x)g(x)nh(x)n+1

xi0xim<nx=0000

Exemplo: dados pontos ( -3(1,y1),(0,y0),(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
fonte