线性模型使用范围
相比于非线性模型,线性模型更适用于:
- 小数据集
- 低信噪比
- 稀疏数据
线性回归模型
约定数据集$X=(X_1,X_2,...,X_p)$有p个特征,$X_j \in R^N$共N个样本。
$$f(X)=\beta_0+\sum_{i=1}^p X_j\beta_j$$
给X增加一列1,$X=(1, X_1,X_2,...,X_p)$, $\beta=(\beta_0, \beta_1, ..., \beta_p)^T$,上式可写成矩阵形式:
$$f(X)=X\beta$$
这里的$f(X)$为真实模型,$\beta$为真实模型参数,相对应的有估计模型和估计参数, 估计模型的结果为估计的响应变量y
$$\hat{y}=\hat{f}(X)=X\hat{\beta}$$
在统计学习里,我们一般认为真实的,即观测到的响应变量为估计与误差的叠加
$$y=\hat f(X)+\varepsilon=X \hat \beta+\varepsilon$$
这里$\varepsilon=(\varepsilon_0, \varepsilon_1,...,\varepsilon_N)^T$, 是每个样本预测值和真实值的误差组成的向量,假设它服从高斯分布
$$\varepsilon \sim N(0, \sigma^2I_N )$$
那么y也服从高斯分布
$$y \sim N(X\beta, \sigma^2I_N )$$
根据X的不同来源,线性模型的表达能力可以得到极大的扩展:
- 定量输入
- 定量输入的变换,如log, 平方根,平方
- 基展开,如$X_2=X_1^2, X_3=X_1^3$
- 哑变量,类别变量做独热编码变成的由0,1组成的稀疏矩阵
- 交互项,如$X_3=X_1X_2$
最小二乘法
求解方法与理解
为了求得真实模型,我们希望y和$\hat{y}=X\hat \beta$的误差尽量小,因此需要求得使残差平方和$RSS(\beta)=(y-X\beta)^T(y-X\beta)$最小的模型参数$\beta$,这是无约束二次优化问题,直接求导即可
$$\frac{\partial RSS(\beta)}{\partial \beta}=-2X^T(y-X\beta)=0$$
$$X^TX\beta = X^Ty$$
当X列满秩时,若以y为未知数,方程组Xy=0中y只有0解,而这里y≠0,因此Xy≠0,所以$y^T(X^TX)y=(Xy)^T(Xy)>0$,即$X^TX$正定,非奇异,则
$$\hat{\beta} = (X^TX)^{-1}X^Ty$$
其实,要使所求解为极小值点也必须满足
$$\frac{\partial ^2RSS(\beta)}{\partial \beta \partial \beta^T}=2X^TX>0$$
因此X列满秩是必须满足的条件。下面只讨论X列满秩的情况。
那么
$$\hat{y} =X\hat{\beta}$$
可见,$\hat{y}$是X列向量的线性组合,$\hat{y} \in span
$$dim(\hat y)=p+1$$
真实的$y=f(X)+\varepsilon$, 由于误差的存在,y不在X的列空间里边。所以,对于最小二乘法来说,最小化残差平方和$min||y-\hat{y}||^2$即找到一个$\hat y$使得$y-\hat y$正交于X的列空间。此时,$||y-\hat{y}||$取得最小值,放张图感受一下。
根据维数公式,有
$$\begin{aligned}dim(y)
&=dim(\hat y) + dim(y-\hat y)-dim(\hat y\bigcap (y-\hat y))\
&=dim(\hat y) + dim(y-\hat y)\
\end{aligned}$$
所以,$dim(y-\hat y) = dim(y)-dim(\hat y) = N-(p+1)$(求这个是为了后面求卡方分布的自由度)
那么,什么是回归?就是求y在X列空间的投影,所以我们说$\hat{y}$是y在X上的回归。而最小二乘法所做的就是找到这种正交映射。令$H=X(X^TX)^{-1}X^T$
$$\hat{y} =X\hat{\beta}=X(X^TX)^{-1}X^Ty=Hy$$
H就是这个投影矩阵。
$\hat \beta$的期望与方差
我们估计的$\hat{\beta}$与真实的$\beta$差别有多大呢?
$$\begin{aligned}E_{Y|X}(\hat{\beta})
&=E_{Y|X}((X^TX)^{-1}X^Ty)\\
&=(X^TX)^{-1}X^TE_{Y|X}(y)\\
&=(X^TX)^{-1}X^TX\beta\\
&=\beta
\end{aligned}$$
可见,用最小二乘法所估计出来的模型参数是无偏估计。
$$\begin{aligned}Var_{Y|X}(\hat \beta)
&=E_{Y|X}[(\hat{\beta}-E_{Y|X}(\hat{\beta}))(\hat{\beta}-E_{Y|X}(\hat{\beta}))^T]\\
&=E_{Y|X}[((X^TX)^{-1}X^T\varepsilon)((X^TX)^{-1}X^T\varepsilon)^T]\\
&=E_{Y|X}[(X^TX)^{-1}X^T\varepsilon \varepsilon^TX(X^TX)^{-1}]\\
&=(X^TX)^{-1}X^TE_{Y|X}(\varepsilon \varepsilon^T)X(X^TX)^{-1}\\
&=(X^TX)^{-1}X^TX(X^TX)^{-1}E(\varepsilon \varepsilon^T)\\
&=(X^TX)^{-1}E(\varepsilon \varepsilon^T)\\
&=(X^TX)^{-1}[E(\varepsilon \varepsilon^T)-0]\\
&=(X^TX)^{-1}[E(\varepsilon \varepsilon^T)-E^2(\varepsilon)]\\
&=(X^TX)^{-1}Var(\varepsilon)\\
&=(X^TX)^{-1}\sigma^2I_N\\
\end{aligned}$$
其中
$$\begin{aligned}\hat{\beta}-E_{Y|X}(\hat{\beta})
&=(X^TX)^{-1}X^Ty-\beta\\
&=(X^TX)^{-1}X^Ty-(X^TX)^{-1}X^TX\beta\\
&=(X^TX)^{-1}X^T(y-X\beta)\\
&=(X^TX)^{-1}X^T\varepsilon\\
\end{aligned}$$
另外,如果我们能估计出$\sigma$,那么也就能估计出$Var(\hat \beta)$, 也就能求出$\hat \beta$的置信区间了。
我们知道,误差服从高斯分布
$$y-\hat y \sim N(0, \sigma^2I_N)$$
残差平方和服从自由度为N-p-1的卡方分布(一个高斯分布的平方自然是$\chi ^ 2$分布了),所以有
$$E||y-\hat y||^2 = (N-p-1)\sigma^2 $$
则
$$\sigma^2 = \frac{1}{N-p-1}E||y-\hat y||^2$$
$$\hat \sigma^2 = \frac{1}{N-p-1}\sum_{i=1}^N(y_i-\hat y_i)^2$$可证明,上面的$\hat \sigma$是$\sigma$的无偏估计。因此
$$E(\hat \beta)=\beta$$
$\hat \beta_j$的假设检验
单个$\hat \beta_j$的假设检验
由$\hat{\beta} = (X^TX)^{-1}X^Ty$,以及y服从高斯分布可知,$\hat{\beta}$也服从高斯分布
$$\hat{\beta} \sim N(\beta, (X^TX)^{-1}\hat \sigma^2I_N)$$
写成分量形式,对于 j=1,2,…,N,
$$\hat{\beta_j} \sim N(\beta_j, v_{jj} \hat \sigma^2)$$
其中,$v_{jj}$为$(X^TX)^{-1}$的第j个对角元,$v_{jj} \hat \sigma^2$是$\hat{\beta_j}$的方差,其标准差应为$\sqrt{v_{jj}} \hat \sigma$。不过,我们不知道是否有$v_{jj} > 0$
设$u \in R^{p+1}$列向量,构造$w=(X^TX)^{-1}u$,也是p+1维列向量,自然有$u=X^TXw$,因此
$$\begin{aligned}u^T(X^TX)^{-1}u
&=(X^TXw)^T(X^TX)^{-1}X^TXw \\
&=w^TX^TX(X^TX)^{-1}X^TXw \\
&=w^TX^TXw \\
&=(Xw)^T(Xw) \geq0
\end{aligned}$$
显然,只有当u=0时,才有w=0,进而才恒有$u^T(X^TX)^{-1}u=0$, 因此$(X^TX)^{-1}$正定,故$v_{jj}>0$,此时我们可以写出参数$\hat \beta_j$的z分数了。
$$z=\frac{\hat \beta_j}{std(\hat \beta_j)}=\frac{\hat \beta_j}{ \sqrt{v_{jj}}\hat \sigma} \sim t_{N-p-1}$$
在原假设$\hat \beta_j=0$下,z服从自由度为N-p-1的t分布(一个高斯分布除以一个$\chi ^ 2$分布的平方根,自然是t分布了),绝对值大的z分数,其对应的p值(可以查t分布表)也就越小,越可以拒绝原假设,即$\hat \beta_j>0$,相应的特征$X_j$应该被保留。
当N足够大时,t分布近似于高斯分布,t分布的尾分数与高斯分布的尾分数几乎相等,因此也可认为z服从高斯分布。这是一般的假设检验过程,这里不详述了。
多个$\hat \beta_j$的假设检验
F统计量可检验一组系数是否可置0,
$$F=\frac{(RSS_0-RSS_1)/(p_1-p_0)}{RSS_1/(N-p_1-1)}$$
其中$RSS_1$是用较大模型(参数多)算出来的残差平方和,$p_1$是该模型的参数数量(特征维数),$RSS_0$是较小模型的残差平方和,$p_0$是该模型的参数数量(特征维数)。在高斯假设下,设较小模型更正确为零假设下,F统计量服从$F_{p_1-p_0, N-p_1-1}$分布,可查表得到相应p值以判断是否拒绝原假设,即较小模型是否更好。
$\hat \beta_j$的置信区间
上面提到参数$\hat \beta_j$的z分数
$$z=\frac{\hat \beta_j}{ \sqrt{v_{jj}\hat \sigma^2}} \sim t_{N-p-1}$$
z服从自由度为N-p-1的t分布,那么z的$1-\alpha$置信区间为
$$(-z^{1-{\alpha \over 2}}, z^{1-{\alpha \over 2}})$$
因此真实模型参数$\beta_j$的$1-\alpha$置信区间为
$$(\hat \beta_j-z^{1-{\alpha \over 2}}v_{jj}^{1 \over 2}\hat \sigma, \hat \beta_j+z^{1-{\alpha \over 2}}v_{jj}^{1 \over 2}\hat \sigma)$$
其中$z^{1-{\alpha \over 2}}$可通过查表得到。比如我想要个95%置信区间
$$\alpha=1-0.95=0.05$$
$$1-{\alpha \over 2}=1-0.025=0.975$$
若样本较多,N很大,可查标准正太分布表有
$$z^{1-{\alpha \over 2}}=z^{0.975}=1.96$$
所以$\beta_j$的95%置信区间为
$$(\hat \beta_j-1.96v_{jj}^{1 \over 2}\hat \sigma, \hat \beta_j+1.96v_{jj}^{1 \over 2}\hat \sigma)$$
总结自The Elements of Statistical Learning