最小二乘法拟合直线

📌 问题定义

已知一组二维点:

\[(x_1, y_1), (x_2, y_2), \dots, (x_n, y_n) \]

我们希望找到一条直线:

\[y = ax + b \]

使得它与这些点的“误差平方和”最小。


📌 误差函数(损失函数)

定义残差:

\[e_i = y_i - (ax_i + b) \]

目标函数(最小二乘):

\[S(a, b) = \sum_{i=1}^n e_i^2 = \sum_{i=1}^n (y_i - ax_i - b)^2 \]


📌 对参数求偏导

\(a, b\) 求偏导,并令其为零。

  1. \(a\)

\[\frac{\partial S}{\partial a} = \sum_{i=1}^n -2x_i (y_i - ax_i - b) = 0 \]

整理:

\[\sum_{i=1}^n x_i y_i - a \sum_{i=1}^n x_i^2 - b \sum_{i=1}^n x_i = 0 \]


  1. \(b\)

\[\frac{\partial S}{\partial b} = \sum_{i=1}^n -2 (y_i - ax_i - b) = 0 \]

整理:

\[\sum_{i=1}^n y_i - a \sum_{i=1}^n x_i - nb = 0 \]


📌 正规方程组

得到两个方程:

\[\begin{cases} \sum x_i y_i = a \sum x_i^2 + b \sum x_i \\ \sum y_i = a \sum x_i + nb \end{cases} \]


📌 解方程

令:

\[\bar{x} = \frac{1}{n}\sum_{i=1}^n x_i, \quad \bar{y} = \frac{1}{n}\sum_{i=1}^n y_i \]

解得:

\[a = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2} \]

\[b = \bar{y} - a \bar{x} \]


✅ 最终结果

最小二乘拟合直线:

\[y = ax + b \]

其中:

  • 斜率:

\[a = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2} \]

  • 截距:

\[b = \bar{y} - a\bar{x} \]


posted @ 2025-09-22 15:52  BlueSpace  阅读(46)  评论(0)    收藏  举报