最小二乘法是一种通过最小化误差平方和来估计模型参数的方法。下面我将详细推导线性最小二乘法的理论过程,并给出相应的LaTeX公式。
给定一组观测数据点 ( x i , y i ) , i = 1 , 2 , . . . , n (x_i, y_i), i=1,2,...,n (xi,yi),i=1,2,...,n,我们希望找到线性模型:
y = a x + b y = ax + b y=ax+b
使得模型预测值与实际观测值之间的误差平方和最小。
对于每个数据点,定义误差 e i e_i ei为:
e i = y i − ( a x i + b ) e_i = y_i - (a x_i + b) ei=yi−(axi+b)
则所有数据点的误差平方和为:
S ( a , b ) = ∑ i = 1 n e i 2 = ∑ i = 1 n [ y i − ( a x i + b ) ] 2 S(a,b) = \sum_{i=1}^n e_i^2 = \sum_{i=1}^n [y_i - (a x_i + b)]^2 S(a,b)=i=1∑nei2=i=1∑n[yi−(axi+b)]2
为了找到最优的 a a a和 b b b,我们需要最小化 S ( a , b ) S(a,b) S(a,b)。这可以通过对 a a a和 b b b分别求偏导并令其等于零来实现。
∂ S ∂ b = − 2 ∑ i = 1 n [ y i − ( a x i + b ) ] = 0 \frac{\partial S}{\partial b} = -2 \sum_{i=1}^n [y_i - (a x_i + b)] = 0 ∂b∂S=−2i=1∑n[yi−(axi+b)]=0
展开并整理:
∑ i = 1 n y i − a ∑ i = 1 n x i − n b = 0 \sum_{i=1}^n y_i - a \sum_{i=1}^n x_i - n b = 0 i=1∑nyi−ai=1∑nxi−nb=0
得到关于 b b b的方程:
n b = ∑ i = 1 n y i − a ∑ i = 1 n x i n b = \sum_{i=1}^n y_i - a \sum_{i=1}^n x_i nb=i=1∑nyi−ai=1∑nxi
因此:
b = 1 n ∑ i = 1 n y i − a 1 n ∑ i = 1 n x i = y ˉ − a x ˉ b = \frac{1}{n} \sum_{i=1}^n y_i - a \frac{1}{n} \sum_{i=1}^n x_i = \bar{y} - a \bar{x} b=n1i=1∑nyi−an1i=1∑nxi=yˉ−axˉ
其中 x ˉ \bar{x} xˉ和 y ˉ \bar{y} yˉ分别是 x x x和 y y y的样本均值。
∂ S ∂ a = − 2 ∑ i = 1 n x i [ y i − ( a x i + b ) ] = 0 \frac{\partial S}{\partial a} = -2 \sum_{i=1}^n x_i [y_i - (a x_i + b)] = 0 ∂a∂S=−2i=1∑nxi[yi−(axi+b)]=0
将 b = y ˉ − a x ˉ b = \bar{y} - a \bar{x} b=yˉ−axˉ代入上式:
∑ i = 1 n x i ( y i − a x i − y ˉ + a x ˉ ) = 0 \sum_{i=1}^n x_i (y_i - a x_i - \bar{y} + a \bar{x}) = 0 i=1∑nxi(yi−axi−yˉ+axˉ)=0
展开并整理:
∑ i = 1 n x i y i − a ∑ i = 1 n x i 2 − y ˉ ∑ i = 1 n x i + a x ˉ ∑ i = 1 n x i = 0 \sum_{i=1}^n x_i y_i - a \sum_{i=1}^n x_i^2 - \bar{y} \sum_{i=1}^n x_i + a \bar{x} \sum_{i=1}^n x_i = 0 i=1∑nxiyi−ai=1∑nxi2−yˉi=1∑nxi+axˉi=1∑nxi=0
注意到 ∑ i = 1 n x i = n x ˉ \sum_{i=1}^n x_i = n \bar{x} ∑i=1nxi=nxˉ,所以:
∑ i = 1 n x i y i − a ∑ i = 1 n x i 2 − n x ˉ y ˉ + a n x ˉ 2 = 0 \sum_{i=1}^n x_i y_i - a \sum_{i=1}^n x_i^2 - n \bar{x} \bar{y} + a n \bar{x}^2 = 0 i=1∑nxiyi−ai=1∑nxi2−nxˉyˉ+anxˉ2=0
将含 a a a的项合并:
a ( ∑ i = 1 n x i 2 − n x ˉ 2 ) = ∑ i = 1 n x i y i − n x ˉ y ˉ a \left( \sum_{i=1}^n x_i^2 - n \bar{x}^2 \right) = \sum_{i=1}^n x_i y_i - n \bar{x} \bar{y} a(i=1∑nxi2−nxˉ2)=i=1∑nxiyi−nxˉyˉ
因此:
a = ∑ i = 1 n x i y i − n x ˉ y ˉ ∑ i = 1 n x i 2 − n x ˉ 2 a = \frac{\sum_{i=1}^n x_i y_i - n \bar{x} \bar{y}}{\sum_{i=1}^n x_i^2 - n \bar{x}^2} a=∑i=1nxi2−nxˉ2∑i=1nxiyi−nxˉyˉ
可以进一步表示为:
a = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 a = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^n (x_i - \bar{x})^2} a=∑i=1n(xi−xˉ)2∑i=1n(xi−xˉ)(yi−yˉ)
综上,我们得到了最小二乘估计的解:
斜率 a a a的估计:
a ^ = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 = S x y S x x \hat{a} = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^n (x_i - \bar{x})^2} = \frac{S_{xy}}{S_{xx}} a^=∑i=1n(xi−xˉ)2∑i=1n(xi−xˉ)(yi−yˉ)=SxxSxy
截距 b b b的估计:
b ^ = y ˉ − a ^ x ˉ \hat{b} = \bar{y} - \hat{a} \bar{x} b^=yˉ−a^xˉ
其中:
对于更一般的情况,我们可以使用矩阵表示法推导最小二乘法。
设线性模型为:
y = X β + ϵ \mathbf{y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\epsilon} y=Xβ+ϵ
其中:
最小化残差平方和:
S ( β ) = ( y − X β ) ⊤ ( y − X β ) S(\boldsymbol{\beta}) = (\mathbf{y} - \mathbf{X} \boldsymbol{\beta})^\top (\mathbf{y} - \mathbf{X} \boldsymbol{\beta}) S(β)=(y−Xβ)⊤(y−Xβ)
对 β \boldsymbol{\beta} β求导并令导数为零:
∂ S ∂ β = − 2 X ⊤ ( y − X β ) = 0 \frac{\partial S}{\partial \boldsymbol{\beta}} = -2 \mathbf{X}^\top (\mathbf{y} - \mathbf{X} \boldsymbol{\beta}) = 0 ∂β∂S=−2X⊤(y−Xβ)=0
得到正规方程:
X ⊤ X β = X ⊤ y \mathbf{X}^\top \mathbf{X} \boldsymbol{\beta} = \mathbf{X}^\top \mathbf{y} X⊤Xβ=X⊤y
若 X ⊤ X \mathbf{X}^\top \mathbf{X} X⊤X可逆,则解为:
β ^ = ( X ⊤ X ) − 1 X ⊤ y \hat{\boldsymbol{\beta}} = (\mathbf{X}^\top \mathbf{X})^{-1} \mathbf{X}^\top \mathbf{y} β^=(X⊤X)−1X⊤y
最小二乘法通过最小化误差平方和提供了线性模型参数的优化估计。对于简单线性回归,可以得到解析解;对于多元情况,可以通过矩阵运算求解。这种方法的优点是计算简单、理论成熟,且在满足高斯-马尔可夫定理条件下,得到的估计是最佳线性无偏估计(BLUE)。