假设我有一个函数$ y = y(x)$的测量值,在$ x_i $处采样并带有一些噪声,这可以通过泰勒级数展开来近似。有没有一种可以从我的测量值中估算出该扩展系数的方法?

我可以将数据拟合为多项式,但这并不完全正确,因为对于泰勒级数,近似值应该变得更好更接近中心点,例如x =0。只要拟合多项式,每个点均等。

我还可以在扩展点估计导数的各种阶数,但是然后我需要决定要使用哪些区分滤波器以及每个滤波器有多少个滤波器系数。不同导数的过滤器是否需要以某种方式组合在一起?

所以有人知道为此建立的方法吗?

澄清

回应下面的评论,我的采样是一个无限函数的矩形窗口,不一定是带有限,但没有强高频成分。更具体地说,我正在根据估算器的参数(基础组织的变形或应变水平)测量估算器的方差(测量医学超声信号中的位移)。我有一个理论上的泰勒级数,它是作为变形函数的方差,并想将其与我从仿真中得到的结果进行比较。

类似的玩具示例可能是:说你有一个像ln的函数(x),以x的间隔采样,并添加了一些噪声。您不知道它真正的功能是什么,并且您想要估计它在x = 5附近的泰勒级数。因此,该函数在您感兴趣的点周围的区域(例如2
答案很有帮助,某种最小二乘多项式拟合可能是采取的途径。但是,使泰勒级数估计值与正常多项式拟合不同的原因是,您应该能够去除高阶项,并使多项式仍近似于原始函数,只是在初始点附近的较小范围内。

因此,方法可能是仅使用接近初始点的数据进行线性多项式拟合,然后进行二次拟合,使用更多的数据,使用三次以上的数据进行三次拟合,等等。

评论

一些问题(可能不相关):通过采样,您是说功能被/限制在某些Fs / 2频率以下?您的样本是具有无限函数,重复函数还是完整函数的矩形窗口?

就像Dilip在他的答案中指出的那样,使用泰勒级数展开式需要您了解所有采样点上函数的导数。我想您可以将您的理论表达式用于$ y(x)$的导数,但这在某种程度上削弱了使用独立模拟来确认您的理论的效用。为了最好地模拟泰勒级数相对于高阶项的行为,使用不同阶次多项式拟合的建议方法可能很有用。

#1 楼

可以使用最小二乘拟合代替精确的多项式拟合,该最小二乘拟合将找到指定阶数的多项式,以最小化拟合和测得的$(x_i,y_i)$对之间的总平方误差。这可以帮助减轻噪声对拟合的影响。

给出域值$ x_i $($ i = 0,1 ,\ ldots,N $),选择多项式阶数$ M \ le N $(如果$ M = N $,那么您就可以进行精确的多项式拟合,因为$ N $点唯一地确定了第$ M $个阶)多项式)。然后,建立一个在所需多项式系数$ p_k $中为线性的方程组:

$$
y_i = p_Mx_i ^ M + p_ {M-1} x_i ^ {M-1} + \ ldots + p_1x_i + p_0,\; \; \; \; \; i = 0,1,\ ldots, ñ
$$

最小二乘问题可以通过将度量安排为矩阵矢量形式来解决:

$$
\ mathbf {A} = \ left [{\ begin {array} {cc}
x_0 ^ M&x_0 ^ {M-1}&\ cdots&x_0&1 \\
x_1 ^ M&x_1 ^ {M-1}&\ cdots&x_1&1 \\
\ vdots&\ vdots&\ vdots&\ vdots&\ vdots \\
x_N ^ M&x_N ^ {M-1}&\ cdots&x_N&1 \ end {array}} \ right],
\; \; \ mathbf {y} = \ left [{\ begin {array} {cc}
y_0 \\
y_1 \\
\ vdots \\
y_N \ end {array}} \ right]
$$

最小二乘解生成多项式系数的向量$ \ left [p_M,p_ {M-1},\ ldots,p_0 \ right] $使总和最小化上述线性系统的平方误差。该解决方案可以计算为:

$$
\ mathbf {\ tilde p} =(\ mathbf {A ^ TA})^ {-1} \ mathbf {A ^ Ty}
$$$

值得注意的是,矩阵$(\ mathbf {A ^ TA})^ {-1} \ mathbf {A ^ T} $也称为伪逆$ \ mathbf {A} $的矩阵。然后,您可以使用最小二乘多项式系数向量$ \ mathbf {\ tilde p} $在您希望的任何其他$ x $值处评估多项式。

评论


$ \ begingroup $
对于等距横坐标,这与对数据应用Savitzky-Golay平滑没有什么不同。
$ \ endgroup $
–user276
2012年1月11日23:33

$ \ begingroup $
加1是一个不错的答案。 LSE确实非常普遍。
$ \ endgroup $
– Tarin Ziyaee
13年8月8日在19:36

#2 楼

暂时忽略噪声。

给出$ n + 1 $点$(x_i,y_i)$,其中$ x_i $是不同的数字,您可以说,拟合多项式$ f(x通过这些点最多可获得$ n $的学位。例如,Lagrange
插值是一种标准方法。但是,据信
这些点实际上在曲线$ y = g(x)$上,其中$ g(x)$不一定是多项式(例如,可能是$ e ^ x $或$(x + a)/(x + b)$等),您想找到此函数$ g(x)$的泰勒级数。好吧,要开发在$ x = 0 $附近的
$ g(x)$的泰勒级数,需要知道$ g(0)$的值以及
的导数
$ g ^ {(k)}(x)= \ frac {\ mathrm d ^ kg(x)} {\ mathrm dx ^ k},k = 1,2,\ ldots $ x = 0 $,
,而已知的只是$ g(x)$在$ n + 1 $点$ x_i $处的值。即使对于某些$ i $
$ x_i = 0 $使得$ g(0)$是已知的,仍然有必要估算
$ g ^ {(k)}(0)$ $ k = 1,2,\ ldots $

从其
值$ g(x_i)估计函数$ g(x)$在$ x = 0 $处的导数值)$在选定点上是
数值分析中经过充分研究的问题,并且使用的公式很容易获得。
没有详细描述,或更常见的是根本没有提到
/>在这些公式附近是通过将多项式$ h(x)= \ sum_k h_kx ^ k $拟合到已知点并估算
$ g ^ {( k)}(0)$作为$ h ^ {(k)}(0)= k!h_k $。换句话说,从$ g(x)$的$ n + 1 $点$(x_i,g(x_i))$
中,我们可以开发泰勒直到$ n($ n $)项之前的$ g(x)$系列,而截断的Taylor系列只是$ h(x)$,即适合$ n的多项式+ 1 $点。


那么,拟合多项式是什么意思呢?标准拟合是Lagrange
插值,当没有噪声时,点$ x_i $
效果很好等距排列,并且$ 0 $是$ x_i $的中位数。如果存在噪声
,则次数为$ m 的答案)通常会更好,并且如果我们想
在$ x = 0 $附近强调精度,可以使用加权最小二乘拟合。从$ 0 $附近的点加权误差项比从远处的误差项加权会迫使
最小化算法在$ 0 $
附近产生更好的拟合度,但会降低精度远离$ 0 $。
当然,还必须捍卫加权函数的选择,以反对那些偏爱不同加权(或不加权)的反对者。

示例:给定$ 3 $分$(-1,y _ {-1}),(0,y_0),(1,y_1)$,拉格朗日
插值公式给出
$$ \ begin {align *}
f(x)&= y _ {-1} \ frac {x(x-1)} {2} -y_0(x ^ 2-1)+ y_ {1} \ frac {x(x + 1 )} {2} \\
&= y_0 + \ frac {y_1-y _ {-1}} {2} x + \ frac {y_1-2y_0 + y _ {-1}} {2} x ^ 2
\ end {align *} $$
其中$ x $和$ x ^ 2 $的系数是一阶和二阶导数的“三点”公式,如
Abramowitz和Stegun的数学函数手册的表25.2,即Lagrange插值公式是函数$ g(x)的截短的Taylor级数$这样
$ g(-1)= y _ {-1},g(0)= y_0,g(1)= y_1 $。