多项式、正交多项式最小二乘拟合

最小二乘法求解矛盾方程组

矛盾方程组:方程个数多于未知数个数,不能得到精确解析解。

使用最小二乘拟合得近似解。

误差函数:
L = ∑ i = 1 n [ ∑ j = 1 m a i j x j − b i ] 2 L = \sum_{i = 1}^n \left [ \sum_{j = 1}^m a_{ij}x_j - b_i \right ]^2 L=i=1n[j=1maijxjbi]2
最小化误差函数,偏导数:
∂ L ∂ x k = 2 ∑ i = 1 n [ ∑ j = 1 m a i j x j − b i ] a i k = 2 ∑ j = 1 m ( ∑ i = 1 n a i j a i k ) x j − 2 ∑ i = 1 n a i k b i = 0 \begin{aligned} \frac{\partial L}{\partial x_k} & = 2\sum_{i = 1}^n \left [ \sum_{j = 1}^m a_{ij}x_j-b_i \right ]a_{ik} \\ & = 2\sum_{j = 1}^m \left ( \sum_{i = 1}^n a_{ij}a_{ik}\right ) x_j - 2\sum_{i = 1}^na_{ik}b_i \\ & = 0\\ \end{aligned} xkL=2i=1n[j=1maijxjbi]aik=2j=1m(i=1naijaik)xj2i=1naikbi=0

这样就能得到正规方程组(m个方程,m个未知数):
∑ j = 1 m ( ∑ i = 1 n a i j a i k ) x j = ∑ i = 1 n a i k b i \sum_{j = 1}^m \left ( \sum_{i = 1}^n a_{ij}a_{ik}\right ) x_j = \sum_{i = 1}^na_{ik}b_i j=1m(i=1naijaik)xj=i=1naikbi

稍微化简一下:
∑ j = 1 m c i k x j = ∑ i = 1 n d j \sum_{j = 1}^m c_{ik} x_j = \sum_{i = 1}^n d_j j=1mcikxj=i=1ndj
A ⊤ A x = A ⊤ b A^{\top}Ax=A^{\top}b AAx=Ab

例题,矛盾方程组 { x 1 − x 2 = 1 − x 1 + x 2 = 2 2 x 1 − 2 x 2 = 3 − 3 x 1 + x 2 = 4 \left\{\begin{matrix} x_1 - x_2 = 1 \\ -x_1 + x_2 = 2 \\ 2x_1-2 x_2 = 3 \\ -3x_1+ x_2 = 4 \end{matrix}\right. x1x2=1x1+x2=22x12x2=33x1+x2=4

A = [ 1 − 1 − 1 1 2 − 2 − 3 1 ] , b = [ 1 2 3 4 ] A=\begin{bmatrix}1 & -1\\-1 & 1\\2 & -2\\-3 & 1\end{bmatrix},b=\begin{bmatrix}1\\2\\3\\4\end{bmatrix} A=11231121,b=1234

A ⊤ A = [ 15 − 9 − 9 7 ] , A ⊤ b = [ − 7 − 1 ] A^{\top}A=\begin{bmatrix}15&-9\\-9&7\end{bmatrix},A^{\top}b=\begin{bmatrix}-7\\-1\end{bmatrix} AA=[15997],Ab=[71]

则正规方程组为
{ 15 x 1 − 9 x 2 = − 7 − 9 x 1 + x 2 = − 1 \left\{\begin{matrix} 15x_1 - 9x_2 = -7 \\ -9x_1 + x_2 = -1 \\ \end{matrix}\right. { 15x19x2=79x1+x2=1

联立方程组解得:
x 1 = − 29 12 , x 2 = − 39 12 x_1=-\frac{29}{12},x_2=-\frac{39}{12} x1=1229,x2=1239


最小二乘拟合多项式

多项式的基函数(线性无关)取:
1 , x , x 2 , ⋯   , x m 1,x,x^2,\cdots,x^m 1,x,x2,,xm

拟合多项式:
P ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a m x m P(x)=a_0 + a_1x + a_2 x^2 + \cdots + a_m x^m P(x)=a0+a1x+a2x2++amxm

将 n 个数据 ( x i , y i ) (x_i,y_i) (xi,yi) 代入 多项式 就得到 n 个方程和 m+1 个未知数的矛盾方程组:
{ a 0 + a 1 x 1 + a 2 x 1 2 + ⋯ + a m x 1 m = y 1 a 0 + a 2 x 1 + a 2 x 2 2 + ⋯ + a m x 2 m = y 2 ⋮ a 0 + a 2 x n + a 2 x n 2 + ⋯ + a m x n m = y 3 \left\{\begin{matrix} a_0 + a_1 x_1 + a_2 x_1^2 + \cdots + a_m x_1^m = y_1 \\ a_0 + a_2 x_1 + a_2 x_2^2 + \cdots + a_m x_2^m = y_2 \\ \vdots \\ a_0 + a_2 x_n + a_2 x_n^2 + \cdots + a_m x_n^m = y_3 \end{matrix}\right. a0+a1x1+a2x12++amx1m=y1a0+a2x1+a2x22++amx2m=y2a0+a2xn+a2xn2++amxnm=y3

记:
A = [ 1 x 1 x 1 2 ⋯ x 1 m 1 x 2 x 2 2 ⋯ x 2 m ⋮ 1 x n x n 2 ⋯ x n m ] A = \begin{bmatrix} 1& x_1 & x_1^2 & \cdots & x_1^m \\ 1& x_2 & x_2^2 & \cdots & x_2^m \\ \vdots\\ 1& x_n & x_n^2 & \cdots & x_n^m \\ \end{bmatrix} A=111x1x2xnx12x22xn2x1mx2mxnm

α = ( a 0 , a 1 , ⋯   , a m ) ⊤ \alpha = (a_0,a_1,\cdots,a_m)^{\top} α=(a0,a1,,am)
y = ( y 0 , y 1 , ⋯   , y m ) ⊤ y = (y_0,y_1,\cdots,y_m)^{\top} y=(y0,y1,,y

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值