在数学和统计学中,最小二乘法是一种广泛使用的参数估计方法,主要用于拟合数据点到一条直线或曲线。这种方法的核心思想是通过最小化误差平方和来找到最优解。本文将详细推导最小二乘法的基本公式。
问题背景
假设我们有一组数据点 \((x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\),目标是找到一条直线 \(y = ax + b\) 来拟合这些数据点,使得这条直线能够最好地代表数据的趋势。这里的“最好”通常定义为使预测值与实际值之间的误差平方和最小。
目标函数
设直线方程为 \(y = ax + b\),对于每个数据点 \((x_i, y_i)\),其预测值为 \(\hat{y}_i = ax_i + b\)。真实值与预测值之间的误差为:
\[
e_i = y_i - \hat{y}_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
\]
我们的目标是最小化 \(S(a, b)\)。
求偏导数
为了找到 \(S(a, b)\) 的最小值,我们需要对其关于 \(a\) 和 \(b\) 分别求偏导数,并令其等于零。
1. 对 \(a\) 求偏导数:
\[
\frac{\partial S}{\partial a} = \sum_{i=1}^n 2(y_i - (ax_i + b))(-x_i) = -2 \sum_{i=1}^n x_i(y_i - ax_i - b)
\]
2. 对 \(b\) 求偏导数:
\[
\frac{\partial S}{\partial b} = \sum_{i=1}^n 2(y_i - (ax_i + b))(-1) = -2 \sum_{i=1}^n (y_i - ax_i - b)
\]
解方程组
令上述两个偏导数等于零,得到以下方程组:
\[
\begin{cases}
\sum_{i=1}^n x_i(y_i - ax_i - b) = 0 \\
\sum_{i=1}^n (y_i - ax_i - b) = 0
\end{cases}
\]
展开并整理这两个方程:
1. \(\sum_{i=1}^n x_i y_i = a \sum_{i=1}^n x_i^2 + b \sum_{i=1}^n x_i\)
2. \(\sum_{i=1}^n y_i = a \sum_{i=1}^n x_i + nb\)
这是一个线性方程组,可以通过矩阵形式表示为:
\[
\begin{pmatrix}
\sum_{i=1}^n x_i^2 & \sum_{i=1}^n x_i \\
\sum_{i=1}^n x_i & n
\end{pmatrix}
\begin{pmatrix}
a \\
b
\end{pmatrix}
=
\begin{pmatrix}
\sum_{i=1}^n x_i y_i \\
\sum_{i=1}^n y_i
\end{pmatrix}
\]
求解系数
通过克莱默法则或矩阵求逆的方法,可以解出 \(a\) 和 \(b\) 的表达式:
\[
a = \frac{n \sum_{i=1}^n x_i y_i - \sum_{i=1}^n x_i \sum_{i=1}^n y_i}{n \sum_{i=1}^n x_i^2 - (\sum_{i=1}^n x_i)^2}
\]
\[
b = \frac{\sum_{i=1}^n x_i^2 \sum_{i=1}^n y_i - \sum_{i=1}^n x_i \sum_{i=1}^n x_i y_i}{n \sum_{i=1}^n x_i^2 - (\sum_{i=1}^n x_i)^2}
\]
结论
通过以上推导,我们得到了最小二乘法的公式,用于计算最佳拟合直线的斜率 \(a\) 和截距 \(b\)。这种方法不仅适用于直线拟合,还可以扩展到多项式拟合和其他更复杂的情况。
希望本文对您理解最小二乘法有所帮助!