← 返回模块
Q2.6.1.3beta 可读 · 未来付费校验通过内容版本 2026-05-26

线性回归作为监督学习的基线

2.6.1 · 监督学习基础 · 数学与统计能力

线性回归作为监督学习的基线

Hook:周二早会的 OLS 提问

周二早会上,你向一家头部私募(private fund)的 PM 汇报上周的因子归因。你用沪深300 成份股过去 60 个交易日的横截面数据,对 5 个 Barra 风格因子——市值、估值、动量、质量、低波动——跑了一次普通最小二乘(ordinary least squares, OLS),这是 2.2.2 模块就熟手的动作。PM 听完没追问回归系数本身,只甩出一句更尖的话:「这套估计在样本外是否稳得住?为什么我们要相信下周把同一组因子载荷装进交易系统、它仍然在做正确的事?」翻译成本课的语言:你的 β^\hat\beta 是 1.1 节里 ERM(empirical risk minimization, 经验风险最小化)框架的特例吗?它在 1.2 节的偏差—方差恒等式里又坐在哪个位置?本节把同一台估计器重新放进监督学习的视角,给出两个新身份——经验风险极小点与极大似然估计(maximum likelihood estimation, MLE)——并诊断它崩盘的标志:协方差矩阵(covariance matrix)的条件数(condition number)爆炸。

一、假设空间与平方损失下的经验风险

锁定假设空间为所有线性函数:

Hlin={h(x)=βx:βRp}.\mathcal{H}_{\mathrm{lin}} = \{h(x) = \beta^\top x : \beta \in \mathbb{R}^p\}.

把第 1 节的平方损失(squared loss)(h(x),y)=(yh(x))2\ell(h(x), y) = (y - h(x))^2 套上去,并在样本 (X,y)(X, y) 上求经验平均,得到

R^n(β)=1nyXβ22.\widehat R_n(\beta) = \tfrac{1}{n} \| y - X \beta \|_2^2.

这就是 ERM 框架在 Hlin\mathcal{H}_{\mathrm{lin}} 上的全部目标函数——一个关于 β\beta 的严格凸二次型。它和 2.2.2 节的残差平方和 RSS(β)=yXβ22\mathrm{RSS}(\beta) = \| y - X\beta\|_2^2 仅差一个 1/n1/n 的归一化因子,极小化器相同。换句话说:你已经会算的 OLS 估计量,就是线性假设类上 ERM 的解,没有别的——监督学习的语言为它换了一身外衣,没换骨头。

二、闭式解:正规方程

R^n(β)\widehat R_n(\beta) 求梯度并令其为零,代数细节见 2.2.2 节,本节直接引用结论:正规方程(normal equations)XXβ^=XyX^\top X \hat\beta = X^\top y 解出

β^=(XX)1Xy.\hat\beta = (X^\top X)^{-1} X^\top y.

这一闭式假设设计矩阵 XX 列满秩;若 XX 列共线,XXX^\top X 不可逆,需要换成 Moore-Penrose 伪逆 X+X^+(pseudoinverse),完整算法见 2.4.1 节。正规方程的几何身份——y^=Xβ^\hat y = X\hat\betayycol(X)\mathrm{col}(X) 的正交投影、残差 e=yy^e = y - \hat y 正交于 XX 的每一列——也在 2.4.1 节给出过证明,这里只用结论。下面这个 FormulaExplorer 让你拉动一元情形下的截距与斜率,直观感受单点对 ERM 目标曲面的贡献:

Formula Explorer

(y - (beta0 + beta1 * x))^2

三、概率视角:高斯噪声下 OLS = MLE

给经验风险一个概率出身。假设数据满足 y=Xβ+εy = X\beta + \varepsilon,其中 εN(0,σ2I)\varepsilon \sim \mathcal{N}(0, \sigma^2 I) 服从多元正态分布(Gaussian distribution)。把每个观测的密度连乘、取对数,得到对数似然

logp(yX,β,σ2)=n2log(2πσ2)12σ2yXβ22.\log p(y \mid X, \beta, \sigma^2) = -\tfrac{n}{2}\log(2\pi\sigma^2) - \tfrac{1}{2\sigma^2}\| y - X\beta\|_2^2.

第一项与 β\beta 无关;第二项在 σ2>0\sigma^2 > 0 给定时是 yXβ22\| y - X\beta\|_2^2 的单调递减函数。所以​​关于 β\beta 最大化对数似然,与关于 β\beta 最小化 R^n\widehat R_n 等价​​——即极大似然估计满足 β^MLE=β^OLS\hat\beta_{\mathrm{MLE}} = \hat\beta_{\mathrm{OLS}}σ2\sigma^2 的 MLE 由对 σ2\sigma^2 求偏导后令零得出,记作 σ^MLE2=yXβ^22/n\hat\sigma^2_{\mathrm{MLE}} = \|y - X\hat\beta\|_2^2 / n,这是有偏估计,无偏修正记号 s2=RSS/(np)s^2 = \mathrm{RSS}/(n - p) 已在 2.2.2 节出现过。这一等价不是巧合:每选一种损失,本质上就是在选一种噪声模型。平方损失对应高斯噪声;下一组课会看到,把同一台机器换上 Bernoulli 或 multinomial 噪声,就长出 logistic 回归与 softmax 的家族。

四、偏差—方差分解在 OLS 上的实例化

把第 2 节的抽象身份 E[(θ^θ)2]=Bias2+VarE[(\hat\theta - \theta)^2] = \mathrm{Bias}^2 + \mathrm{Var} 喂给 OLS。在线性模型假设下(即真实数据生成过程确为 y=Xβ+εy = X\beta^* + \varepsilonεN(0,σ2I)\varepsilon \sim \mathcal{N}(0, \sigma^2 I)):

Var(β^)=σ2(XX)1.\mathrm{Var}(\hat\beta) = \sigma^2 (X^\top X)^{-1}.

偏差 Bias(β^)=0\mathrm{Bias}(\hat\beta) = 0——证明同样见 2.2.2 节。所以 β^j\hat\beta_j 的均方误差完全由 σ2(XX)1\sigma^2 (X^\top X)^{-1} 的第 jj 个对角元给出。第 2 节用直觉描绘的曲线被压成了一句可读的代数:方差的全部信息装在 (XX)1(X^\top X)^{-1} 里——你的因子矩阵长什么样,决定了估计的稳定性。​​注意「无偏」依赖于线性模型假设成立​​:若真实回归函数其实非线性,OLS 估计的是「在 Hlin\mathcal{H}_{\mathrm{lin}} 内最接近真模型的线性投影」,此时偏差不再为零,第 2 节的 Bias2\mathrm{Bias}^2 项再次出场——这是「模型设定误差」与「估计噪声」之间永恒的张力。

五、共线性、条件数与 OLS 的崩盘点

对比两个 2×22 \times 2 设计矩阵。

​良态情形​​。取 XA=(1001)X_A = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix},则 XAXA=I2X_A^\top X_A = I_2,两个特征值都是 1,条件数 κ(XAXA)=1\kappa(X_A^\top X_A) = 1。代回得 Var(β^)=σ2I2\mathrm{Var}(\hat\beta) = \sigma^2 I_2——两个系数的方差都恰好是 σ2\sigma^2

​近共线情形​​。取 XB=(1111.1)X_B = \begin{pmatrix} 1 & 1 \\ 1 & 1.1 \end{pmatrix},两列几乎平行。算出 XBXB=(22.12.12.21)X_B^\top X_B = \begin{pmatrix} 2 & 2.1 \\ 2.1 & 2.21 \end{pmatrix}det=0.01\det = 0.01,特征值约为 4.2084.2080.00240.0024κ(XBXB)1.75×103\kappa(X_B^\top X_B) \approx 1.75 \times 10^3。逆矩阵 (XBXB)1(221210210200)(X_B^\top X_B)^{-1} \approx \begin{pmatrix} 221 & -210 \\ -210 & 200 \end{pmatrix} 的对角元在 200200 量级,相比 XAX_A11,方差被放大了两个数量级。回到 Barra 因子的画面:当「市值」与「估值」在沪深300 上某段时间高度相关时,你看到的现象就是因子载荷在每周重估时大幅震荡——alpha 没飘,是 κ\kappa 把同一份噪声放大了几十倍。

这就是只靠 ERM 走到的尽头。一旦 κ(XX)\kappa(X^\top X) 上千,Var(β^)\mathrm{Var}(\hat\beta) 爆炸,无偏性带来的安慰被方差吃光。

六、练习

Exercise

X=(11121314)X = \begin{pmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 3 \\ 1 & 4 \end{pmatrix}y=(2,3,5,7)y = (2, 3, 5, 7)^\top,假设 σ2=0.04\sigma^2 = 0.04。(i) 求 OLS 估计 β^\hat\beta;(ii) 验证正规方程的恒等式 X(yXβ^)=0X^\top (y - X\hat\beta) = 0;(iii) 写出 Var(β^)\mathrm{Var}(\hat\beta)2×22 \times 2 矩阵。

提示
先算 XX=(4101030)X^\top X = \begin{pmatrix} 4 & 10 \\ 10 & 30 \end{pmatrix},行列式为 2020,于是 (XX)1=120(3010104)(X^\top X)^{-1} = \tfrac{1}{20}\begin{pmatrix} 30 & -10 \\ -10 & 4 \end{pmatrix};再算 Xy=(17,51)X^\top y = (17, 51)^\top,做一次矩阵—向量乘即可得 β^\hat\beta
提示
β^=(0,1.7)\hat\beta = (0,\, 1.7)^\top,残差 e=yXβ^=(0.3,0.4,0.1,0.2)e = y - X\hat\beta = (0.3,\, -0.4,\, -0.1,\, 0.2)^\topXeX^\top e 的两个分量是 ei\sum e_ixiei\sum x_i e_i,自己代入应得 (0,0)(0, 0)^\top。最后把 σ2=0.04\sigma^2 = 0.04 乘进 (XX)1(X^\top X)^{-1},即得 Var(β^)\mathrm{Var}(\hat\beta)

七、通向下一课

到这里你把 OLS 重新装进了监督学习的三个槽位——线性假设类上的 ERM 解、高斯噪声下的 MLE、偏差—方差恒等式的闭式实例——同时看清楚它的命门:当 XX 的列接近共线、κ(XX)\kappa(X^\top X) 飙到 10310^3 量级以上时,无偏性不再值钱,估计方差吞没了所有信号。下一课在 Hlin\mathcal{H}_{\mathrm{lin}} 上额外贴一个罚项——岭回归的 λβ22\lambda \|\beta\|_2^2、Lasso 的 λβ1\lambda \|\beta\|_1——以容量控制(capacity control)换偏差、压方差,并配合交叉验证选出最佳的 λ\lambda。同一台机器,加一根缰绳。