数模学习(七)--- 多元线性回归
Abstract回归分析是数据分析中最基础也是最重要的分析工具,许多数据分析的问题,都可以采用回归的思想去解决,机器学习中回归也是需要学习的很重要的内容之一;当今回归分析的任务是:通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。(感觉跟插值和拟合希望达到的目的差不多orz)常见的回归分析有五类:线性回归、0-1回归、定序回归、计数回归和生存回归,它们划分
Abstract
回归分析是数据分析中最基础也是最重要的分析工具,许多数据分析的问题,都可以采用回归的思想去解决,机器学习中回归也是需要学习的很重要的内容之一;当今回归分析的任务是:通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。(感觉跟插值和拟合希望达到的目的差不多orz)
常见的回归分析有五类:线性回归、0-1回归、定序回归、计数回归和生存回归,它们划分的依据是因变量Y的类型,这里我们主要讲线性回归。
一 引入
1.1 回归的思想1
回归分析: 研究X和Y之间相关性的分析
关于它的三个关键词:
- 相关性
- 因变量Y
- 自变量X
1.2 相关性
相关性
≠
\neq
=因果性
因为许多情况下我们无法去探究严格的因果关系,所以当前比较好的能替代它的方法就是通过回归分析,研究它们之间相关关系
1.3 因变量Y
在实际应用中,Y常常是我们需要研究的那个核心变量
因变量类型 | 举例 |
---|---|
连续数值型变量 | 研究一段时间内GDP的增长趋势 |
0-1型变量 | 判断病人是否患病,0为否,1为是 |
定序型变量 | 根据喜欢成都区分,1~5喜欢程度依次递增 |
计数型变量 | 一学期内上课一共迟到了几次,为非负整数 |
生存型变量 | 在统计时,会有部分个体(比如人)在计算时不存在,需要设定个标准(如60岁作为截断年龄) |
1.4 自变量X
也可以这么定义:X是解释变量,Y是被解释变量
回归分析的任务即:通过研究X和Y的关系,能够达到之后通过X预测出Y
1.5 回归分析的使命
- 使命一: 识别并判断出哪些X与Y是真的相关,那些不是,统计学中有一个非常重要的领域,为“变量选择”(逐步回归法)
- 使命二: 在去除了和Y不相关的X变量后,还需要确定这些和Y有关的X变量,与Y的相关关系是正的还是负的呢
- 使命三: 在确定了重要的X变量后,我们需要对不同的X给予不同的权重,来体现它们的重要性程度
- 总的来说,回归分析需要完成的使命就是:
- 识别重要变量
- 判断相关性的方向
- 要估计权重(回归系数)
1.6 回归分析的分类
类型 | 模型 | Y的特点 | 例子 |
---|---|---|---|
线性回归 | OLS、GLS(最小二乘) | 连续数值型变量 | GDP、产量、收入 |
0-1回归 | logistic回归 | 二值变量(0-1) | 是否违约、是否得病 |
定序回归 | probit定序回归 | 定序变量 | 等级评定(优良差) |
计数回归 | 泊松回归(分布) | 计数变量 | 每分钟车流量 |
生存回归 | Cox等比例风险回归 | 生存变量(阶段数据) | 企业、产品的寿命 |
1.7 数据的分类
- 横截面数据(Cross Sectional Data): 在某一时点手机的不同对象的数据,如大一新生体测得到的数据、发放问卷得到的数据
- 时间序列数据(Time Series Data): 对同一对象在不同时间连续观察所取得的数据,例如从出生到现在,我们体重变化的数据
- 面板数据(Panel Data): 横截面数据与时间序列数据总和起来的一种数据资源,如2010-2020我国各省份GDP的数据
1.8 不同数据类型的处理方法
数据类型 | 常见建模方法 |
---|---|
横截面数据 | 多元线性回归 |
时序数据 | 移动平均、指数平滑、ARIMA、GARCH、VAR、协积 |
面板数据 | 固定效应和随机效应、静态面板和动态面板 |
在数模比赛中,前两种数据类型比较常见;而对于面板数据,通常是经管类学生在中级计量经济学中才会学到利用的模型
横截面数据往往运用回归来建模,通过回归得到自变量与因变量的相关关系以及自变量的重要程度
时间序列数据往往用于预测,时序模型可以用得很多,ML中也有RNN、LSTM之类的工具
1.9 数据的收集
宏观数据:
二 一元线性回归
一元线性我们之前在拟合讲过啦,可以先去复习一下最小二乘下的一元线性拟合(也出现在ML中所用的Loss Function损失函数),在回归中我们把损失函数称为残差平方和
2.1 一元线性回归模型
假
设
x
是
自
变
量
,
y
是
因
变
量
,
且
满
足
如
下
线
性
关
系
:
y
i
=
β
0
+
β
1
x
i
+
μ
i
β
0
和
β
1
为
回
归
系
数
,
μ
i
为
无
法
观
测
的
且
满
足
一
定
条
件
的
扰
动
项
令
预
测
值
y
i
^
=
β
0
^
+
β
1
^
x
i
其
中
β
0
^
,
β
1
^
=
a
r
g
m
i
n
β
0
,
β
1
(
∑
i
=
1
n
(
y
i
−
y
i
^
)
2
)
=
a
r
g
m
i
n
β
0
,
β
1
(
∑
i
=
1
n
(
y
i
−
β
0
^
−
β
1
^
x
i
)
2
)
β
0
^
,
β
1
^
=
a
r
g
m
i
n
β
0
,
β
1
(
∑
i
=
1
n
(
μ
i
^
)
2
)
我
们
称
μ
i
^
=
y
i
−
β
0
^
−
β
1
^
x
i
为
残
差
假设x是自变量,y是因变量,且满足如下线性关系:\\ y_{i}=\beta_{0}+\beta_{1}x_{i}+\mu_{i} \\ \\ \beta_{0}和\beta_{1}为回归系数,\mu_{i}为无法观测的且满足一定条件的扰动项 \\ \\ 令预测值\hat{y_{i}} = \hat{\beta_{0}}+\hat{\beta_{1}}x_{i} \\ \\ \\ 其中\hat{\beta_{0}},\hat{\beta_{1}}=\mathop{argmin}\limits_{\beta_{0},\beta_{1}}({\color{blue}\sum\limits_{i=1}^{n}(y_{i}-\hat{y_{i}})^2}) = \mathop{argmin}\limits_{\beta_{0},\beta_{1}}(\sum\limits_{i=1}^{n}(y_{i}-\hat{\beta_{0}}-\hat{\beta_{1}}x_{i})^2) \\ \hat{\beta_{0}},\hat{\beta_{1}} = \mathop{argmin}\limits_{\beta_{0},\beta_{1}}(\sum\limits_{i=1}^{n}(\hat{\mu_{i}})^2) \\ \\ \\ 我们称\hat{\mu_{i}}=y_{i}-\hat{\beta_{0}}-\hat{\beta_{1}}x_{i}为残差
假设x是自变量,y是因变量,且满足如下线性关系:yi=β0+β1xi+μiβ0和β1为回归系数,μi为无法观测的且满足一定条件的扰动项令预测值yi^=β0^+β1^xi其中β0^,β1^=β0,β1argmin(i=1∑n(yi−yi^)2)=β0,β1argmin(i=1∑n(yi−β0^−β1^xi)2)β0^,β1^=β0,β1argmin(i=1∑n(μi^)2)我们称μi^=yi−β0^−β1^xi为残差
确定的
β
0
,
β
1
\beta_{0},\beta_{1}
β0,β1即是使残差
μ
\mu
μ最小的时候
2.2 对于线性的理解
线性假定并不要求初始模型都呈上述的严格线性关系,自变量与因变量可通过变量替换而转化成为线性模型,如:
使用线性回归模型建模前,需要对数据进行预处理,用EXCEL、Matlab、Stata等软件都可以
2.3 回归系数及其内生性的探究
对于一个一元线性回归函数,如果其权重或是改变其截距值,对其回归系数的确定影响都非常大,这是因为遗漏变量导致的内生性
2.3.1 内生性
我们构建的一元线性模型中有无法预测的但满足一定条件的扰动项
μ
\mu
μ,如果满足
μ
\mu
μ和所有的自变量
x
x
x均不相关,则称该回归模型具有外生性
(如果相关,则存在内生性,内生性会导致回归系数估计的不准确;不满足无偏和一致性)
因为一般来说,误差项
μ
i
\mu_{i}
μi包含了所有与
y
y
y有关,但没有添加到回归模型中的变量,如果这些变量和我们已经添加的自变量相关,那么将会产生内生性
2.3.2 内生性的蒙特卡洛模拟
2.3.3 核心解释变量和控制变量
无内生性要求所有解释变量均与扰动项不想管,即需要保证解释变量X全部外生,这个十分难,所以这个条件需要弱化一下,即将解释变量区分为核心解释变量与控制变量两类
- 核心解释变量: 我们最感兴趣的变量,因为我们特别希望得到对其系数的一致估计(当样本容量无限增大时,收敛于待估计参数的真值)
- 控制变量: 我们可能对于这些变量本身没有什么大的兴趣,而之所以把它们放入到回归方程中,主要是为了“控制住”那些对被解释变量有影响的遗漏因素
在实际应用中,我们只需要保证核心解释变量与 μ \mu μ不想关即可。
2.4 取对数的一元线性
有的时候会存在着类似这样的回归模型:
y
i
^
=
β
0
^
+
β
1
l
n
x
i
^
\hat{y_{i}} = \hat{\beta_{0}}+\hat{\beta_{1}lnx_{i}}
yi^=β0^+β1lnxi^
那么什么时候取对数呢?
取对数意味着原被解释变量Y对解释变量的弹性,即百分比的变化而不是数值的变化;
目前,对于什么时候取对数还没有固定的规则,但是有一些经验法则:
- 与市场价值相关的,例如,价格、销售额、工资等都可以取对数
- 以年度量的变量,如受教育年限、工作经历等通常不取对数;
- 比例变量,如失业率、参与率等,两者均可
- 变量取值必须是非负数,如果包含0.则可以对y取对数ln(1+y)
取对数的好处:
- 减弱数据的异方差性
- 如果变量本身不符合正态分布,取了对数后可能能渐进服从正态分布
- 模型形式的需要,让模型更有经济学意义
2.5 四类模型回归系数的解释2
2.5.1 一元线性回归
公式:
y
=
a
+
b
x
+
μ
,
x
每
增
加
1
个
单
位
,
y
平
均
变
化
b
个
单
位
y = a+bx+\mu,x每增加1个单位,y平均变化b个单位
y=a+bx+μ,x每增加1个单位,y平均变化b个单位
2.5.2 双对数模型
公式:
l
n
y
=
a
+
b
l
n
x
+
μ
lny = a+blnx+\mu
lny=a+blnx+μ,
x
x
x每增加1%,
y
y
y平均变化
b
b
b%
2.5.3 半对数模型(一)
公式:
l
n
y
=
a
+
b
l
n
x
+
μ
lny=a+blnx+\mu
lny=a+blnx+μ,
x
x
x每增加1%,
y
y
y平均变化
b
100
\frac{b}{100}
100b个单位
2.5.4 半对数模型(二)
公式:
l
n
y
=
a
+
b
x
+
μ
lny = a+bx+\mu
lny=a+bx+μ,
x
x
x每增加1个单位,
y
y
y就需要变化
(
100
b
)
(100b)
(100b)%个单位
2.6 虚拟变量X
引入虚拟变量的概念,是为了更方便地来探究某个解释变量对被解释变量的影响,当在探究某个解释变量时,将该解释变量作为核心解释变量,其他控制变量作为虚拟变量,作为给定值参与讨论
2.6.1 多分类的虚拟变量设置
2.6.2 含有交互项的自变量
会存在自变量之间互相影响的现象,即两个不同的自变量相乘的情况,如:
2.7 拟合优度 R 2 R^2 R2
拟合优度较低怎么办?
- 回归分为解释型回归和预测型回归,预测型回归更看重 R 2 R^2 R2,而解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著性即可。
- 可以对模型进行调整,例如对数据取对数或者平方后再进行回归
- 数据中可能有存在异常值(离群值)或者数据的分布极度不均匀
关于拟合优度和调整后的拟合优度:
我们引入的自变量越多,拟合优度会变大(因为约束条件多了,目标也就更好的确定)。而我们倾向于使用调整后的拟合优度,如果新引入的自变量对SSE减少成都特别少,那么调整后的拟合优度反而会减小。
R
2
=
1
−
S
S
E
S
S
T
S
S
E
=
∑
i
=
1
n
(
Y
i
−
Y
i
^
)
2
R
a
d
j
u
s
t
e
d
2
=
1
−
S
S
E
n
−
k
−
1
S
S
T
n
−
1
(
k
为
自
变
量
的
个
数
)
R^{2} = 1-\frac{SSE}{SST}\qquad SSE=\sum\limits_{i=1}^{n}(Y_{i}-\hat{Y_{i}})^2 \\ R_{adjusted}^{2} = 1 - \frac{\frac{SSE}{n-k-1}}{\frac{SST}{n-1}}\quad (k为自变量的个数)
R2=1−SSTSSESSE=i=1∑n(Yi−Yi^)2Radjusted2=1−n−1SSTn−k−1SSE(k为自变量的个数)
2.7.1 标准化回归系数
为了更精准的研究影响评价量的重要因素(去除量纲的影响),我们可以考虑使用标准化回归系数.
对数据进行标准化,就是将原始数据减去它的均属后,再除以该变量的标准差,计算得到新的变量值,新变量构成的回归方程称为标准化回归方程,回归后相应可得到标准化回归系数。
标准化系数的绝对值越大,说明对因变量的影响就越大(只关注显著的回归系数)。
三 异方差
异方差出现在哪?
横截面数据容易出现异方差的问题,时序数据容易出现自相关的问题
3.1 异方差出现原因
在之前的回归分析中,我们都默认了扰动项是球型扰动项[^3]
[^3]:球型扰动项:满足“同方差”和“无自相关”两个条件
但实际上扰动项是很容易出现异方差的,如果扰动项存在异方差,则说明:
- OLS(最小二乘)估计出来的回归系数是无偏的,一致的;
- 假设检验无法使用(构造的统计量失效了);
- OLS估计量不再是最优线性无偏估计量(BLUE)。
注意:这里的信息和熵权法里面确定权重时的信息不是一个意思。异方差这里出现的信息可以理解为对于模型的稳定程度所做的贡献,异方差是指各个扰动项的方差不相同,那么方差较大的扰动项破坏模型稳定性的程度就较大,我们就说它包含的信息量减少。但是在熵权法中,方差越大,说明这个指标对于不同个体而言的变化程度就大,那么我们在评价时就不能轻易忽视这个变量
3.2 怎么解决异方差
- 使用OLS+稳健的标准误
如果发现存在异方差,一种处理方法是,仍然进行OLS回归,但使用稳健标准误 。这是最简单,也是目前通用的方法,只要样本容量较大,即使在异方差的情况下,若使用稳健标准误,则所有参数估计、假设检验均可照常进行;可以说,只要使用了稳健标准误,就可以与异方差“和平共处”了。 - 广义最小二乘法GLS
原理: 方差较大的数据包含的信息较少,我们可以给予信息量大的数据(即方差较小的数据更大的权重)
缺点: 我们不知道扰动项真实的协方差矩阵,因此我们只能用样本数据来估计,这样得到的结果不稳健,存在偶然性。
在大多数情况下都应该使用“OLS+稳健标准误”
四 多重共线性
4.1 概念引入
4.2 检验多重共线性
引入方差膨胀因子
(
V
a
r
i
a
n
c
e
I
n
f
l
a
t
i
o
n
F
a
c
t
o
r
)
V
I
F
(Variance Inflation Factor)VIF
(VarianceInflationFactor)VIF
假
设
现
在
有
k
个
变
量
,
那
么
第
m
个
自
变
量
的
V
I
F
m
=
1
1
−
R
1
−
k
m
2
R
1
−
k
m
2
是
将
第
m
个
自
变
量
作
为
因
变
量
,
对
剩
下
的
k
−
1
个
自
变
量
回
归
得
到
的
拟
合
优
度
。
V
I
F
m
越
大
(
此
时
R
1
−
k
m
2
越
大
)
,
说
明
第
m
个
变
量
和
其
他
变
量
的
相
关
性
越
大
。
定
义
回
归
模
型
的
V
I
F
=
m
a
x
{
V
I
F
1
,
V
I
F
2
,
.
.
.
,
V
I
F
k
}
一
个
经
验
规
则
时
,
如
果
V
I
F
>
10
,
则
认
为
该
回
归
方
程
存
在
严
重
的
多
重
共
线
性
假设现在有k个变量,那么第m个自变量的VIF_{m}=\frac{1}{1-R_{\frac{1-k}{m}}^{2}} \\ \\ R_{\frac{1-k}{m}}^{2}是将第m个自变量作为因变量,对剩下的k-1个自变量回归得到的拟合优度。 \\ \\ VIF_{m}越大(此时R_{\frac{1-k}{m}}^{2}越大),说明第m个变量和其他变量的相关性越大。 \\ \\ 定义回归模型的VIF=max\lbrace VIF_{1},VIF_{2},...,VIF_{k}\rbrace \\ \\ 一个经验规则时,如果VIF>10,则认为该回归方程存在严重的多重共线性
假设现在有k个变量,那么第m个自变量的VIFm=1−Rm1−k21Rm1−k2是将第m个自变量作为因变量,对剩下的k−1个自变量回归得到的拟合优度。VIFm越大(此时Rm1−k2越大),说明第m个变量和其他变量的相关性越大。定义回归模型的VIF=max{VIF1,VIF2,...,VIFk}一个经验规则时,如果VIF>10,则认为该回归方程存在严重的多重共线性
Stata计算各自变量VIF的命令(回归结束后使用):
estat vif
4.3 多重共线性处理方法
如果发现存在多重共线性,可以采取以下处理方法:
- 如果不关心具体的回归系数,而只关心整个方程预测被解释变量的能力,则通常可以不必理会多重共线性(前提是我们的整个方程是显著的)。因为多重共线性的主要后果是使得单个变量的贡献估计不准,但所有变量的整体效应仍然可以较为准确的估计
- 如果关心具体的回归系数,但多重共线性并不影响所关心变量的显著性,那么也可以不用管,因为即使在有方差膨胀的情况下,这些系数依然显著;而如果没有多重共线性,则只会更加显著
- 如果多重共线性影响到所关心变量的显著性,则需要增大样本容量,剔除导致严重共线性的变量(谨慎删除,因为删除不对可能会产生内生性的影响),或者对模型设定进行修改
4.4 逐步回归分析
向前逐步回归Forward selection:
将自变量逐个引入模型,每引入一个检验一遍,自变量显著时才能加入回归模型
**缺点:**随着以后其他自变量的引入,原来显著的自变量也可能又变为不显著了,但是,并没有将其及时从回归方程中删除
向后逐步回归Backward elimination:
和向前不同,看英文名,一个是selection加入自变量进行检验,向后则是elimination删除自变量进行检验;再删除的过程中观察解释因变量的变异是否有显著变化,之后再将最没有解释力的自变量剔除;这个过程将不断迭代,直到没有自变量符合剔除的条件
缺点: 一开始把全部变量引入回归方程,计算量会很大,对于一些不重要的变量,一开始不引入,则能减少很多计算,虽然现在计算机可以处理,但这么做可以节省很多时间
4.5 逐步回归的说明
- 向前逐步回归和向后逐步回归产生的结果可能不同
- 不要轻易使用逐步回归,因为在剔除自变量后可能产生内生性等问题
- 更优秀的筛选方法:将每种情况都尝试一次,最终一共有 C k 1 + C k 2 + . . . + C k k = 2 k − 1 C_{k}^{1}+C_{k}^{2}+...+C_{k}^{k} = 2^{k}-1 Ck1+Ck2+...+Ckk=2k−1种可能。如果自变量很多,那么计算会十分费时。
更多推荐
所有评论(0)