线性模型使用范围

相比于非线性模型,线性模型更适用于:
1. 小数据集
2. 低信噪比
3. 稀疏数据

1. 线性回归模型

约定数据集X=(X1,X2,...,Xp)有p个特征,Xj∈RN共N个样本。


f(X)=β0+∑i=1pXjβj

给X增加一列1,X=(1,X1,X2,...,Xp), β=(β0,β1,...,βp)T,上式可写成矩阵形式:


f(X)=Xβ

这里的f(X)为真实模型,β为真实模型参数,相对应的有估计模型和估计参数, 估计模型的结果为估计的响应变量y


y^=f^(X)=Xβ^

在统计学习里,我们一般认为真实的,即观测到的响应变量为估计与误差的叠加


y=f^(X)+ε=Xβ^+ε

这里ε=(ε0,ε1,...,εN)T, 是每个样本预测值和真实值的误差组成的向量,假设它服从高斯分布


ε∼N(0,σ2IN)

那么y也服从高斯分布


y∼N(Xβ,σ2IN)

根据X的不同来源,线性模型的表达能力可以得到极大的扩展:

  • 定量输入
  • 定量输入的变换,如log, 平方根,平方
  • 基展开,如X2=X21,X3=X31
  • 哑变量,类别变量做独热编码变成的由0,1组成的稀疏矩阵
  • 交互项,如X3=X1X2

2. 最小二乘法

2.1 求解方法与理解

为了求得真实模型,我们希望y和y^=Xβ^的误差尽量小,因此需要求得使残差平方和RSS(β)=(y−Xβ)T(y−Xβ)最小的模型参数β,这是无约束二次优化问题,直接求导即可


∂RSS(β)∂β=−2XT(y−Xβ)=0



XTXβ=XTy

当X列满秩时,若以y为未知数,方程组Xy=0中y只有0解,而这里y≠0,因此Xy≠0,所以yT(XTX)y=(Xy)T(Xy)>0,即XTX正定,非奇异,则


β^=(XTX)−1XTy

其实,要使所求解为极小值点也必须满足


∂2RSS(β)∂β∂βT=2XTX>0

因此X列满秩是必须满足的条件。下面只讨论X列满秩的情况。
那么


y^=Xβ^

可见,y^是X列向量的线性组合,y^∈span<X0,X1,...,Xp>,所以


dim(y^)=p+1

真实的y=f(X)+ε, 由于误差的存在,y不在X的列空间里边。所以,对于最小二乘法来说,最小化残差平方和min||y−y^||2即找到一个y^使得y−y^正交于X的列空间。此时,||y−y^||取得最小值,放张图感受一下。

稀疏矩阵 LASSO回归 稀疏线性回归_假设检验


根据维数公式,有

dim(y)==dim(y^)+dim(y−y^)−dim(y^⋂(y−y^))dim(y^)+dim(y−y^)

所以,dim(y−y^)=dim(y)−dim(y^)=N−(p+1)(求这个是为了后面求卡方分布的自由度)
那么,什么是回归?就是求y在X列空间的投影,所以我们说y^是y在X上的回归。而最小二乘法所做的就是找到这种正交映射。令H=X(XTX)−1XT


y^=Xβ^=X(XTX)−1XTy=Hy

H就是这个投影矩阵。

2.2 β^的期望与方差

我们估计的β^与真实的β差别有多大呢?


EY|X(β^)====EY|X((XTX)−1XTy)(XTX)−1XTEY|X(y)(XTX)−1XTXββ

可见,用最小二乘法所估计出来的模型参数是无偏估计。


VarY|X(β^)==========EY|X[(β^−EY|X(β^))(β^−EY|X(β^))T]EY|X[((XTX)−1XTε)((XTX)−1XTε)T]EY|X[(XTX)−1XTεεTX(XTX)−1](XTX)−1XTEY|X(εεT)X(XTX)−1(XTX)−1XTX(XTX)−1E(εεT)(XTX)−1E(εεT)(XTX)−1[E(εεT)−0](XTX)−1[E(εεT)−E2(ε)](XTX)−1Var(ε)(XTX)−1σ2IN

其中


β^−EY|X(β^)====(XTX)−1XTy−β(XTX)−1XTy−(XTX)−1XTXβ(XTX)−1XT(y−Xβ)(XTX)−1XTε

另外,如果我们能估计出σ,那么也就能估计出Var(β^), 也就能求出β^的置信区间了。
我们知道,误差服从高斯分布


y−y^∼N(0,σ2IN)



y−y^σ∼N(0,IN)



||y−y^||2σ2∼χ2dim(y−y^)=χ2N−p−1



||y−y^||2∼σ2χ2N−p−1


残差平方和服从自由度为N-p-1的卡方分布(一个高斯分布的平方自然是

χ2分布了),所以有



E||y−y^||2=(N−p−1)σ2



σ2=1N−p−1E||y−y^||2



σ^2=1N−p−1∑i=1N(yi−y^i)2

可证明,上面的σ^是σ的无偏估计。因此


E(β^)=β



Var(β^)=(XTX)−1σ^2IN

2.3 β^j的假设检验

2.3.1 单个β^j的假设检验

由β^=(XTX)−1XTy,以及y服从高斯分布可知,β^也服从高斯分布


β^∼N(β,(XTX)−1σ^2IN)

写成分量形式,对于 j=1,2,…,N,


βj^∼N(βj,vjjσ^2)

其中,vjj为(XTX)−1的第j个对角元,vjjσ^2是βj^的方差,其标准差应为vjj−−−√σ^。不过,我们不知道是否有vjj>0

设u∈Rp+1列向量,构造w=(XTX)−1u,也是p+1维列向量,自然有u=XTXw,因此


uT(XTX)−1u====(XTXw)T(XTX)−1XTXwwTXTX(XTX)−1XTXwwTXTXw(Xw)T(Xw)≥0

显然,只有当u=0时,才有w=0,进而才恒有uT(XTX)−1u=0, 因此(XTX)−1正定,故vjj>0,此时我们可以写出参数β^j的z分数了。


z=β^jstd(β^j)=β^jvjj−−−√σ^∼tN−p−1

在原假设β^j=0下,z服从自由度为N-p-1的t分布(一个高斯分布除以一个χ2分布的平方根,自然是t分布了),绝对值大的z分数,其对应的p值(可以查t分布表)也就越小,越可以拒绝原假设,即β^j>0,相应的特征Xj应该被保留。
当N足够大时,t分布近似于高斯分布,t分布的尾分数与高斯分布的尾分数几乎相等,因此也可认为z服从高斯分布。这是一般的假设检验过程,这里不详述了。

2.3.2 多个β^j的假设检验

F统计量可检验一组系数是否可置0,


F=(RSS0−RSS1)/(p1−p0)RSS1/(N−p1−1)

其中RSS1是用较大模型(参数多)算出来的残差平方和,p1是该模型的参数数量(特征维数),RSS0是较小模型的残差平方和,p0是该模型的参数数量(特征维数)。在高斯假设下,设较小模型更正确为零假设下,F统计量服从Fp1−p0,N−p1−1分布,可查表得到相应p值以判断是否拒绝原假设,即较小模型是否更好。

2.4 β^j的置信区间

上面提到参数β^j的z分数


z=β^jvjjσ^2−−−−√∼tN−p−1

z服从自由度为N-p-1的t分布,那么z的1−α置信区间为


(−z1−α2,z1−α2)

因此真实模型参数βj的1−α置信区间为


(β^j−z1−α2v12jjσ^,β^j+z1−α2v12jjσ^)

其中z1−α2可通过查表得到。比如我想要个95%置信区间


α=1−0.95=0.05



1−α2=1−0.025=0.975

若样本较多,N很大,可查标准正太分布表有


z1−α2=z0.975=1.96

所以βj的95%置信区间为


(β^j−1.96v12jjσ^,β^j+1.96v12jjσ^)


总结自The Elements of Statistical Learning