线性回归是统计学和机器学习中最基础、最常用的预测模型。它研究一个或多个自变量(预测变量)与一个连续因变量之间的线性关系。本讲将深入探讨线性回归的模型假设 、参数估计 (最小二乘法与最大似然估计的等价性)、显著性检验 (t检验与F检验)、模型诊断 (残差分析、异常值检测)、拟合优度 (R²与调整R²)以及多重共线性的识别与处理。
1. 模型假设
-
非矩阵模型
Y i = β 0 + β 1 X i 1 + β 2 X i 2 + ⋯ + β p X i p + ε i , i = 1 , ... , n Y_i = \beta_0 + \beta_1 X_{i1} + \beta_2 X_{i2} + \dots + \beta_p X_{ip} + \varepsilon_i, \quad i=1,\dots,n Yi=β0+β1Xi1+β2Xi2+⋯+βpXip+εi,i=1,...,n- Y i Y_i Yi:第 i i i 个样本的真实结果(因变量)
- X i 1 , X i 2 , ... , X i p X_{i1}, X_{i2}, \dots, X_{ip} Xi1,Xi2,...,Xip:第 i i i 个样本的 p p p 个自变量(影响因素)
- β 0 , β 1 , ... , β p \beta_0, \beta_1, \dots, \beta_p β0,β1,...,βp:模型系数(截距+斜率)
- ε i \varepsilon_i εi:第 i i i 个样本的随机误差(模型无法解释的部分)
核心思想 :在保持其他自变量不变的情况下,某个自变量 X j X_j Xj 每变化一个单位, Y Y Y 平均变化 β j β_j βj 个单位。
-
矩阵模型
Y = X β + ε \mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon} Y=Xβ+ε-
Y \mathbf{Y} Y 为 n × 1 n\times 1 n×1 的列向量:预测的目标值的集合。
Y = [ Y 1 Y 2 ⋮ Y n ] \mathbf{Y} = \begin{bmatrix} Y_1 \\ Y_2 \\ \vdots \\ Y_n \end{bmatrix} Y= Y1Y2⋮Yn -
X \mathbf{X} X 为 n × ( p + 1 ) n\times(p+1) n×(p+1)(含截距列)的矩阵:每一行代表一个样本的所有已知信息(包括常数1和各个特征);第一列全是 1(对应截距 β 0 \beta_0 β0),后面 p p p 列是每个样本的自变量。
X = [ 1 X 11 X 12 ... X 1 p 1 X 21 X 22 ... X 2 p ⋮ ⋮ ⋮ ⋮ 1 X n 1 X n 2 ... X n p ] \mathbf{X} = \begin{bmatrix} 1 & X_{11} & X_{12} & \dots & X_{1p} \\ 1 & X_{21} & X_{22} & \dots & X_{2p} \\ \vdots & \vdots & \vdots & & \vdots \\ 1 & X_{n1} & X_{n2} & \dots & X_{np} \end{bmatrix} X= 11⋮1X11X21⋮Xn1X12X22⋮Xn2.........X1pX2p⋮Xnp -
β \boldsymbol{\beta} β 为 ( p + 1 ) × 1 (p+1)\times 1 (p+1)×1 的列向量(包含截距和所有斜率),从数据中估计出来的未知参数。
β = [ β 0 β 1 β 2 ⋮ β p ] \boldsymbol{\beta} = \begin{bmatrix} \beta_0 \\ \beta_1 \\ \beta_2 \\ \vdots \\ \beta_p \end{bmatrix} β= β0β1β2⋮βp -
ε \boldsymbol{\varepsilon} ε 为 n × 1 n\times 1 n×1 的列向量:模型无法完美拟合的部分,通常假设服从均值为0的正态分布。
ε = [ ε 1 ε 2 ⋮ ε n ] \boldsymbol{\varepsilon} = \begin{bmatrix} \varepsilon_1 \\ \varepsilon_2 \\ \vdots \\ \varepsilon_n \end{bmatrix} ε= ε1ε2⋮εn
-
-
经典线性回归模型的基本假设(高斯-马尔可夫假设)包括:
- 线性性:因变量与自变量之间存在线性关系(在参数意义上)。
- 零均值 : E [ ε i ] = 0 E[\varepsilon_i] = 0 E[εi]=0,即误差项均值为零。
- 同方差性 : Var ( ε i ) = σ 2 \operatorname{Var}(\varepsilon_i) = \sigma^2 Var(εi)=σ2,常数,不随 i i i 变化。
- 独立性 : ε i \varepsilon_i εi 之间相互独立。
- 正态性 (用于推断): ε i ∼ N ( 0 , σ 2 ) \varepsilon_i \sim N(0, \sigma^2) εi∼N(0,σ2) 独立同分布。
这些假设是进行参数估计、假设检验和区间估计的基础。当假设违背时,需要采取相应的补救措施(如变换、加权最小二乘、稳健标准误等)。
2. 参数估计
2.1 最小二乘法(OLS)
最小二乘法通过最小化残差平方和(RSS)来估计参数:
RSS ( β ) = ∑ i = 1 n ( Y i − β 0 − ∑ j = 1 p β j X i j ) 2 = ( Y − X β ) T ( Y − X β ) \text{RSS}(\boldsymbol{\beta}) = \sum_{i=1}^n \left(Y_i - \beta_0 - \sum_{j=1}^p \beta_j X_{ij}\right)^2 = (\mathbf{Y} - \mathbf{X}\boldsymbol{\beta})^T (\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}) RSS(β)=i=1∑n(Yi−β0−j=1∑pβjXij)2=(Y−Xβ)T(Y−Xβ)
对 β \boldsymbol{\beta} β 求导并令导数为零:
∂ RSS ∂ β = − 2 X T ( Y − X β ) = 0 ⇒ X T X β = X T Y \frac{\partial \text{RSS}}{\partial \boldsymbol{\beta}} = -2\mathbf{X}^T(\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}) = 0 \quad \Rightarrow \quad \mathbf{X}^T\mathbf{X}\boldsymbol{\beta} = \mathbf{X}^T\mathbf{Y} ∂β∂RSS=−2XT(Y−Xβ)=0⇒XTXβ=XTY
若 X T X \mathbf{X}^T\mathbf{X} XTX 可逆,则最小二乘估计为:
β ^ = ( X T X ) − 1 X T Y \hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{Y} β^=(XTX)−1XTY
推导细节 (标量形式):对 β j \beta_j βj 求偏导,令等于0,得到正规方程。例如一元线性回归: β ^ 1 = ∑ ( X i − X ˉ ) ( Y i − Y ˉ ) ∑ ( X i − X ˉ ) 2 \hat{\beta}_1 = \frac{\sum (X_i - \bar{X})(Y_i - \bar{Y})}{\sum (X_i - \bar{X})^2} β^1=∑(Xi−Xˉ)2∑(Xi−Xˉ)(Yi−Yˉ), β ^ 0 = Y ˉ − β ^ 1 X ˉ \hat{\beta}_0 = \bar{Y} - \hat{\beta}_1\bar{X} β^0=Yˉ−β^1Xˉ。
2.2 与最大似然估计的等价性
在正态性假设下, ε i ∼ N ( 0 , σ 2 ) \varepsilon_i \sim N(0,\sigma^2) εi∼N(0,σ2) 独立,则 Y i ∼ N ( X i β , σ 2 ) Y_i \sim N(\mathbf{X}i\boldsymbol{\beta}, \sigma^2) Yi∼N(Xiβ,σ2)。似然函数:
L ( β , σ 2 ) = ∏ i = 1 n 1 2 π σ exp ( − ( Y i − X i β ) 2 2 σ 2 ) = ( 2 π σ 2 ) − n / 2 exp ( − 1 2 σ 2 ∑ ( Y i − X i β ) 2 ) L(\boldsymbol{\beta}, \sigma^2) = \prod{i=1}^n \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{(Y_i - \mathbf{X}_i\boldsymbol{\beta})^2}{2\sigma^2}\right) = (2\pi\sigma^2)^{-n/2} \exp\left(-\frac{1}{2\sigma^2}\sum (Y_i - \mathbf{X}_i\boldsymbol{\beta})^2\right) L(β,σ2)=i=1∏n2π σ1exp(−2σ2(Yi−Xiβ)2)=(2πσ2)−n/2exp(−2σ21∑(Yi−Xiβ)2)
对数似然:
ℓ ( β , σ 2 ) = − n 2 ln ( 2 π ) − n 2 ln σ 2 − 1 2 σ 2 ∑ ( Y i − X i β ) 2 \ell(\boldsymbol{\beta}, \sigma^2) = -\frac{n}{2}\ln(2\pi) - \frac{n}{2}\ln\sigma^2 - \frac{1}{2\sigma^2}\sum (Y_i - \mathbf{X}_i\boldsymbol{\beta})^2 ℓ(β,σ2)=−2nln(2π)−2nlnσ2−2σ21∑(Yi−Xiβ)2
对于给定的 σ 2 \sigma^2 σ2,最大化 ℓ \ell ℓ 等价于最小化 ∑ ( Y i − X i β ) 2 \sum (Y_i - \mathbf{X}i\boldsymbol{\beta})^2 ∑(Yi−Xiβ)2,即最小二乘。因此,在正态误差下,OLS 估计就是 MLE。同时, σ 2 \sigma^2 σ2 的 MLE 为 σ ^ MLE 2 = 1 n ∑ ε ^ i 2 \hat{\sigma}^2{\text{MLE}} = \frac{1}{n}\sum \hat{\varepsilon}_i^2 σ^MLE2=n1∑ε^i2,而有偏;无偏估计为 s 2 = 1 n − p − 1 ∑ ε ^ i 2 s^2 = \frac{1}{n-p-1}\sum \hat{\varepsilon}_i^2 s2=n−p−11∑ε^i2。
例1 :简单线性回归,数据 ( X , Y ) (X,Y) (X,Y): ( 1 , 2 ) , ( 2 , 3 ) , ( 3 , 5 ) , ( 4 , 4 ) (1,2), (2,3), (3,5), (4,4) (1,2),(2,3),(3,5),(4,4)。计算得 X ˉ = 2.5 , Y ˉ = 3.5 \bar{X}=2.5,\bar{Y}=3.5 Xˉ=2.5,Yˉ=3.5, ∑ ( X i − X ˉ ) 2 = 5 \sum (X_i-\bar{X})^2=5 ∑(Xi−Xˉ)2=5, ∑ ( X i − X ˉ ) ( Y i − Y ˉ ) = 3 \sum (X_i-\bar{X})(Y_i-\bar{Y})=3 ∑(Xi−Xˉ)(Yi−Yˉ)=3,所以 β ^ 1 = 0.6 \hat{\beta}_1=0.6 β^1=0.6, β ^ 0 = 3.5 − 0.6 × 2.5 = 2.0 \hat{\beta}_0=3.5-0.6\times2.5=2.0 β^0=3.5−0.6×2.5=2.0。回归方程 Y ^ = 2.0 + 0.6 X \hat{Y}=2.0+0.6X Y^=2.0+0.6X。
3. 回归系数检验
3.1 单个系数的 t 检验
检验 H 0 : β j = 0 H_0: \beta_j = 0 H0:βj=0 vs H 1 : β j ≠ 0 H_1: \beta_j \neq 0 H1:βj=0。在正态假设下,OLS 估计量 β ^ j \hat{\beta}j β^j 服从正态分布,其方差为 Var ( β ^ j ) = σ 2 C j j \operatorname{Var}(\hat{\beta}j) = \sigma^2 C{jj} Var(β^j)=σ2Cjj,其中 C j j C{jj} Cjj 是 ( X T X ) − 1 (\mathbf{X}^T\mathbf{X})^{-1} (XTX)−1 的第 j + 1 j+1 j+1 个对角元(从0开始)。用 s 2 s^2 s2 估计 σ 2 \sigma^2 σ2,则检验统计量:
t = β ^ j s ⋅ C j j ∼ t ( n − p − 1 ) . t = \frac{\hat{\beta}j}{s \cdot \sqrt{C{jj}}} \sim t(n-p-1). t=s⋅Cjj β^j∼t(n−p−1).
计算 p 值并与显著性水平 α \alpha α 比较,判断该自变量是否对因变量有显著线性影响。
3.2 整体显著性 F 检验
检验所有斜率系数同时为零: H 0 : β 1 = β 2 = ⋯ = β p = 0 H_0: \beta_1 = \beta_2 = \dots = \beta_p = 0 H0:β1=β2=⋯=βp=0。定义:
- 总平方和 S S T = ∑ ( Y i − Y ˉ ) 2 SST = \sum (Y_i - \bar{Y})^2 SST=∑(Yi−Yˉ)2,自由度 n − 1 n-1 n−1。
- 回归平方和 S S R = ∑ ( Y ^ i − Y ˉ ) 2 SSR = \sum (\hat{Y}_i - \bar{Y})^2 SSR=∑(Y^i−Yˉ)2,自由度 p p p。
- 残差平方和 S S E = ∑ ( Y i − Y ^ i ) 2 SSE = \sum (Y_i - \hat{Y}_i)^2 SSE=∑(Yi−Y^i)2,自由度 n − p − 1 n-p-1 n−p−1。
且 S S T = S S R + S S E SST = SSR + SSE SST=SSR+SSE。
F 统计量:
F = S S R / p S S E / ( n − p − 1 ) ∼ F ( p , n − p − 1 ) . F = \frac{SSR / p}{SSE / (n-p-1)} \sim F(p, n-p-1). F=SSE/(n−p−1)SSR/p∼F(p,n−p−1).
若 F 值大于临界值(或 p 值小),则拒绝原假设,认为至少有一个自变量与因变量存在线性关系。
例2 :对例1的数据,计算: Y ^ i \hat{Y}_i Y^i 分别为 2.6, 3.2, 3.8, 4.4, Y ˉ = 3.5 \bar{Y}=3.5 Yˉ=3.5。 S S R = ( 2.6 − 3.5 ) 2 + ( 3.2 − 3.5 ) 2 + ( 3.8 − 3.5 ) 2 + ( 4.4 − 3.5 ) 2 = 0.81 + 0.09 + 0.09 + 0.81 = 1.8 SSR = (2.6-3.5)^2+(3.2-3.5)^2+(3.8-3.5)^2+(4.4-3.5)^2 = 0.81+0.09+0.09+0.81=1.8 SSR=(2.6−3.5)2+(3.2−3.5)2+(3.8−3.5)2+(4.4−3.5)2=0.81+0.09+0.09+0.81=1.8, S S E = ( 2 − 2.6 ) 2 + ( 3 − 3.2 ) 2 + ( 5 − 3.8 ) 2 + ( 4 − 4.4 ) 2 = 0.36 + 0.04 + 1.44 + 0.16 = 2.0 SSE = (2-2.6)^2+(3-3.2)^2+(5-3.8)^2+(4-4.4)^2 = 0.36+0.04+1.44+0.16=2.0 SSE=(2−2.6)2+(3−3.2)2+(5−3.8)2+(4−4.4)2=0.36+0.04+1.44+0.16=2.0。 F = ( 1.8 / 1 ) / ( 2.0 / ( 4 − 2 ) ) = 1.8 / 1.0 = 1.8 F = (1.8/1) / (2.0/(4-2)) = 1.8 / 1.0 = 1.8 F=(1.8/1)/(2.0/(4−2))=1.8/1.0=1.8,p 值较大,不显著(因样本量太小)。
4. 模型诊断
模型诊断旨在检查假设是否满足,并识别异常点。
4.1 残差图(检验同方差性)
绘制残差 ε ^ i \hat{\varepsilon}_i ε^i 与拟合值 Y ^ i \hat{Y}_i Y^i 的散点图。理想情况下,点应随机分布在零线附近,无明显漏斗形或曲线模式。若出现漏斗形(方差随拟合值增大而增大),提示异方差;若出现曲线,提示非线性关系。
4.2 Q-Q 图(检验正态性)
将学生化残差(或标准化残差)的分位数与正态分布的理论分位数作图。若点大致落在直线上,则正态性假设合理。若尾部偏离严重,可能存在偏态或异常值。
4.3 异常值检测
- 杠杆值 (Leverage):衡量第 i i i 个观测在自变量空间中的距离, h i i h_{ii} hii 为帽子矩阵 H = X ( X T X ) − 1 X T \mathbf{H} = \mathbf{X}(\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T H=X(XTX)−1XT 的对角元。高杠杆点( h i i > 2 ( p + 1 ) / n h_{ii} > 2(p+1)/n hii>2(p+1)/n)可能对回归影响大。
- Cook 距离 :综合衡量第 i i i 个观测对回归系数的影响。 D i = ε ^ i 2 ( p + 1 ) s 2 ⋅ h i i ( 1 − h i i ) 2 D_i = \frac{\hat{\varepsilon}i^2}{(p+1)s^2} \cdot \frac{h{ii}}{(1-h_{ii})^2} Di=(p+1)s2ε^i2⋅(1−hii)2hii。一般 D i > 1 D_i > 1 Di>1 视为强影响点。
- 学生化残差 : ε ^ i s 1 − h i i \frac{\hat{\varepsilon}i}{s\sqrt{1-h{ii}}} s1−hii ε^i,绝对值大于 3 常视为异常值。
例3:在简单线性回归中,若某点远离其他点(高杠杆)且残差大,则 Cook 距离大,可能需删除或稳健回归。
5. R² 与调整 R²
5.1 决定系数 R²
R 2 = S S R S S T = 1 − S S E S S T . R^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST}. R2=SSTSSR=1−SSTSSE.
表示由回归模型解释的因变量变异占总变异的比例。取值范围 [ 0 , 1 ] [0,1] [0,1],越大说明模型拟合越好。但 R² 会随着自变量个数增加而增大(即使加入无关变量),因为 SSR 不会减少。
5.2 调整 R²(Adjusted R²)
R adj 2 = 1 − S S E / ( n − p − 1 ) S S T / ( n − 1 ) = 1 − ( 1 − R 2 ) n − 1 n − p − 1 . R^2_{\text{adj}} = 1 - \frac{SSE/(n-p-1)}{SST/(n-1)} = 1 - (1-R^2)\frac{n-1}{n-p-1}. Radj2=1−SST/(n−1)SSE/(n−p−1)=1−(1−R2)n−p−1n−1.
调整 R² 对自变量个数进行惩罚,只有当新增变量确实带来足够大的 SSR 增加时,调整 R² 才会上升。因此,它更适合比较不同自变量个数的模型。
例4:一个模型有 10 个自变量,n=100,R²=0.80,则调整 R² = 1 - (0.20)*(99/89) ≈ 1 - 0.2225 = 0.7775。若增加一个无用变量,R² 可能略增,但调整 R² 可能下降。
6. 多重共线性
6.1 概念
多重共线性指自变量之间存在高度线性相关。完全共线性(如 X 2 = 2 X 1 X_2 = 2X_1 X2=2X1)导致 X T X \mathbf{X}^T\mathbf{X} XTX 不可逆;近似共线性导致 β ^ \hat{\boldsymbol{\beta}} β^ 方差膨胀,估计不稳定,t 检验不显著但整体 F 检验显著。
6.2 检测:方差膨胀因子(VIF)
对于第 j j j 个自变量,将其对其他自变量做回归,得到决定系数 R j 2 R_j^2 Rj2,则
VIF j = 1 1 − R j 2 . \text{VIF}_j = \frac{1}{1 - R_j^2}. VIFj=1−Rj21.
VIF 衡量了由于共线性导致的系数方差增大的倍数。通常认为 VIF > 5 或 10 存在严重共线性。
6.3 处理多重共线性的方法
- 删除高度相关的自变量之一(基于业务知识或相关性矩阵)。
- 合并自变量(如主成分分析)。
- 岭回归(L2 正则化)或 Lasso(L1 正则化)。
- 增加样本量(可能缓解,但不根本解决)。
- 使用偏最小二乘(PLS)等降维方法。
例5:在房价预测中,房间数(rooms)与卧室数(bedrooms)高度相关。计算 VIF(rooms)=15,VIF(bedrooms)=12,表明严重共线性。可考虑只保留一个,或构建新变量(如房间总面积)。
7. 总结
| 主题 | 核心内容 |
|---|---|
| 模型假设 | 线性、独立、同方差、正态性 |
| 参数估计 | OLS: β ^ = ( X T X ) − 1 X T Y \hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{Y} β^=(XTX)−1XTY;与 MLE 等价 |
| t 检验 | H 0 : β j = 0 H_0:\beta_j=0 H0:βj=0,统计量 t = β ^ j / ( s C j j ) t = \hat{\beta}j / (s\sqrt{C{jj}}) t=β^j/(sCjj ) |
| F 检验 | H 0 : β 1 = . . . = β p = 0 H_0:\beta_1=...=\beta_p=0 H0:β1=...=βp=0, F = ( S S R / p ) / ( S S E / ( n − p − 1 ) ) F = (SSR/p)/(SSE/(n-p-1)) F=(SSR/p)/(SSE/(n−p−1)) |
| 模型诊断 | 残差图(同方差)、Q-Q图(正态性)、杠杆值、Cook距离 |
| R²与调整R² | R² 解释变异比例,调整 R² 惩罚自变量数 |
| 多重共线性 | VIF 检测,可删除变量、岭回归等处理 |