数据拟合的最小二乘法
Posted 小龙呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据拟合的最小二乘法相关的知识,希望对你有一定的参考价值。
求其最小二乘逼近,取权系数为1,基函数:
φ
1
(
x
)
=
1
,
φ
2
(
x
)
=
x
,
φ
3
(
x
)
=
x
2
,
φ
4
(
x
)
=
x
3
\\varphi_1(x)=1, \\varphi_2(x)=x, \\varphi_3(x)=x^2, \\varphi_4(x)=x^3
φ1(x)=1,φ2(x)=x,φ3(x)=x2,φ4(x)=x3
Φ
1
=
(
1
,
1
,
1
,
…
,
1
,
1
)
T
Φ
2
=
(
−
1
,
−
0.75
,
−
0.5
,
−
0.25
,
0
,
0.25
,
0.5
,
0.75
,
1
,
1.25
)
T
Φ
3
=
(
(
−
1
)
2
,
(
−
0.75
)
2
,
(
−
0.5
)
2
,
(
−
0.25
)
2
,
0
2
,
0.2
5
2
,
0.
5
2
,
0.7
5
2
,
1
2
,
1.2
5
2
)
T
Φ
4
=
(
−
1
3
,
−
0.7
5
3
,
−
0.
5
3
,
−
0.2
5
3
,
0
3
,
0.2
5
3
,
0.
5
3
,
0.7
5
3
,
1
3
,
1.2
5
3
)
T
Y
=
(
0.2209
,
0.3295
,
0.8826
,
1.4392
,
2.0003
,
2.5645
,
3.1334
,
3.7061
,
4.2836
,
3.1334
)
T
\\beginarrayc \\Phi_1=(1,1,1, \\ldots, 1,1)^T \\\\ \\Phi_2=(-1,-0.75,-0.5,-0.25,0,0.25,0.5,0.75,1,1.25)^T \\\\ \\Phi_3=\\left((-1)^2,(-0.75)^2,(-0.5)^2,(-0.25)^2, 0^2, 0.25^2, 0.5^2, 0.75^2, 1^2, 1.25^2\\right)^T \\\\ \\Phi_4=\\left(-1^3,-0.75^3,-0.5^3,-0.25^3, 0^3, 0.25^3, 0.5^3, 0.75^3, 1^3, 1.25^3\\right)^T \\\\ Y=(0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4.2836,3.1334)^T \\endarray
Φ1=(1,1,1,…,1,1)TΦ2=(−1,−0.75,−0.5,−0.25,0,0.25,0.5,0.75,1,1.25)TΦ3=((−1)2,(−0.75)2,(−0.5)2,(−0.25)2,02,0.252,0.52,0.752,12,1.252)TΦ4=(−13,−0.753,−0.53,−0.253,03,0.253,0.53,0.753,13,1.253)TY=(0.2209,0.3295,0.8826,1.4392,2.0003,2.5645,3.1334,3.7061,4.2836,3.1334)T
一次多项式拟合数据:
拟
合
函
数
:
f
(
x
)
=
∂
1
+
∂
2
x
拟合函数: f(x)=\\partial_1+\\partial_2 x
拟合函数:f(x)=∂1+∂2x
二次多项式拟合数据:
拟
合
函
数
:
f
(
x
)
=
∂
1
+
∂
2
x
+
∂
3
x
2
拟合函数: f(x)=\\partial_1+\\partial_2 x+\\partial_3 x^2
拟合函数:f(x)=∂1+∂2x+∂3x2
三次多项式拟合数据:
拟
合
函
数
:
f
(
x
)
=
∂
1
+
∂
2
x
+
∂
3
x
2
+
∂
4
x
3
拟合函数: f(x)=\\partial_1+\\partial_2 x+\\partial_3 x^2+\\partial_4 x^3
拟合函数:f(x)=∂1+∂2x+∂3x2+∂4x3
误
差
计
算
:
∑
n
=
1
10
[
Y
n
−
f
(
x
n
)
]
2
误差计算: \\sum_n=1^10\\left[Y_n-f\\left(x_n\\right)\\right]^2
误差计算:n=1∑10[Yn−f(xn)]2
程序求解:
import numpy as np
A1 = np.array([[1], [1], [1], [1], [1], [1], [1], [1], [1], [1]])
A2 = np.array([[-1], [-0.75], [-0.5], [-0.25], [0], [0.25], [0.5], [0.75], [1], [1.25]])
A3 = np.array([[(-1)**2], [(-0.75)**2], [(-0.以上是关于数据拟合的最小二乘法的主要内容,如果未能解决你的问题,请参考以下文章