本系列文章基于R语言中lm函数的输出,介绍线性回归模型的例子和原理。
本文是系列文章的第二篇,将介绍线性回归模型中的一些常见假设以及基于这些假设对回归系数的检验。
本文包括以下4个小节:
1. 常见假设
2. 示例:mtcars数据集
3. 模型推导
4. 附录代码
以下内容为免费试读部分,完整文章可到公号“生信了”付费阅读
在前文《线性回归模型(OLS)1》中我们已经介绍过线性回归模型的定义以及基于普通最小二乘(OLS)求解回归系数的方法。在此我们作简要回顾:
假设我们观察到一些数据 { x i , y i } i = 1 n \{\mathbf{x}_i, y_i\}_{i=1}^n {xi,yi}i=1n,其中 x i = ( x i 1 , x i 2 , … , x i p ) T \mathbf{x}_i=(x_{i1},x_{i2},\ldots,x_{ip})^\mathsf{T} xi=(xi1,xi2,…,xip)T,线性回归模型研究因变量 y i y_i yi 和自变量 x i \mathbf{x}_i xi 之间的关系:
y
i
=
β
0
+
β
1
x
i
1
+
β
2
x
i
2
+
⋯
+
β
p
x
i
p
+
ϵ
i
=
∑
j
=
0
p
β
j
x
i
j
+
ϵ
i
,
(
x
i
0
=
1
)
其中 β j \beta_j βj 是回归系数,而 ϵ i \epsilon_i ϵi 是误差项。上面的式子用矩阵表示就是:
y
=
X
β
+
ϵ
OLS要求最优的回归系数 β ^ \hat{\boldsymbol{\beta}} β^ 应该让所有观测数据的误差项平方的和最小,即
β
^
=
arg
min
β
∥
y
−
X
β
∥
2
据此得到其解析解,作为OLS方法下得到的回归系数的估计值:
β
^
=
(
X
T
X
)
−
1
X
T
y
实际上,当我们对数据和模型添加一些假设后,我们可以对模型进行更详尽的分析。对OLS而言,除了基础假设“因变量与自变量之间是线形关系”之外,常用的假设包括:
E
[
ϵ
∣
X
]
=
0
var
[
ϵ
∣
X
]
=
σ
2
I
n
ϵ
∼
N
(
0
,
σ
2
I
n
)
rank
(
X
)
=
p
+
1
在上述几个前提条件下,我们可以证明:
E
[
β
^
]
=
β
var
[
β
^
]
=
σ
2
(
X
T
X
)
−
1
β
^
∼
N
(
β
,
σ
2
(
X
T
X
)
−
1
)
在对回归系数估计值作假设检验时,一般零假设(null hypothesis)为 β j = 0 \beta_j = 0 βj=0。我们可以证明(见下文)在此零假设条件下,我们可以构建一个统计量 T j T_j Tj 符合 t t t 分布(注意到 X \mathbf{X} X 是一个 n × ( p + 1 ) n \times (p+1) n×(p+1) 的矩阵):
T
j
=
β
^
j
s
.
e
.
^
(
β
^
j
)
∼
t
n
−
p
−
1
,
j
=
0
,
1
,
…
,
p
其中 β ^ j \hat{\beta}_j β^j 的“标准差” s . e . ^ ( β ^ j ) \widehat{\mathrm{s.e.}}(\hat{\beta}_j) s.e. (β^j) 为:
s
.
e
.
^
(
β
^
j
)
=
s
2
(
X
T
X
)
j
j
−
1
而
s
2
=
(
y
−
X
β
^
)
T
(
y
−
X
β
^
)
n
−
p
−
1
我们可以证明,上式中 s 2 s^2 s2 是 σ 2 \sigma^2 σ2 的一个无偏估计,即
E
[
s
2
]
=
σ
2
并且 ( n − p − 1 ) s 2 / σ 2 (n-p-1)s^2/\sigma^2 (n−p−1)s2/σ2 符合自由度是 n − p − 1 n-p-1 n−p−1 的卡方分布。
(
n
−
p
−
1
)
s
2
σ
2
∼
χ
n
−
p
−
1
2
我们会在“模型推导”小节中给出证明过程。
下文首先给出一个R语言中线性回归模型的例子,然后介绍其背后的原理。