赞
踩
最小二乘法(Least Squares Method)是一种用于找到数据点最佳拟合曲线的数学优化技术。它通过最小化数据点和拟合曲线之间的误差平方和来实现。广泛应用于统计学、数据分析和机器学习中。
最小二乘法的基本公式如下:
假设我们有以下数据点: ( 1 , 2 ) (1, 2) (1,2)、 ( 2 , 3 ) (2, 3) (2,3)、 ( 3 , 5 ) (3, 5) (3,5)、 ( 4 , 4 ) (4, 4) (4,4)、 ( 5 , 6 ) (5, 6) (5,6)。求最佳拟合直线。
计算必要的求和:
∑
x
i
=
1
+
2
+
3
+
4
+
5
=
15
\sum x_i = 1 + 2 + 3 + 4 + 5 = 15
∑xi=1+2+3+4+5=15
∑
y
i
=
2
+
3
+
5
+
4
+
6
=
20
\sum y_i = 2 + 3 + 5 + 4 + 6 = 20
∑yi=2+3+5+4+6=20
∑
x
i
2
=
1
2
+
2
2
+
3
2
+
4
2
+
5
2
=
55
\sum x_i^2 = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55
∑xi2=12+22+32+42+52=55
∑
x
i
y
i
=
1
⋅
2
+
2
⋅
3
+
3
⋅
5
+
4
⋅
4
+
5
⋅
6
=
70
\sum x_i y_i = 1 \cdot 2 + 2 \cdot 3 + 3 \cdot 5 + 4 \cdot 4 + 5 \cdot 6 = 70
∑xiyi=1⋅2+2⋅3+3⋅5+4⋅4+5⋅6=70
计算斜率
β
1
\beta_1
β1:
β
1
=
5
⋅
70
−
15
⋅
20
5
⋅
55
−
1
5
2
=
350
−
300
275
−
225
=
50
50
=
1
\beta_1 = \frac{5 \cdot 70 - 15 \cdot 20}{5 \cdot 55 - 15^2} = \frac{350 - 300}{275 - 225} = \frac{50}{50} = 1
β1=5⋅55−1525⋅70−15⋅20=275−225350−300=5050=1
计算截距
β
0
\beta_0
β0:
β
0
=
20
−
1
⋅
15
5
=
5
5
=
1
\beta_0 = \frac{20 - 1 \cdot 15}{5} = \frac{5}{5} = 1
β0=520−1⋅15=55=1
最佳拟合直线方程为:
y
^
=
1
+
1
x
=
x
+
1
\hat{y} = 1 + 1x = x + 1
y^=1+1x=x+1
import numpy as np
import matplotlib.pyplot as plt
# 数据点
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 3, 5, 4, 6])
# 最小二乘法计算
A = np.vstack([x, np.ones(len(x))]).T
beta, beta_0 = np.linalg.lstsq(A, y, rcond=None)[0]
# 绘图
plt.plot(x, y, 'o', label='原始数据', markersize=10)
plt.plot(x, beta * x + beta_0, 'r', label='拟合直线')
plt.legend()
plt.show()
在经济学中,最小二乘法可以用来预测消费支出与收入之间的关系。例如,根据历史数据,使用最小二乘法可以拟合出消费支出与收入的关系直线,从而预测未来的消费行为。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。