目录
本笔记为DataWhale 9月GitModel课程的学习内容,链接为:https://github.com/Git-Model/Modeling-Universe/Data Analysis and Statistical Modeling/task_02 回归分析1_线性回归模型必知必会/回归1.ipynb
建模流程:
一、背景知识:
1. 数据分类
以抽样时间点与抽样个体数目为维度划分数据类型:
下面按照
二、建模
1. 线性回归模型:
线性回归模型可表示为:
y
=
β
0
+
β
1
x
1
+
⋯
+
β
p
x
p
+
u
,
E
(
u
∣
x
1
,
⋯
,
x
p
)
=
0
y=\beta_{0}+\beta_{1} x_{1}+\cdots+\beta_{p} x_{p}+u, \quad E\left(u \mid x_{1}, \cdots, x_{p}\right)=0
y=β0+β1x1+⋯+βpxp+u,E(u∣x1,⋯,xp)=0
2. 多元线性回归
一般的多元线性回归模型可写成:
y
=
β
0
+
β
1
x
1
+
⋯
+
β
k
x
k
+
u
y=\beta_{0}+\beta_{1} x_{1}+\cdots+\beta_{k} x_{k}+u
y=β0+β1x1+⋯+βkxk+u
注:多个变量共同回归绝不等同于多个变量各自进行单变量回归。
三、参数估计
1. 参数估计思想——OLS估计
- 线性回归中最常用、最经典的系数估计方法——普通最小二乘估计法(Ordinary Least Squares, OLS)。
- 其衡量标准为:直线尽可能贴合样本点,即在所有直线当中,我们要选出一条离所有样本点距离的总和最小的直线。
- 不同的距离定义方法是不同估计法的一大区别,OLS对距离的定义是:残差的平方
u
^
i
2
\hat{u}_i^2
u^i2。因此OLS估计的思想是:OLS估计求得的系数
β
^
0
\hat{\beta}_0
β^0、
β
^
1
\hat{\beta}_1
β^1,将使直线与所有样本的拟合残差的平方和最小,即
( β ^ 0 , β ^ 1 ) = argmin ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x i ) 2 \left(\hat{\beta}_{0}, \hat{\beta}_{1}\right)=\operatorname{argmin} \sum_{i=1}^{n}\left(y_{i}-\hat{\beta}_{0}-\hat{\beta}_{1} x_{i}\right)^{2} (β^0,β^1)=argmini=1∑n(yi−β^0−β^1xi)2 - 对于多元线性回归,OLS估计的思想也完全相同,只不过多元线性回归的模型不是一条直线,而是一个多维的超平面。对于多元线性回归的OLS估计目标函数,有
( β ^ 0 , ⋯ , β ^ k ) = a r g min ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x 1 i − β ^ k x k i ) 2 \left( \hat{\beta}_0,\cdots ,\hat{\beta}_k \right) =\mathrm{arg}\min \sum_{i=1}^n{\left( y_i-\hat{\beta}_0-\hat{\beta}_1x_{1i}-\hat{\beta}_kx_{ki} \right) ^2} (β^0,⋯,β^k)=argmini=1∑n(yi−β^0−β^1x1i−β^kxki)2
2. 参数估计求解
(1) OLS求解的矩阵表示
由于我们有
n
n
n 个样本,因此根据模型有以下
n
n
n 个等式成立:
y
i
=
β
0
+
β
1
x
i
1
+
⋯
+
β
k
x
i
k
+
u
i
,
i
=
1
,
⋯
,
n
y_{i}=\beta_{0}+\beta_{1} x_{i 1}+\cdots+\beta_{k} x_{i k}+u_{i}, \quad i=1, \cdots, n
yi=β0+β1xi1+⋯+βkxik+ui,i=1,⋯,n
将它们联立称方程组,并表示成矩阵形式:
y
=
X
β
+
u
\boldsymbol{y}=\boldsymbol{X\beta }+\boldsymbol{u}
y=Xβ+u
实际拟合的模型及其残差,其矩阵形式则为:
y
^
=
X
β
^
,
u
^
=
y
−
y
^
\boldsymbol{\hat{y}}=\boldsymbol{X\hat{\beta}},\quad \boldsymbol{\hat{u}}=\boldsymbol{y}-\boldsymbol{\hat{y}}
y^=Xβ^,u^=y−y^
运用向量求导的知识得:
X
′
X
β
^
=
X
′
y
⇒
β
^
=
(
X
′
X
)
−
1
X
′
y
X^{\prime} X \hat{\beta}=X^{\prime} y \Rightarrow \hat{\beta}=\left(X^{\prime} X\right)^{-1} X^{\prime} y
X′Xβ^=X′y⇒β^=(X′X)−1X′y
由此得到各系数估计向量 β ^ \boldsymbol{\hat{\beta}} β^ 的矩阵表达式。
这是一种近似逼近的求解方式,进一步地,还需要对其求解结果进行评价。
(2)模型评价:
-
拟合优度
一个很自然的问题是:这个模型对数据的拟合效果如何?这个问题可以进一步引申为:模型中的自变量 x i x_i xi 在多大程度上解释了 y y y 的变异?( y y y 的趋势变化可以理解为是一种带有规律性的变异)。 -
我们之所以想构建模型,是因为想找到造成 y y y 值变化的因素,模型解释的变异占总变异的比例越多,这个模型的解释力度就越大,模型的拟合优度也就越好。
-
回归拟合优度——R方:
R 2 = E S S T S S R^{2}=\frac{E S S}{T S S} R2=TSSESS
其中,TSS度量了因变量 y y y 的总样本变异,而ESS度量了模型拟合值 y ^ \hat{y} y^ 的总变异,也就是解释了的变异。
三、OLS估计的代数性质
1. 代数性质
(1) OLS估计预测残差之和为0:
∑
i
=
1
n
(
y
i
−
β
^
0
−
β
^
1
x
i
1
−
⋯
−
β
^
k
x
i
k
)
=
∑
i
=
1
n
u
^
i
=
0
\sum_{i=1}^n{\left( y_i-\hat{\beta}_0-\hat{\beta}_1x_{i1}-\cdots -\hat{\beta}_kx_{ik} \right)}=\sum_{i=1}^n{\hat{u}_i}=0
i=1∑n(yi−β^0−β^1xi1−⋯−β^kxik)=i=1∑nu^i=0
(2) OLS估计最重要的代数性质,它意味着OLS估计的残差与参与回归的自变量不相关。
∑
i
=
1
n
(
y
i
−
β
^
0
−
β
^
1
x
i
1
−
⋯
−
β
^
k
x
i
j
)
x
i
j
=
∑
i
=
1
n
u
^
i
x
i
j
=
0
,
j
=
1
,
⋯
,
k
\sum_{i=1}^n{\left( y_i-\hat{\beta}_0-\hat{\beta}_1x_{i1}-\cdots -\hat{\beta}_kx_{ij} \right)}x_{ij}=\sum_{i=1}^n{\hat{u}_i}x_{ij}=0, j=1,\cdots ,k
i=1∑n(yi−β^0−β^1xi1−⋯−β^kxij)xij=i=1∑nu^ixij=0,j=1,⋯,k
即:
∑
i
=
1
n
x
i
k
u
^
i
=
∑
i
=
1
n
x
i
k
(
u
^
i
−
u
^
ˉ
)
=
∑
i
=
1
n
(
x
i
k
−
x
ˉ
)
(
u
^
i
−
u
^
ˉ
)
=
C
o
v
(
x
k
,
u
^
)
=
0
,
j
=
1
,
⋯
,
k
\sum_{i=1}^n{x_{ik}}\hat{u}_i=\sum_{i=1}^n{x_{ik}}\left( \hat{u}_i-\bar{\hat{u}} \right) =\sum_{i=1}^n{\left( x_{ik}-\bar{x} \right)}\left( \hat{u}_i-\bar{\hat{u}} \right) =Cov\left( x_k,\hat{u} \right) =0, j=1,\cdots ,k
i=1∑nxiku^i=i=1∑nxik(u^i−u^ˉ)=i=1∑n(xik−xˉ)(u^i−u^ˉ)=Cov(xk,u^)=0,j=1,⋯,k
这预示着:如果我们消除因变量 y y y 与某些自变量 x j x_j xj 之间的线性相关性,可以先进行线性回归然后取残差!
2. CLM假设:
经典线性模型假设-CLM假设:
- MLR.1 总体模型假设。
- MLR.2 随机误差条件均值零假设:所有非自变量的其他因素都与自变量线性无关。
- MLR.3 随机抽样假设:等同于 i.i.d 。
- MLR.4 非完全共线性假设。
- MLR.5 同方差假设
随机误差 u u u 的条件方差恒为一个常数,即:
Var ( u ∣ x 1 , ⋯ , x k ) = σ 2 \operatorname{Var}\left(u \mid x_{1}, \cdots, x_{k}\right)=\sigma^{2} Var(u∣x1,⋯,xk)=σ2
数据的波动程度不受自变量影响,不论 x i x_i xi 如何变化,数据与样本条件均值的偏离程度都是恒定的。- MLR.6 正态性假设
该假设假定随机误差 u u u 在任何自变量已知的条件下服从正态分布:
u ∣ x ∼ N ( 0 , σ 2 ) u \mid x \sim N\left(0, \sigma^{2}\right) u∣x∼N(0,σ2)
3. OLS估计的性质
在CLM假设下,对OLS的性质做进一步说明:
(1) OLS系数估计的无偏性
定理1. 在CLM假设MLR.1-MLR.4下, β ^ \hat\beta β^ 是 β \beta β 的无偏估计,即:
E ( β ^ j ) = β j , ∀ j = 0 , 1 , ⋯ , k E\left(\hat{\beta}_{j}\right)=\beta_{j}, \forall j=0,1, \cdots, k E(β^j)=βj,∀j=0,1,⋯,k
(2)OLS系数估计的方差——估计的稳定性
定理2. 在CLM假设MLR.1-MLR.5(增加了同方差假设MLR.5)下,
β
^
\hat\beta
β^ 的方差-协方差矩阵表达式为:
Cov
(
β
^
)
=
σ
2
(
X
′
X
)
−
1
\operatorname{Cov}(\hat{\beta})=\sigma^{2}\left(X^{\prime} X\right)^{-1}
Cov(β^)=σ2(X′X)−1
其中:
Var
(
β
^
j
)
=
σ
2
(
X
′
X
)
j
+
1
,
j
+
1
−
1
\operatorname{Var}\left(\hat{\beta}_{j}\right)=\sigma^{2}\left(X^{\prime} X\right)_{j+1, j+1}^{-1}
Var(β^j)=σ2(X′X)j+1,j+1−1
sd
(
β
^
j
)
=
σ
(
X
′
X
)
j
+
1
,
j
+
1
−
1
\operatorname{sd}\left(\hat{\beta}_{j}\right)=\sigma \sqrt{\left(X^{\prime} X\right)_{j+1, j+1}^{-1}}
sd(β^j)=σ(X′X)j+1,j+1−1
估计系数的标准误(standard error):
se
(
β
^
j
)
=
σ
^
(
X
′
X
)
j
+
1
,
j
+
1
−
1
\operatorname{se}\left(\hat{\beta}_{j}\right)=\hat{\sigma} \sqrt{\left(X^{\prime} X\right)_{j+1, j+1}^{-1}}
se(β^j)=σ^(X′X)j+1,j+1−1
定理3. 在CLM假设MLR.1-MLR.5下,
δ
^
2
\hat{\delta}^2
δ^2 是
δ
2
{\delta}^2
δ2 的无偏估计,即:
E
(
σ
^
2
)
=
σ
2
E\left(\hat{\sigma}^{2}\right)=\sigma^{2}
E(σ^2)=σ2
(3)OLS系数估计的最优线性无偏性
Gauss-Markov定理. 在CLM假设MLR.1-MLR.5下,在 β \beta β 的所有线性无偏估计类当中,OLS估计的方差最小。即假设另有无偏估计 β ~ j \tilde{\beta}_{j} β~j ,若它可以表示为 y j y_j yj 的线性组合,则必有:
Var ( β ^ j ) < Var ( β ~ j ) \operatorname{Var}\left(\hat{\beta}_{j}\right)<\operatorname{Var}\left(\tilde{\beta}_{j}\right) Var(β^j)<Var(β~j)
(4)OLS系数估计的抽样分布-t分布
定理4. 在CLM假设MLR.1-MLR.6下, β ^ j \hat{\beta}_{j} β^j 服从正态分布:
β ^ j ∼ N ( β j , Var ( β ^ j ) ) \hat{\beta}_{j} \sim N\left(\beta_{j}, \operatorname{Var}\left(\hat{\beta}_{j}\right)\right) β^j∼N(βj,Var(β^j))
进一步变形后:
β ^ j − β j s d ( β ^ j ) ∼ N ( 0 , 1 ) \frac{\hat{\beta}_{j}-\beta_{j}}{s d\left(\hat{\beta}_{j}\right)} \sim N(0,1) sd(β^j)β^j−βj∼N(0,1)
为了便于估计,将标准差转换为标准误:
β ^ j − β j se ( β ^ j ) ∼ t n − k − 1 \frac{\hat{\beta}_{j}-\beta_{j}}{\operatorname{se}\left(\hat{\beta}_{j}\right)} \sim t_{n-k-1} se(β^j)β^j−βj∼tn−k−1