声明:文章参考数学建模清风的网课编写。
回归分析概述
回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。
回归分析的任务就是,过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进而达到通过X去预测Y的目的。
回归分析三个使命:
- 识别重要变量,那些是重要变量,哪些不是。哪些 X X X变量与 Y Y Y相关,哪些不是。
- 判断相关性方向。自变量与因变量之间的相关性是正的还是负的。
- 估计回顾系数。对不同的自变量赋予不同的权重。
常见回归分析
常见的回归分析有五类:线性回归、0‐1回归、定序回归、计数回归和生存回归,其划分的依据是因变量Y的类型。
类型 | 模型 | Y的特点 | 例子 |
---|---|---|---|
线性回归 | OLS、GLS(最小二乘法) | 连续数值变量 | GDP、产量、收入 |
0-1回归 | logistic回归 | 二值变量(0-1) | 是否违约、是否得病 |
定序回归 | probit定序回归 | 定序变量 | 等级评定(优、良、差) |
计数回归 | 泊松回归 | 计数变量 | 每分钟车流量 |
生存回归 | Cox等比例风险回归 | 生存变量(截断数据) | 企业产品寿命 |
线性回归
一元线性回归模型
假设
x
x
x是自变量,
y
y
y是因变量,且满足如下线性关系:
y
i
=
β
0
+
β
1
x
i
+
μ
i
y_{i} = \beta _{0} + \beta _{1}x_{i} + \mu_{i}
yi=β0+β1xi+μi其中
β
0
\beta _{0}
β0和
β
1
\beta _{1}
β1为回归系数,
μ
i
\mu_{i}
μi为无法观测且满足一定条件的扰动项。
令预测值:
y
i
^
=
β
0
^
+
β
1
^
x
i
\hat{y_{i}} = \hat{\beta _{0}} + \hat{\beta _{1}}x_{i}
yi^=β0^+β1^xi则
β
0
^
,
β
1
^
\hat{\beta _{0}} ,\hat{\beta _{1}}
β0^,β1^的取值依赖于,预测值与真实值的偏差
∑
i
=
1
n
∣
y
i
−
y
i
^
∣
\sum_{i=1}^{n} |y_{i} - \hat{y_{i}}|
∑i=1n∣yi−yi^∣。预测值与真实值的偏差最小时取得
β
0
^
,
β
1
^
\hat{\beta _{0}} ,\hat{\beta _{1}}
β0^,β1^。
μ
i
\mu_{i}
μi被称为残差
∣
y
i
−
y
i
^
∣
|y_{i} - \hat{y_{i}}|
∣yi−yi^∣。
可以理解为:线性回归就是从对原始数据拟合的多条直线中取了偏差最小的一条。
多元线性回归模型
假设 x 1 , x 2 , . . . , x p x_{1},x_{2},...,x_{p} x1,x2,...,xp是自变量, y y y是因变量,且满足如下线性关系: y i = β 0 + ∑ j β j x i j + μ i , i = 1 , 2 , . . . , n ; j = 1 , 2 , . . . , p ; y_{i} = \beta _{0} + \sum_{j}\beta _{j} \ x_{ij} + \mu _{i}, \ \ i = 1, 2, ..., n; \ \ j = 1, 2, ..., p; yi=β0+j∑βj xij+μi, i=1,2,...,n; j=1,2,...,p;其中 β 0 , β 1 , . . . , β p \beta _{0},\beta _{1},...,\beta _{p} β0,β1,...,βp为回归系数, μ i \mu_{i} μi为无法观测且满足一定条件的扰动项。
多元线性回归基本同一元线性回归,不过自变量的个数变为了多个。
多元线性回归内生性
可以注意到多元线性回归自变量为多个,假设与因变量 y y y有关的自变量有多个,但是我们只找出了部分自变量,则与因变量 y y y有关的其余自变量造成的系数估计不准确值会由残差项 μ \mu μ弥补。
当残差项 μ \mu μ包含与 y y y相关但为添加到回归模型中的变量,如果这些变量与已经添加的自变量有关,则存在内生性。
如果满足残差项 μ \mu μ和所有的自变量 x x x均不相关,则该回归模型具有外生性。否则会存在内生性。
内生性会导致回归系数估计不准确,不满足无偏性和一致性。
核心解释变量和控制变量
无内生性要求所有解释变量与残差项不相关。
这个假定通常太强。我们需要弱化条件,将解释变量区分为核心解释变量和控制变量。
核心解释变量:我们最感性趣的变量。我们希望得到对其系数的一致估计(当样本无线增大时,收敛于待估计参数的真实值)。
控制变量:我们并不关心这些变量,之所以将其放入回归方程,主要是为了“控制”那些对解释变量有影响的遗漏因素。
虚拟变量
如果自变量中含有定性的变量如:性别、省份、是否吸烟等。其数值并不具备实际意义,使用数值直接进行回归也没有意义。
于是引入虚拟变量,按照定性变量的实际意义拆分虚拟变量。如:性别可以拆分为0代表男,1代表女;省份可以拆分为:1代表北京、2代表陕西、…、34代表内蒙古。
为了避免受完全多重共线性影响,通常生成的虚拟变量数为分类数减一。
Stata回归分析
将数据导入后。
-
对变量进行描述性统计
定量数据,使用sum(summarize简写)命令:sum 变量1 变量2 ... 变量n
定性数据,使用tab(tabulate简写)命令:
tab 变量1 变量2 ... 变量n
定性数据使用gen()命令生成虚拟变量:
-
使用stata进行回归:
使用命令reg(regress的缩写):reg y x1 x2 ... xn
使用命令b(beta的缩写)进行标准化回归,其中Beta列为标准化后的系数:reg y x1 x2 ... xn, b
标准化系数的绝对值越大,说明对因变量的影响越大。
-
结果分析
-
回归分析
表格中对应SS列分别为SSR、SSE和SST。Prob > F 为P值(这里的假设检验原假设为: β 0 = β 1 = . . . = β p = 0 \beta_{0}=\beta_{1}=...=\beta_{p}=0 β0=β1=...=βp=0,表示联合不显著)。
R-squared为R值,即拟合优度。
Adj R-squared为调整后的拟合优度,通常使用调整后的拟合优度。一般情况下,预测型回归希望拟合优度越大越好,但解释型回归对拟合优度不做要求。 -
回归系数
对应的Coef.列为变量的回归系数估计值;P>|t|列为P值(这里的假设检验原假设为 β i \beta_{i} βi=0,表示不显著),若假设检验不通过则得出的系数无意义。
对表中数据进行解释:
定量数据:保持其它变量不变的情况下,团购价每增加1个单位,评价量减少35.31468个单位。
定性数据:保持其它变量不变的情况下,段位1比段位4的评价量少8348.824个单位。
异方差和多重共线性
-
异方差
异方差是指各个扰动项(残差项)的方差不相同。如果扰动项存在异方差:
- OLS估计出来的回归系数是无偏、一致的。
- 假设检验无法使用(构造的统计量失效了)。
- OLS(普通最小二乘法,Stata默认回归方法)估计量不再是最优线性无偏估计量。
对异方差进行检验:
在回归结束后可以使用如下命令进行异方差检验。检验方式为怀特检验(White Test),此检验的原假设为:不存在异方差。
estat imtest,white
解决异方差问题:
如果发现存在异方差,仍然进行OLS 回归,但使用稳健标准误。这是最简单,也是目前通用的方法。只要样本容量较大,即使在异方差的情况下,若使用稳健标准误,则所 有参数估计、假设检验均可照常进行。使用r命令(robust缩写)进行OLS + 稳健的标准误消除异方差影响:
reg y x1 x2 ... xn, r
-
多重共线性
完全多重共线性会由Stata自动识别并删去多余的解释变量,而非完全多重共线性的出现也会导致很严重的问题。通常的症状是:虽然整个回归方程的拟合优度较大、F的检验值也很显著,但单个系数的t检验却不显著,或是系数的估计值不合理,甚至符号与预期相反。也会导致增减解释变量使得系数的估计值变化很大。
对异方差进行检验:
在回归结束后可以使用如下命令进行多重共线性检验。(检验方式为方差膨胀因子VIF,通常VIF > 10则认为回归方程存在严重多重共线性)。
estat vif
解决多重共线性问题:
可以通过剔除变量的方式来解决多重共线性。使用逐步回归可以达到剔除变量的目的。注意:为了避免出现完全多重共线性问题,需参考普通回归中剔除的变量进行手动剔除(逐步回归不能自动剔除完全多重共线性的变量)。
向前逐步回归Forward selection:将自变量逐个引入模型,每引入一个自变量后都要进行检验,显著时才加入回归模型。(缺点:随着以后其他自变量的引入,原来显著的自变量也可能又变为不显著了,但是,并没有将其及时从回归方程中剔除掉。)
向后逐步回归Backward elimination:与向前逐步回归相反,先将所有变量均放入模型,之后尝试将其中一个自变量从模型中剔除,看整个模型解释因变量的变异是否有显著变化,之后将最没有解释力的那个自变量剔除;此过程不断迭代,直到没有自变量符合剔除的条件。(缺点:一开始把全部变量都引入回归方程,这样计算量比较大。若对一些不重要的变量,一开始就不引入,这样就可以减少一些计算。当然这个缺点随着现在计算机的能力的提升,已经变得不算问题了。)
% 向前逐步回归 alpha为筛选的显著性水平 stepwise regress y x1 x2 … xk, pe(alpha) % 向后逐步回归 stepwise regress y x1 x2 … xk, pr(alpha)
推荐使用向后逐步回归,如果回归后保留的变量太少,可以调整显著性水平的值来达到增加(调大)或减少(调小)保留变量的目的。