6.2 回归分析

1 回归的概念 线性回归的导出

回顾 前面的定义, 回归就是要对数值变量寻找线性关系. 如果只是二维情况, 这直观地等价于找一条直线能很好拟合坐标平面上看起来很线性的一列点.
现在从理论的角度, 假设 (X,Y) 有联合概率分布, 且存在 二阶矩, 则当 X=x, 可以确定 Y 的条件分布 P(⋅|x), 从而有一个条件均值 E[Y|x] 是关于 x 的函数. 如图所示.

Pasted image 20260102151230.png|300

图中的虚线是 Y 条件密度, 它们按着这个分布散布在 y=E[Y|x] 上下.

回归

称上面的 E[Y|x] 为 Y 对 x 的回归函数.
X 是回归因子, Y 是因变量/回归量. 可以把 E[Y|x] 看作 Y 的一个预报, 记为 Y^x=E[Y|x].
X,Y 的地位一般不对称, 我们会事先默认一个因果关系.

现在我们需要考虑, 把 x 换成一个 f(x) 进行回归, 是否结果会比 E[Y|x] 更好? 我们首先要定义好坏的标准.

最小均方误差预测

如果 M(X) 满足 E[Y−M(X)]2=minfE[Y−f(X)]2, 则称 M(X) 为对 Y 的最小均方误差预测.

条件期望就是最小均方误差预测

在上述定义中, E[Y|X] 就是最小均方误差预测. 并且 E[Y|X] 与 Y 的 相关系数 达到极大值 Var(M)Var(Y), 其中 Var(M) 是 M(X)=E[Y|X] 的方差.

从上面的证明看出, Y^x=E[Y|x] 时, 预测误差 ε=Y−E[Y|x] 满足 Eε=0,Var(ε)=Eε2=Var(Y)−Var(M).
(记号改写成 εx=Yx−E[Y|x]).

定义预测精度 λ=Var(ε)Var(Y). 有 λ=1−Var(M)Var(Y)=1−ρ2(Y,M).
现在把模型改写成 Yx=E[Y|x]⏟主要部分+εx⏟预测误差.
如果 E[Y|x] 是关于 x 的线性函数, 即 E[Y|x]=β0+β1x1+⋯+βpxp, 则模型改写为

线性回归模型
(1.1)Yx=β0+β1x1+⋯+βpxp+εx.

1.1 正态情形

在正态情形下, 线性函数的预测是最佳的.
设 z=(y,x1,⋯,xp)T∼N(v,V) 服从 p+1 维正态分布, 密度函数为 f(z)=(2π)−p+12(detV)−12exp⁡{−12(z−v)TV−1(z−v)}. 记 V−1=[v11vTvV22] (v∈Rp), Ey=θ,Ex=μ→. 记 x 的边缘密度为 φ(x), 则 E[Y|x]=∫−∞∞y(2π)−p+12(detV)−12exp⁡{−12(z−v)TV−1(z−v)}φ(x)−1dy. 将 Q=(z−v)TV−1(z−v) 关于 y 重新配方, Q=(y−θ)2v11+2(y−θ)vT(x−μ)+(x−μ)TV22(x−μ)=v11[y−θ+(v11)−1vT(x−μ)]2+c,
从而 Y 的条件密度是正态的, 所以 E[Y|x]=θ−(v11)−1VT(x−μ) 是关于 x 的线性函数.

1.2 最小均方误差线性预测

最小均方误差线性预测

如果在 x 的线性函数类 {c0+cTx} 中, M(x) 满足 E[Y−M(x)]2=minc0,cE[Y−c0+cTx]2, 则称 M(x) 是对 Y 的最小均方误差线性预测.

最小均方误差线性预测的求法

记 Cov(YX)=(σY2σYXσXYTΣXX), 其中 ΣXX 可逆, σY2=Var(Y), σYX=σXYT=(Cov(Y,X1),⋯,Cov(Y,Xp)), ΣXX=Cov(X,X). 则 (1.2)M(x)=EY−σYXΣXX−1Ex+σYXΣXX−1x.

容易看出 M(x) 对 Y 的预测是无偏的, 预测精度为 λL=1−σYXΣXX−1σXYTσY2=1−ρY,X2. 一般 λL 大于 这里的 λ.

记 β0=EY−σYXΣXX−1Ex, β=ΣXX−1σXYT, 得总体线性回归模型为 (1.3)Y=β0+βTx+ε.
称 y=β0+βTx 为回归方程, β 称为回归系数.

2 回归系数的估计 经验回归

在实际问题中, 我们无法得到总体的二阶矩, 需要用样本来估计. 设容量为 n 的简单随机样本 y=(y1⋮yn),X=(x11⋯x1p⋮⋱⋮xn1⋯xnp), 记 1=(1,⋯,1)T, 得样本模型 y=(1X)(β0β)+ε.

假设这个式子就是回归分析模型. 此时设计矩阵的秩 rank((1X))=p+1.[1] 简记 Z=(1X), θ=(β0βT)T. 从而上式改写为 y=Zθ+ε.

考虑最小二乘问题 ||y−Zθ^||2=minθ∈Rp+1||y−Zθ||2.

ZTZθ^=ZTy.

由此得到解 (2.1)θ^=(ZTZ)−1ZTy.
它就是 θ 的最小二乘估计. [2] 记 θ^=(β^0β^T)T, 则它称为 β0,β 的经验回归系数. 相应的 (2.2)y^=β^0+β^Tx 就是经验回归方程, β^0+β^Tx 是经验回归函数.

在 p=1 时,

有 (2.3){β^0=∑i=1nxi2∑i=1nyi−∑i=1nxi∑i=1nxiyin∑i=1nxi2−(∑i=1nxi)2,β^1=n∑i=1nxiyi+∑i=1nxi∑i=1nyin∑i=1nxi2−(∑i=1nxi)2.
一般情形下, (2.4)(β^0β^)=(n1TXXT1XTX)−1(1TyXTy).

3 预测区域

我们需要衡量预测的可靠性, 也即如何找到一个区域, 它包含待预测的 y∗ 的概率不低于 1−α? (也即前面的 置信区间). 我们假设总体分布 y∼Nn(Xβ,σ2I).

引理

设 Y∼Nn(μ,I), A 是 n 阶对称阵, B 是 n×m 阶阵, 则有

  1. YTAY∼χr2(δ) 等价于 A 是对称幂等阵[3], 其中 r=rank(A), δ2=μTAμ.
  2. 当 YTAY∼χr2(δ) 时 YTAY⊥⊥BTY⟺BTA=0.

现在对回归模型 Y=Xβ+ε, 记最小二乘估计为 β^=(XTX)−1XTy. 称残差平方和为 Sε2=||y−xβ^||2. 容易看出 Sε2=yTPX⊥y, 这里 PX⊥=I−X(XTX)−1XT 是正投影阵. 而 y^=Xβ^=PXy, 这里 PX=X(XTX)−1XT 是 span{Col(X)} 的正投影阵. 于是

⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'

Excalidraw Data

Text Elements

y
O
x1
x2
x*beta
C(X)
HY
(I-H)Y

定理

在上述记号下 β^∼Np(β,σ2(XTX)−1),y^∼Nn(Xβ,σ2PX),σ−2Sε2∼χn−p2, 且 β^,y^,Sε2 独立. 其中 p 是 X 的列数.

如果在历史样本基础上已经得到回归方程 y^=XTβ^, 且有新的试验点 x∗=(x1,⋯,xp)T. 现在需要求 x∗ 上的观察值 y∗.
因为 y∗∼N1(x∗Tβ,σ2). 令 y^∗=x∗Tβ^=x∗T(XTX)−1XTy, 得 y∗−y^∗∼N1(0,σ∗2). 因为 y∗⊥⊥y, 因而也和 y^∗ 独立. 故 σ∗2=σ2+σ2x∗T(XTX)−1x∗=σ2ρ2, 这里 ρ2=1+x∗T(XTX)−1x∗. 根据 定理, σ−2Sε2∼χn−p2, 且 Sε2⊥⊥y∗−y^∗. 故 T=y∗−y^∗Sερn−p∼tn−p.
记 tn−p(α) 是 tn−p 上的 α 分位点 [4]. 对于置信系数 1−α, P(|T|≤tn−p(α2))=1−α, 从而得到区间 y^∗±tn−p(α2)Sερ(n−p)−12.

我们可以把 y1,y2 看作 x∗=(x1∗,⋯,xp∗) 的函数, 则 y=y1,y=y2 是 Rp+1 中的两个曲面, 它们夹的区域称为预测带.

如果有 m 个试验点 x∗=(xαl) 上的观察值 y∗=(y1∗,⋯,ym∗)T 的预测区域, 则可以仿照上面给出. 此时 y^∗=X∗β^=X∗(XTX)−1XTy. 由 y∗⊥⊥y⇒y∗⊥⊥y^∗, 从而E(y∗−y^∗)=0,Cov(y∗−y^∗)=σ2Im+σ2X∗(XTX)−1X∗T. 记 Σ=Im+X∗(XTX)−1X∗T, 它当然是正定矩阵.
因为 σ−1Σ−12(y∗−y^∗)∼Nm(0,Im), 有 σ−2(y∗−y^∗)TΣ−1(y∗−y^∗)∼χm2. 因为 y∗,y^∗⊥⊥Sε2, 我们有 F=(y∗−y^∗)TΣ−1(y∗−y^∗)Sε2⋅n−pm∼Fm,n−p. 此时 P((y∗−y^∗)TΣ−1(y∗−y^∗)≤mn−pSε2Fm,n−p(α))=1−α. 由于 c(y)={y|(y−y^∗)TΣ−1(y∗−y^∗)≤mn−pSε2Fm,n−p(α)} 是 Rm 中的椭球, 得 c(y) 是 y∗ 的 1−α 置信系数的预测区域.

3.1 预测区域的精度

预测区域"包含"y∗"这件事并没有什么意义, 还需要让预测区域越小越好. 当 m=1, 取 Δ=y2−y1 (区间长度), 则 Δ2=(y2−y1)2=(tn−p(α2))2Sε2(1+x∗T(XTX)−1x∗)(n−p)−1. 不难算出均值 EΔ2=(tn−p(α2))2σ2(1+x∗T(XTX)−1x∗)>(tn−p(α2))2σ2.
称 XTX 为信息矩阵, 它如果特征值很小, 则预测精度可能很低.
而对于多个点的情形, 注意到 E[mn−pSε2Fm,n−p(α)]=mσ2Fm,n−p(α), 且 Σ−1 特征值小于 1. 可以计算出它的精度低于 m=1 的情形.

4 显著性检验

我们现在可以从样本来进行线性回归. 但是所得回归函数是否是整个原模型的好的拟合? 我们可以进行假设检验.

4.1 检验系数是否为 0 向量

为了检验模型 y=1β0+Xβ+ε 的合理性, 可以提出假设 H0:β=0. 这里如果接受 H0 则显然线性模型很不可信. 虽然拒绝 H0 也不一定说明线性性, 但至少我们倾向于接受模型.

为了检验 H0, 记 Sε2=minβ0,β||y−1β0−Xβ||2,S02=minβ0||y−1β0||2. 已知 Sε2=||P(1X)⊥y||2=yTP(1X)⊥y, 容易算出 S02=||P1⊥y||2=yTP1⊥y.
H0 成立时, E0(S02)=E0(tr(P1⊥yyT))=tr(P1⊥E0(yyT))=tr(P1⊥[Covy+E0y(E0y)T])=(n−1)σ2.
H0 不成立时, 如果假设原模型为真, 则 E1(S02)=(n−1)σ2+||P1⊥Xβ||2>E0(S02).
因此考虑 S02 较大时拒绝 H0. 但是 S02∼σ2χn−12, 含有未知参数, 不能作为检验量. 为此引入 SH2=S02−Sε2, 则 SH2=yT(P(1X)−P1)y≥0. 因为 SH2+Sε2=S02, 由 Cochran定理 有 σ−2SH2∼χp2(δ),σ−2Sε2∼χn−p−12, 且两者独立. 故 F=SH2Sε2⋅n−p−1p∼Fp,n−p−1,δ.
当 H0 成立时 δ2=σ−2β01T(P(1X)−P1)1β0=0, 从而 F∼Fp,n−p−1. 从而得到拒绝域 {F≥Fp,n−p−1(α)}.

4.2 检验分量是否为 0

我们还需要检验 H0i:βi=0. 这用来检验各个因子是否显著.
为了讨论方便, 假设 β0=0, 此时回归函数变为 y=Xβ^, 其中 β^=(XTX)−1XTy,β^i=eiT(XTX)−1XTy, 而 ei=(0,⋯,0,1⏟i,0,⋯,0)T. 记 c=(XTX)−1=(cij), 则 β^i∼N(βi,σ2cii). 由于残差平方和 Sε2=yTPX⊥y⊥⊥β^i, 令 F=β^i2ciiSε2(n−p). 当 H0i 成立, F∼F1,n−p. 因此拒绝域为 {F≥F1,n−p(α)}.

如果接受 H0i, 剔除 xi, 记剔除第 i 列的 X 为 X∗, 模型变为 y=X∗β∗+ε, 然后重新估计 y^=X∗β^∗. 记 β^∗=(β^∗1,⋯,β^∗i−1,β^∗i+1,⋯,β^∗p)T (去掉了 i), 则

β^∗j=β^j−cjiciiβ^i(j≠i).

5 回归因子挑选

上一小节介绍了用显著性检验来判断是否要加入因子. 在此基础上我们有挑选因子的逐步回归算法.
对线性回归模型 y=Xβ+ε, 如果人为丢掉一部分回归因子 (不妨设后面 p−r 个), 预测效果会怎么变?

由于 σ2c22 正定, β(2)β(2)T 唯一非零特征值是 ||β(2)||2=β(2)Tβ(2), 故 ||β(2)|| 较小时 σ2c22−β(2)β(2)T 可以正定. 此时 y^ 不如 y^∗, 因为 E(ε^2)>E(ε^∗2).


  1. 因为这是回归分析模型, X 的值可以连续变化, 所以基本上就是满秩. ↩︎

  2. 当然用 矩阵求导 也可以, 但这里的方法更加本质一些. ↩︎

  3. 幂等也即 A2=A. ↩︎

  4. 即 P(T≥tn−p(α))=α. ↩︎