background-image: url("../pic/slide-front-page.jpg") class: center,middle # 计量经济学(Econometrics) ### 胡华平 ### 西北农林科技大学 ### 经济管理学院数量经济教研室 ### huhuaping01@hotmail.com ### 2023-02-15
--- class: center, middle, duke-orange,hide_logo name: chapter07 # 第7章:放宽基本假设:多重共线性 [7.1 重共线性的定义和来源](#definition) [7.2 多重共线性的影响和后果](#effect) [7.3 多重共线性问题的诊断](#diagnose) [7.4 多重共线性问题的矫正](#adjust) --- layout: false class: center, middle, duke-softblue,hide_logo name: definition # 7.1 重共线性的定义和来源 --- layout: true <div class="my-header-h2"></div> <div class="watermark1"></div> <div class="watermark2"></div> <div class="watermark3"></div> <div class="my-footer"><span>huhuaping@ <a href="#chapter07">第07章 放宽基本假设:多重共线性</a>                        <a href="#definition">7.1 重共线性的定义和来源</a> </span></div> --- ### 引子1 **消费案例**: `$$\begin {align} Y_{i} &=\hat{\beta}_{1}+\hat{\beta}_{2} X_{2 i}+\hat{\beta}_{3} X_{3 i}+e_{i} \end {align}$$` <img src="../pic/chpt7-multi-linearity-demo0.png" width="1413" style="display: block; margin: auto;" /> - `\(Y_i\)`表示消费 - `\(X_{2i}\)`表示收入; `\(X_{3i}\)`表示财富。 --- ### 引子2 **慈善捐款**案例: **回归模型**: `$$\begin {align} Y_{i} &=\hat{\beta}_{1}+\hat{\beta}_{2} X_{2 i}+\hat{\beta}_{3} X_{3 i}+e_{i} \end {align}$$` - `\(Y_i\)`表示慈善捐款 - `\(X_{2i}\)`表示城市总人口; `\(X_{3i}\)`表示城市GDP。 **现实情况**:城市GDP=城市总人口*人均GDP **多重共线性来源**:自变量间表现为某种因果关系 --- ### 引子3 **消费者忠诚度**案例: **回归模型**: `$$\begin {align} Y_{i} &=\hat{\beta}_{1}+\hat{\beta}_{2} X_{2 i}+\hat{\beta}_{3} X_{3 i}+e_{i} \end {align}$$` - `\(Y_i\)`表示消费者忠诚度 - `\(X_{2i}\)`表示产品满意度; `\(X_{3i}\)`体验满意度。 **现实情况**:收入水平与满意度有关(奢侈品、拼多多) **多重共线性来源**:自变量背后有共同的潜在因素 --- ## 什么是模型多重共线性? `$$\begin{align} Y_i&=\beta_1+\beta_2X_{2i}+\beta_3X_{3i}+\cdots+\beta_kX_{ki}+u_i && \text{(PRM)}\\ Y_i&=\hat{\beta}_1+\hat{\beta}_2X_{2i}+\hat{\beta}_3X_{3i}+\cdots+\hat{\beta}_kX_{ki}+e_i && \text{(SRM)} \end{align}$$` **多重共线性**:在多元线性回归模型中,各解释变量 `\(\{X_2,X_3,\cdots,X_k\}\)`之间有交互相关,但又非完全相关的现象。正式地: `$$\begin{align} \lambda_2X_{2i}+\lambda_3X_{3i}+\cdots+\lambda_kX_{ki}+v_i=0 \end{align}$$` 其中, `\(v_i\)`为随机误差项。 我们称总体回归模型存在**多重共线性**,此时 `\(\lambda_1;\lambda_2;\cdots;\lambda_k\)`不全为0,且 `\(v_i \neq 0\)`。 我们称总体回归模型存在**完全多重共线性**,此时 `\(\lambda_1;\lambda_2;\cdots;\lambda_k\)`不全为0,且 `\(v_i = 0\)`。 --- ## 什么是模型多重共线性? 下面用一个直观图进行说明: <img src="../pic/chpt7-multi-linearity-demo1.png" width="681" style="display: block; margin: auto;" /> --- ## 什么是模型多重共线性? - 简单相关r(Pearson Relationship) - 多重共线性(Multicollinearity) <img src="../pic/chpt7-multi-linearity-demo2.png" width="395" style="display: block; margin: auto;" /> --- ## 引起多重共线性的原因 - 数据采集所用的方法: 回归元限于一个范围 - 模型或从中取样的总体受到约束:如做电力消费(Y)对收入(X2)和住房面积(X3)回归时,可能X2高的X3也大 - 模型设定: 如在模型中加入多个回归元;数据范围小等 - 一个过度决定的模型:回归元个数大于观测次数。医学研究中可能只有少数病人 - 相同的时间趋势。消费支出(Y)对收入、财富和人口的回归 --- ## 完全多重共线性时的估计问题 在完全多重共线性的情况下,回归系数是不确定的。 `$$\begin {align} Y_{i} &=\hat{\beta}_{1}+\hat{\beta}_{2} X_{2 i}+\hat{\beta}_{3} X_{3 i}+e_{i} \end {align}$$` `$$\begin {align} \hat{\beta}_{1} &=\overline{Y}-\hat{\beta}_{2} \overline{X}-\hat{\beta}_{3} \overline{X}_{3} \\ \hat{\beta}_{2} &=\frac{\left(\sum y_{i} x_{2 i}\right)\left(\sum x_{3 i}^{2}\right)-\left(\sum y_{i} x_{3 i}\right)\left(\sum x_{2 i} x_{3 i}\right)}{\left(\sum x_{2 i}^{2}\right)\left(\sum x_{3 i}^{2}\right)-\left(\sum x_{2 i} x_{3 i}\right)^{2}} \\ \hat{\beta}_{3} &=\frac{\left(\sum y_{i} x_{3 i}\right)\left(\sum x_{2 i}^{2}\right)-\left(\sum y_{i} x_{2 i}\right)\left(\sum x_{2 i} x_{3 i}\right)}{\left(\sum x_{2 i}^{2}\right)\left(\sum x_{3 i}^{2}\right)-\left(\sum x_{2 i} x_{3 i}\right)^{2}} \end {align}$$` --- ## 完全多重共线性时的估计问题 在完全多重共线性的情况下,回归系数是不确定的。 假设**完全共线性**情形下, `\(X_{3 i}=\lambda X_{2 i}\)`,则容易发现: `$$\begin {align} \hat{\beta}_{2}=\frac{\left(\sum y_{i} x_{2 i}\right)\left(\lambda^{2} \sum x_{2 i}^{2}\right)-\left(\lambda \sum y_{i} x_{2 i}\right)\left(\lambda \sum x_{2 i}^{2}\right)}{\left(\sum x_{2 i}^{2}\right)\left(\lambda^{2} \sum x_{2 i}^{2}\right)-\lambda^{2}\left(\sum x_{2 i}^{2}\right)^{2}}=\frac{0}{0} \end {align}$$` --- ## 完全多重共线性时的估计问题 在完全多重共线性的情况下,回归系数是不确定的。 假定**不完全多重共线性**下, `\(x_{3 i}=\lambda x_{2 i}+v_{i}\)`,则有: `$$\begin {align} \hat{\beta}_{2}=\frac{\sum\left(y_{i} x_{2 i}\right)\left(\lambda^{2} \sum x_{2 i}^{2}+\sum v_{i}^{2}\right)-\left(\lambda \sum y_{i} x_{2 i}+\sum y_{i} v_{i}\right)\left(\lambda \sum x_{2 i}^{2}\right)}{\sum x_{2 i}^{2}\left(\lambda^{2} \sum x_{2 i}^{2}+\sum v_{i}^{2}\right)-\left(\lambda \sum x_{2 i}^{2}\right)^{2}} \end {align}$$` 如果 `\(v_i\)`足够小,以至于接近于零,则上式将表示**完全共线性**情形。 --- layout: false class: center, middle, duke-softblue,hide_logo name: effect # 7.2 多重共线性的影响和后果 --- layout: true <div class="my-header-h2"></div> <div class="watermark1"></div> <div class="watermark2"></div> <div class="watermark3"></div> <div class="my-footer"><span>huhuaping@ <a href="#chapter07">第07章 放宽基本假设:多重共线性</a>                       <a href="#effect">7.2 多重共线性的影响和后果</a> </span></div> --- ## 多重共线性的理论后果 如果模型出现多重共线性问题,在N-CLRM假设下,OLS估计量仍然是最优线性无偏估计量(BLUE): - 只要不是**完全共线性**,在近似多重共线性的情形下,OLS估计量仍然是无偏的 - 只要不是**完全共线性**,在近似多重共线性的情形下,OLS估计量的方差一定是小的 - 多重共线性本质上是一种样本现象。即使总体中X变量间不存在共线性,由于抽样方法或小样本问题,也可能带来多重共线性问题 --- ## 多重共线性的实际后果 **实际后果1**:更大的方差和协方差,估计精度下降。 `\(\hat{\beta}_2\)`和 `\(\hat{\beta}_3\)`的**真实方差**为: `$$\begin {align} \sigma_{\hat{\beta}_{2}}^{2} =\frac{\sigma^{2}}{\sum x_{2 i}^{2}\left(1-r_{23}^{2}\right)} \equiv \frac{\sigma^{2}}{\sum x_{2 i}^{2} \cdot TOL} \equiv \frac{\sigma^{2}}{\sum x_{2 i}^{2}} \cdot VIF \end {align}$$` `$$\begin {align} \sigma_{\hat{\beta}_{3}}^{2} =\frac{\sigma^{2}}{\sum x_{3 i}^{2}\left(1-r_{23}^{2}\right)} \equiv \frac{\sigma^{2}}{\sum x_{3 i}^{2} \cdot TOL} \equiv \frac{\sigma^{2}}{\sum x_{3 i}^{2}} \cdot VIF \end {align}$$` `$$\begin {align} \operatorname{cov}\left(\hat{\beta}_{2}, \hat{\beta}_{3}\right) & =\frac{-r_{23} \sigma^{2}}{\left(1-r_{23}^{2}\right) \sqrt{\sum x_{2 i}^{2}} \sqrt{\sum x_{3 i}^{2}}} && \leftarrow \left[ r_{23}^{2}=\frac{\left(\sum x_{2 i} x_{3 i}\right)^{2}}{\sum x_{2 i}^{2} \sum x_{3 i}^{2}} \right] \end {align}$$` `$$\begin {align} r_{23}^{2} \equiv \frac{\left(\sum x_{2 i} x_{3 i}\right)^{2}}{\sum x_{2 i}^{2} \sum x_{3 i}^{2}}; \quad TOL \equiv \left(1-r_{23}^{2}\right); \quad VIF \equiv \frac{1}{\left(1-r_{23}^{2}\right)} \end {align}$$` 随着 `\(r_{23}\)`的增大,方差和协方差的绝对值也增大。 --- ## 多重共线性的实际后果 方差增大的速度用**方差膨胀因子**(VIF, variance-inflating factor)衡量: `$$\begin {align} VIF=\frac{1}{\left(1-r_{23}^{2}\right)} \end {align}$$` **容忍度**(tolerance , TOL)定义为VIF的倒数: `$$\begin {align} \mathrm{TOL}_{\mathrm{j}}=\frac{1}{VIF_{\mathrm{j}}}=1-R_{j}^{2} \end {align}$$` `\(R^2_j\)`表示 `\(X_j\)`对其余(k-2)个回归元进行回归的判定系数 - 当 `\(R_j^2=1\)`,即完全共线性时, `\(TOL_j=0\)`; - 当 `\(R_j^2=0\)`,即不存在共线性时, `\(TOL_j=1\)`; - 由于VIF 和TOL 之间有密切关系,所以可以将它们互换使用。 > 注意: (古扎拉蒂)在k个变量的回归模型中有是k-1个回归元。 --- ## 多重共线性的实际后果 **实际后果2**:置信区间变宽,系数的检验倾向于不显著!即更倾向接受原假设H0,认为系数为零。 - 标准误增大,则有关总体参数的置信区间随之变大。 `$$\begin{align} \hat{\beta}_{1} \pm t_{1- \alpha / 2}(n-k) \cdot S_{\hat{\beta}_{1}}\\ \hat{\beta}_{2} \pm t_{1- \alpha / 2}(n-k) \cdot S_{\hat{\beta}_{2}}\\ \hat{\beta}_{3} \pm t_{1- \alpha / 2}(n-k) \cdot S_{\hat{\beta}_{3}} \end{align}$$` --- ## 多重共线性的实际后果 **实际后果3**:系数的t值倾向于统计上不显著,但 `\(R^2\)`却会很高。 `$$\begin{align} t^{\ast}_{\hat{\beta}_1}&=\frac{\hat{\beta}_{1}}{S_{\hat{\beta}_{1}}} \\ t^{\ast}_{\hat{\beta}_2}&=\frac{\hat{\beta}_{2}}{S_{\hat{\beta}_{2}}} \\ t^{\ast}_{\hat{\beta}_3}&=\frac{\hat{\beta}_{3}}{S_{\hat{\beta}_{3}}} \end{align}$$` 将 `\(t^{\ast}_{\hat{\beta}_i}\)`值和临界t值相比较。高度共线性使估计的标准误增加很快,t值迅速变小。 因而,在高度多重共线性的情形下,增加了接受错误假设的概率(第二类错误) --- ## 多重共线性的实际后果 **实际后果3**:系数的t值倾向于统计上不显著,但 `\(R^2\)`却会很高。 - 在高度共线性情形中,有可能会发现一个或多个偏斜率系数基于t检验不是个别统计显著的,然而这时 `\(R^2\)`却高达(比如说)0.9以上,从而根据F检验,可令人信服地拒绝原假设: `$$H_{0} : \beta_{2}=\beta_{3}=\cdots=\beta_{k}=0$$` - 但是,个别偏回归系数的t检验可能并不显著——这就是多重共线性的一个信号 - 这里的真正问题在于估计量之间的协方差,而这些协方差是同回归元之间的相关性有关系的。 --- ## 多重共线性的实际后果 **实际后果4**:OLS估计量及其标准误对数据的微小变化非常敏感。 --- ### 说明性例子(数据) <div class="figure" style="text-align: center">
<p class="caption">消费支出与收入和财富的数据(n=54)</p> </div> - `\(Y_i\)`表示人均消费支出 - `\(X_{2i}\)`表示人均收入; `\(X_{3i}\)`表示财富; `\(X_{4i}\)`表示利率 --- ### 说明性例子(精简分析报告) 我们可以构建如下的回归模型: `$$\begin{equation} \begin{alignedat}{999} &log(Y)=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} log(X2)&& + \hat{\beta}_{3} log(X3)&& + \hat{\beta}_{4} X4&&+e_i\\ \end{alignedat} \end{equation}$$` 计算并整理回归分析结果如下: `$$\begin{equation} \begin{alignedat}{999} &\widehat{log(Y)}=&&-0.47&&+0.80log(X2)&&+0.20log(X3)&&-0.00X4\\ &\text{(t)}&&(-10.9334)&&(45.9984)&&(11.4406)&&(-3.5293)\\&\text{(se)}&&(0.0428)&&(0.0175)&&(0.0176)&&(0.0008)\\&\text{(fitness)}&& R^2=0.9996;&& \bar{R^2}=0.9995\\& && F^{\ast}=37832.61;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ### 说明性例子(EViews软件报告) <img src="../pic/chpt7-example-EViews-10-2-US.png" width="661" style="display: block; margin: auto;" /> --- ### 说明性例子(R软件报告) 利用`R`软件给出更为详细的分析报告如下: ``` Call: lm(formula = mod_mat, data = data_income) Residuals: Min 1Q Median 3Q Max -0.018441 -0.010001 0.000337 0.007039 0.032578 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -0.4677111 0.0427780 -10.933 7.33e-15 *** log(X2) 0.8048729 0.0174979 45.998 < 2e-16 *** log(X3) 0.2012700 0.0175926 11.441 1.43e-15 *** X4 -0.0026891 0.0007619 -3.529 0.000905 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 0.01193 on 50 degrees of freedom Multiple R-squared: 0.9996, Adjusted R-squared: 0.9995 F-statistic: 3.783e+04 on 3 and 50 DF, p-value: < 2.2e-16 ``` --- ### 说明性例子(ANOVA) <table class="table" style="font-size: 20px; margin-left: auto; margin-right: auto;"> <thead> <tr> <th style="text-align:center;"> 变异来源 </th> <th style="text-align:center;"> 平方和符号SS </th> <th style="text-align:center;"> 平方和计算公式 </th> <th style="text-align:center;"> 自由度df </th> <th style="text-align:center;"> 均方和符号MSS </th> <th style="text-align:center;"> 均方和计算公式 </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> 回归平方和 </td> <td style="text-align:center;"> ESS </td> <td style="text-align:center;"> \( \sum{\hat{y}_i^2} \) </td> <td style="text-align:center;"> 3 </td> <td style="text-align:center;"> \(MSS_{ESS}\) </td> <td style="text-align:center;"> \( \boldsymbol{\hat{\beta}'X'y}-n\bar{Y}^2= \)16.1637 </td> </tr> <tr> <td style="text-align:center;"> 残差平方和 </td> <td style="text-align:center;"> RSS </td> <td style="text-align:center;"> \( \sum{e_i^2} \) </td> <td style="text-align:center;"> 50 </td> <td style="text-align:center;"> \(MSS_{RSS}\) </td> <td style="text-align:center;"> \( \boldsymbol{yy'-\hat{\beta}'X'y} \)=0.0071 </td> </tr> <tr> <td style="text-align:center;"> 总平方和 </td> <td style="text-align:center;"> TSS </td> <td style="text-align:center;"> \( \sum{y_i^2}\) </td> <td style="text-align:center;"> 53 </td> <td style="text-align:center;"> \(MSS_{TSS}\) </td> <td style="text-align:center;"> \( \boldsymbol{y'y}-n\bar{Y}^2 \)=16.1709 </td> </tr> </tbody> </table> --- ### 说明性例子(F检验) 根据方差分析表ANOVA和样本F统计量计算公式,可以得到: `$$\begin{align} F^{\ast}=\frac{ESS_U/df_{ESS_U}}{RSS_U/df_{RSS_U}}=\frac{\left(\boldsymbol{\hat{\beta}'X'y}-n\bar{Y}^2\right)/{(k-1)}}{\left(\boldsymbol{yy'-\hat{\beta}'X'y}\right)/{(n-k)}} =\frac{16.1637/3}{0.0071/50} =37832.6142 \end{align}$$` 得到显著性检验的判断结论。因为 `\(F^{\ast}=\)` 37832.6142 .red[**大于**] `\(F_{1-\alpha}(k-1,n-k)=F_{0.95}\)`(3,50)=2.7900,所以模型整体显著性的F检验结果**显著**。 --- ### 说明性例子(其他模型) 此外,我们可以分别构建如下回归模型,并得到回归分析结果: .pull-left[ `$$\begin{equation} \begin{alignedat}{999} &\widehat{log(X3)}=&&+1.65&&+0.99log(X2)\\ &\text{(t)}&&(8.8575)&&(42.0585)\\&\text{(se)}&&(0.1868)&&(0.0235)\\&\text{(fitness)}&& R^2=0.9714;&& \bar{R^2}=0.9709\\& && F^{\ast}=1768.92;&& p=0.0000 \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{log(X2)}=&&-1.40&&+0.98log(X3)\\ &\text{(t)}&&(-6.2996)&&(42.0585)\\&\text{(se)}&&(0.2223)&&(0.0234)\\&\text{(fitness)}&& R^2=0.9714;&& \bar{R^2}=0.9709\\& && F^{\ast}=1768.92;&& p=0.0000 \end{alignedat} \end{equation}$$` ] .pull-right[ `$$\begin{equation} \begin{alignedat}{999} &\widehat{log(Y)}=&&-0.07&&+1.00log(X2)\\ &\text{(t)}&&(-1.6471)&&(178.3010)\\&\text{(se)}&&(0.0444)&&(0.0056)\\&\text{(fitness)}&& R^2=0.9984;&& \bar{R^2}=0.9983\\& && F^{\ast}=31791.26;&& p=0.0000 \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{log(Y)}=&&-1.52&&+0.98log(X3)\\ &\text{(t)}&&(-8.3771)&&(51.5957)\\&\text{(se)}&&(0.1814)&&(0.0191)\\&\text{(fitness)}&& R^2=0.9808;&& \bar{R^2}=0.9805\\& && F^{\ast}=2662.12;&& p=0.0000 \end{alignedat} \end{equation}$$` ] --- layout: false class: center, middle, duke-softblue,hide_logo name: diagnose # 7.3 多重共线性问题的诊断 --- layout: true <div class="my-header-h2"></div> <div class="watermark1"></div> <div class="watermark2"></div> <div class="watermark3"></div> <div class="my-footer"><span>huhuaping@ <a href="#chapter07">第07章 放宽基本假设:多重共线性</a>                        <a href="#diagnose">7.3 多重共线性问题的诊断</a> </span></div> --- ## 多重共线性诊断:郎利案例 <div class="figure" style="text-align: center">
<p class="caption">美国就业情况的郎利数据(n=16)</p> </div> - `\(Y_i\)`表示就业人数; - `\(X_{2i}\)`表示消费价格指数(CPI); `\(X_{3i}\)`表示国民生产总值(GNP,以百万美元计); `\(X_{4i}\)`表示失业人数(以千人计) ; `\(X_{5i}\)`表示军队中的人数; `\(X_{6i}\)`表示14 岁以上的非机构人口数; `\(X_{7i}\)`表示时间( `\(t=1,2,\cdots,n\)`) --- ## 相关性分析诊断法 利用样本数据绘制图形和图表,分析自变量之间是否存在明显相关关系。如果有,则表明模型很可能会产生**多重共线性**问题。 判断依据: - **相关系数矩阵**发现高度线性相关(相关系数大于0.8) - **散点图矩阵**发现高度线性相关的数据分布模式 --- ### 相关性分析诊断法(案例) 郎利案例中,相关系数矩阵表计算如下: <div class="figure" style="text-align: center">
<p class="caption">相关系数矩阵表</p> </div> > `\(Y_i\)`表示就业人数; `\(X_{2i}\)`表示消费价格指数(CPI); `\(X_{3i}\)`表示国民生产总值(GNP,以百万美元计); `\(X_{4i}\)`表示失业人数(以千人计) ; `\(X_{5i}\)`表示军队中的人数; `\(X_{6i}\)`表示14 岁以上的非机构人口数; `\(X_{7i}\)`表示时间( `\(t=1,2,\cdots,n\)`) --- ### 相关性分析诊断法(案例) 郎利案例中,散点矩阵图如下: ``` Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter Warning in par(usr): argument 1 does not name a graphical parameter ``` <img src="07-multi-linearity-slide_files/figure-html/unnamed-chunk-20-1.png" style="display: block; margin: auto;" /> --- ## 主回归方程诊断法 如果主回归方程分析报告结果异常,则可能认为存在多重共线性问题。 **诊断依据**: - 主回归分析报告的 `\(R^2\)`值高(大于0.8) - 分析报告 `\(F^{\ast}\)`检验显著 - 不显著的 `\(t^\ast\)`检验较多(多于回归系数个数的一半及以上) --- ### 主回归方程诊断法(案例简要报告) 郎利案例中,我们构建如下主回归模型: `$$\begin{equation} \begin{alignedat}{999} &Y=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X2&& + \hat{\beta}_{3} X3&& + \hat{\beta}_{4} X4\\ &\text{(cont.)}&& + \hat{\beta}_{5} X5&& + \hat{\beta}_{6} X6&& + \hat{\beta}_{7} X7&&+e_i\\ \end{alignedat} \end{equation}$$` 主回归模型的回归分析结果如下: `$$\begin{equation} \begin{alignedat}{999} &\widehat{Y}=&&+77270.12&&+1.51X2&&-0.04X3&&-2.02X4\\ &\text{(t)}&&(3.4332)&&(0.1774)&&(-1.0695)&&(-4.1364)\\&\text{(se)}&&(22506.7070)&&(8.4915)&&(0.0335)&&(0.4884)\\&\text{(cont.)}&&-1.03X5&&-0.05X6&&+1829.15X7\\&\text{(t)}&&(-4.8220)&&(-0.2261)&&(4.0159)\\&\text{(se)}&&(0.2143)&&(0.2261)&&(455.4785)\\&\text{(fitness)}&& R^2=0.9955;&& \bar{R^2}=0.9925\\& && F^{\ast}=330.29;&& p=0.0000\\ \end{alignedat} \end{equation}$$` --- ### 主回归方程诊断法(案例R报告) <!---`R`软件下的详细回归分析结果见左边:---> ``` Call: lm(formula = mods$main, data = data_longley) Residuals: Min 1Q Median 3Q Max -410.11 -157.67 -28.16 101.55 455.39 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 7.727e+04 2.251e+04 3.433 0.007470 ** X2 1.506e+00 8.491e+00 0.177 0.863141 X3 -3.582e-02 3.349e-02 -1.070 0.312681 X4 -2.020e+00 4.884e-01 -4.136 0.002535 ** X5 -1.033e+00 2.143e-01 -4.822 0.000944 *** X6 -5.110e-02 2.261e-01 -0.226 0.826212 X7 1.829e+03 4.555e+02 4.016 0.003037 ** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 304.9 on 9 degrees of freedom Multiple R-squared: 0.9955, Adjusted R-squared: 0.9925 F-statistic: 330.3 on 6 and 9 DF, p-value: 4.984e-10 ``` --- ## 辅助回归方程诊断法(判定系数) **辅助回归方程**:为侦察多元回归模型是否存在多重共线性,构建关于自变量之间的一类线性回归方程。 正式地,对于样本回归模型,我们可以构建得到如下辅助回归方程: `$$\begin{align} X_{2i}&=\hat{\alpha}_1+\cdots+\hat{\alpha}_jX_{ji}+\cdots+\hat{\alpha}_kX_{ki}+\epsilon_{2i} \\ &\vdots\\ X_{ji}&=\hat{\alpha}_1+\hat{\alpha}_2X_{2i}+\cdots+\hat{\alpha}_kX_{ki}+\epsilon_{ji} \\ &\vdots\\ X_{ki}&=\hat{\alpha}_1+\hat{\alpha}_2X_{2i}+\cdots+\hat{\alpha}_jX_{ji}+\cdots+\epsilon_{ki} \\ \end{align}$$` 对于样本回归模型,在普通最小二乘法下,我们可以证明: `$$\begin{align} S^2_{\hat{\beta}_j}=\frac{\hat{\sigma}^2}{(n-1)S^2_{X_j}} \cdot \frac{1}{1-R^2_j} \end{align}$$` 其中 `\(R^2_j\)`为辅助回归方程的判定系数。 `\(S^2_{X_j}\)`为变量 `\(X_j\)`的样本方差。 --- ## 辅助回归方程诊断法(判定系数) **克莱因经验法则**(Klein‘s rule of thumb): - 当来自一个辅助回归的 `\(R^2_j\)`大于得自主回归中的 `\(R^2\)`值时,多重共线性才算是一个麻烦的问题。 --- ### 辅助回归方程诊断法(辅助方程X2) 郎利案例中,辅助回归方程( `\(X_2\)`)的简要结果如下: `$$\begin{equation} \begin{alignedat}{999} &X2=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X3&& + \hat{\beta}_{3} X4&& + \hat{\beta}_{4} X5&& + \hat{\beta}_{5} X6&& + \hat{\beta}_{6} X7&&+e_i\\ \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{X2}=&&+2044.58&&+0.00X3&&+0.03X4&&+0.01X5&&-0.02X6&&-9.99X7\\ &\text{(t)}&&(3.8333)&&(2.7006)&&(2.1098)&&(1.1770)&&(-2.7720)&&(-0.5996)\\&\text{(se)}&&(533.3698)&&(0.0009)&&(0.0151)&&(0.0075)&&(0.0063)&&(16.6654)\\&\text{(fitness)}&& R^2=0.9926;&& \bar{R^2}=0.9889\\& && F^{\ast}=269.06;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ### 辅助回归方程诊断法(辅助方程X3) 郎利案例中,辅助回归方程( `\(X_3\)`)的简要结果如下: `$$\begin{equation} \begin{alignedat}{999} &X3=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X2&& + \hat{\beta}_{3} X4&& + \hat{\beta}_{4} X5&& + \hat{\beta}_{5} X6&& + \hat{\beta}_{6} X7&&+e_i\\ \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{X3}=&&-480986.04&&+164.66X2&&-13.79X4&&-3.00X5&&+5.62X6&&+10902.88X7\\ &\text{(t)}&&(-3.2408)&&(2.7006)&&(-9.1921)&&(-1.6774)&&(4.7649)&&(4.2411)\\&\text{(se)}&&(148413.7872)&&(60.9699)&&(1.5002)&&(1.7873)&&(1.1804)&&(2570.7562)\\&\text{(fitness)}&& R^2=0.9994;&& \bar{R^2}=0.9992\\& && F^{\ast}=3575.03;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ### 辅助回归方程诊断法(辅助方程X4) 郎利案例中,辅助回归方程( `\(X_4\)`)的简要结果如下: `$$\begin{equation} \begin{alignedat}{999} &X4=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X2&& + \hat{\beta}_{3} X3&& + \hat{\beta}_{4} X5&& + \hat{\beta}_{5} X6&& + \hat{\beta}_{6} X7&&+e_i\\ \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{X4}=&&-28518.24&&+9.65X2&&-0.06X3&&-0.27X5&&+0.35X6&&+768.55X7\\ &\text{(t)}&&(-2.4914)&&(2.1098)&&(-9.1921)&&(-2.4895)&&(3.6779)&&(4.6007)\\&\text{(se)}&&(11446.8866)&&(4.5736)&&(0.0071)&&(0.1090)&&(0.0954)&&(167.0507)\\&\text{(fitness)}&& R^2=0.9703;&& \bar{R^2}=0.9554\\& && F^{\ast}=65.24;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ### 辅助回归方程诊断法(辅助方程X5) 郎利案例中,辅助回归方程( `\(X_5\)`)的简要结果如下: `$$\begin{equation} \begin{alignedat}{999} &X5=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X2&& + \hat{\beta}_{3} X3&& + \hat{\beta}_{4} X4&& + \hat{\beta}_{5} X6&& + \hat{\beta}_{6} X7&&+e_i\\ \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{X5}=&&-11881.24&&+13.82X2&&-0.07X3&&-1.41X4&&+0.20X6&&+1167.78X7\\ &\text{(t)}&&(-0.3600)&&(1.1770)&&(-1.6774)&&(-2.4895)&&(0.6084)&&(2.0791)\\&\text{(se)}&&(33002.4231)&&(11.7447)&&(0.0437)&&(0.5663)&&(0.3276)&&(561.6770)\\&\text{(fitness)}&& R^2=0.7214;&& \bar{R^2}=0.5820\\& && F^{\ast}=5.18;&& p=0.0133 \end{alignedat} \end{equation}$$` --- ### 辅助回归方程诊断法(辅助方程X6) 郎利案例中,辅助回归方程( `\(X_6\)`)的简要结果如下: `$$\begin{equation} \begin{alignedat}{999} &X6=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X2&& + \hat{\beta}_{3} X3&& + \hat{\beta}_{4} X4&& + \hat{\beta}_{5} X5&& + \hat{\beta}_{6} X7&&+e_i\\ \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{X6}=&&+95694.37&&-24.76X2&&+0.12X3&&+1.64X4&&+0.18X5&&-782.04X7\\ &\text{(t)}&&(11.0221)&&(-2.7720)&&(4.7649)&&(3.6779)&&(0.6084)&&(-1.3319)\\&\text{(se)}&&(8682.0335)&&(8.9319)&&(0.0259)&&(0.4454)&&(0.2943)&&(587.1614)\\&\text{(fitness)}&& R^2=0.9975;&& \bar{R^2}=0.9962\\& && F^{\ast}=796.30;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ### 辅助回归方程诊断法(辅助方程X7) 郎利案例中,辅助回归方程( `\(X_7\)`)的简要结果如下: `$$\begin{equation} \begin{alignedat}{999} &X7=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X2&& + \hat{\beta}_{3} X3&& + \hat{\beta}_{4} X4&& + \hat{\beta}_{5} X5&& + \hat{\beta}_{6} X6&&+e_i\\ \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{X7}=&&+8.31&&-0.00X2&&+0.00X3&&+0.00X4&&+0.00X5&&-0.00X6\\ &\text{(t)}&&(0.5392)&&(-0.5996)&&(4.2411)&&(4.6007)&&(2.0791)&&(-1.3319)\\&\text{(se)}&&(15.4036)&&(0.0058)&&(0.0000)&&(0.0002)&&(0.0001)&&(0.0001)\\&\text{(fitness)}&& R^2=0.9987;&& \bar{R^2}=0.9980\\& && F^{\ast}=1515.96;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ### 辅助回归方程诊断法(判定系数比较) 主回归模型的判定系数为 0.9955 ,辅助回归的判定系数见下表: <table class="table" style="margin-left: auto; margin-right: auto;"> <caption>辅助回归方程的判定系数</caption> <thead> <tr> <th style="text-align:center;"> models </th> <th style="text-align:center;"> R2 </th> <th style="text-align:center;"> 判定系数诊断结论 </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> X2 </td> <td style="text-align:center;"> 0.9926 </td> <td style="text-align:center;"> ... </td> </tr> <tr> <td style="text-align:center;"> X3 </td> <td style="text-align:center;"> 0.9994 </td> <td style="text-align:center;"> 严重问题 </td> </tr> <tr> <td style="text-align:center;"> X4 </td> <td style="text-align:center;"> 0.9703 </td> <td style="text-align:center;"> ... </td> </tr> <tr> <td style="text-align:center;"> X5 </td> <td style="text-align:center;"> 0.7214 </td> <td style="text-align:center;"> ... </td> </tr> <tr> <td style="text-align:center;"> X6 </td> <td style="text-align:center;"> 0.9975 </td> <td style="text-align:center;"> 严重问题 </td> </tr> <tr> <td style="text-align:center;"> X7 </td> <td style="text-align:center;"> 0.9987 </td> <td style="text-align:center;"> 严重问题 </td> </tr> </tbody> </table> --- ## 辅助回归方程诊断法(VIF) 辅助回归方程方差膨胀因子的理论计算公式为 `$$\begin{equation} VIF_j=\frac{1}{1-R^2_j},(j=1,2,\cdots,k-1) \end{equation}$$` 诊断依据: - 辅助回归方程的方差膨胀因子中如果 `\(VIF_j \in [10,100]\)`表明中度多重共线性; - 如果 `\(VIF_j \geq 100\)`表明严重多重共线性 --- ### 辅助回归方程诊断法(VIF) 郎利案例中,辅助回归方程的VIF诊断结果为: <table> <caption>方差膨胀因子分析</caption> <thead> <tr> <th style="text-align:center;"> models </th> <th style="text-align:center;"> R2 </th> <th style="text-align:center;"> VIF </th> <th style="text-align:center;"> VIF诊断结论 </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> X2 </td> <td style="text-align:center;"> 0.9926 </td> <td style="text-align:center;"> 135.5324 </td> <td style="text-align:center;"> 非常严重 </td> </tr> <tr> <td style="text-align:center;"> X3 </td> <td style="text-align:center;"> 0.9994 </td> <td style="text-align:center;"> 1788.5135 </td> <td style="text-align:center;"> 非常严重 </td> </tr> <tr> <td style="text-align:center;"> X4 </td> <td style="text-align:center;"> 0.9703 </td> <td style="text-align:center;"> 33.6189 </td> <td style="text-align:center;"> 比较严重 </td> </tr> <tr> <td style="text-align:center;"> X5 </td> <td style="text-align:center;"> 0.7214 </td> <td style="text-align:center;"> 3.5889 </td> <td style="text-align:center;"> ... </td> </tr> <tr> <td style="text-align:center;"> X6 </td> <td style="text-align:center;"> 0.9975 </td> <td style="text-align:center;"> 399.1510 </td> <td style="text-align:center;"> 非常严重 </td> </tr> <tr> <td style="text-align:center;"> X7 </td> <td style="text-align:center;"> 0.9987 </td> <td style="text-align:center;"> 758.9806 </td> <td style="text-align:center;"> 非常严重 </td> </tr> </tbody> </table> 根据计算结果汇总,可以认为主模型存在较严重的多重共线性问题。其中VIF值大于100的系数就包括 X2、X3、X6、X7 。 --- ### 辅助回归方程诊断法(VIF) `EViews`软件给出的VIF结果: <img src="../pic/chpt7-EViews-VIF.png" width="616" style="display: block; margin: auto;" /> --- ## 辅助回归方程诊断法(TOL) 辅助回归方程容忍度的理论计算公式为: `$$\begin{equation} TOL_j=1-R^2_j=\frac{1}{VIF_j},(j=1, 2, \cdots,k-1) \end{equation}$$` 诊断依据: - 如果辅助回归方程的容忍度 `\(TOL_j\in[0.01,0.1]\)`表明中度多重共线性; - 如果辅助回归方程的容忍度 `\(TOL_j\leq{0.01}\)`表明存在严重的多重共线性 --- ### 辅助回归方程诊断法(TOL) 郎利案例中,辅助回归方程的TOL诊断结果为: <table> <caption>容忍度分析结果</caption> <thead> <tr> <th style="text-align:center;"> models </th> <th style="text-align:center;"> R2 </th> <th style="text-align:center;"> VIF </th> <th style="text-align:center;"> TOL </th> <th style="text-align:center;"> TOL结论 </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> X2 </td> <td style="text-align:center;"> 0.9926 </td> <td style="text-align:center;"> 135.5324 </td> <td style="text-align:center;"> 0.0074 </td> <td style="text-align:center;"> 非常严重 </td> </tr> <tr> <td style="text-align:center;"> X3 </td> <td style="text-align:center;"> 0.9994 </td> <td style="text-align:center;"> 1788.5135 </td> <td style="text-align:center;"> 0.0006 </td> <td style="text-align:center;"> 非常严重 </td> </tr> <tr> <td style="text-align:center;"> X4 </td> <td style="text-align:center;"> 0.9703 </td> <td style="text-align:center;"> 33.6189 </td> <td style="text-align:center;"> 0.0297 </td> <td style="text-align:center;"> ... </td> </tr> <tr> <td style="text-align:center;"> X5 </td> <td style="text-align:center;"> 0.7214 </td> <td style="text-align:center;"> 3.5889 </td> <td style="text-align:center;"> 0.2786 </td> <td style="text-align:center;"> 比较严重 </td> </tr> <tr> <td style="text-align:center;"> X6 </td> <td style="text-align:center;"> 0.9975 </td> <td style="text-align:center;"> 399.1510 </td> <td style="text-align:center;"> 0.0025 </td> <td style="text-align:center;"> 非常严重 </td> </tr> <tr> <td style="text-align:center;"> X7 </td> <td style="text-align:center;"> 0.9987 </td> <td style="text-align:center;"> 758.9806 </td> <td style="text-align:center;"> 0.0013 </td> <td style="text-align:center;"> 非常严重 </td> </tr> </tbody> </table> --- ## 回归系数方差分解诊断法(CVD) 回归系数方差分解法(Coefficient Variance Decomposition):通过计算特征值(eigenvalues),进而得到病态数( `\(K_j\)`)和方差分解比率 `\(VDP_j\)`,最后做出多重共线性的诊断结论: 对于k变量回归模型: `$$\begin{align} \mathbf{y} &= \mathbf{X}\mathbf{\hat{\beta}}+\mathbf{e} && \text{(SRM)} \end{align}$$` 可以得到OLS下参数估计的方差协方差矩阵: `$$\begin{align} var-cov(\boldsymbol{\hat{\beta}}) = \sigma^2 \boldsymbol{(X'X)^{-1}} = \sigma^2 \boldsymbol{VD^{-1}V'} \end{align}$$` 其中, `\(\mathbf{D}\)`是含有矩阵 `\(\mathbf{(X'X)^{-1}}\)`的**特征值**(eigenvalues) `\(E_m\)`( `\(m \in 1,2,\cdots,k\)`)的一个对角矩阵,而 `\(\mathbf{V}\)`是由相应**特征向量**构成的一个矩阵。 --- ## 回归系数方差分解诊断法(CVD) **病态数**(condition number)采用微分的方法,考察引入一个变量对(多重共线性)模型结果恶化情形出现的相对改变数,一般记为K,并正式定义为: `$$\begin{align} K_j&= \frac{min(E_m)}{E_j} \end{align}$$` **方差分解比率**(variance-decomposition proportion),一般记为 `\(VDP_{ji}\)`,并正式定义为: `$$\begin{align} \phi_{ij}=\frac{v^2_{ij}}{E_j}; \quad VDP_{ji}= \frac{\phi_{ij}}{\phi_i} \end{align}$$` 其中 `\(v_{ij}\)`为矩阵 `\(\mathbf{V}\)`的第 `\((i,j)\)`个元素。 --- ## 回归系数方差分解诊断法(CVD) 病态数和方差分解比率:用来诊断多元线性回归模型的多重共线性问题严重程度的指标。诊断依据为: - 若发现至少一个病态数 `\(K_j \leq 0.001\)`,则表明存在严重多重共线性; - 观察病态数最小时所对应的方差分解比率,如果有多个斜率系数的 `\(VDP_j \geq 0.5\)`,则表明存在严重的多重共线性 - 系数方差分解诊断方法由Belsley, Kuh and Welsch (BKW) 2004提出,具体细节可以参考[Eviews帮助文档](http://www.eviews.com/help/helpintro.html#page/content/testing-Coefficient_Diagnostics.html),网址为:http://www.eviews.com/help/helpintro.html#page/content/testing-Coefficient_Diagnostics.html]。 - Eviews软件中病态数的计算是基于矩阵 `\(\mathbf{(X'X)}^{-1}\)`,而不是基于矩阵 `\(\mathbf{X}\)` --- ### 回归系数方差分解诊断法(CVD) 郎利案例中,主回归模型系数方差分解的多重共线性EViews诊断结果为: <div class="figure" style="text-align: center"> <img src="../pic/chpt7-vcd-full-result.png" alt="主回归模型系数方差分解的Eviews报告" width="589" /> <p class="caption">主回归模型系数方差分解的Eviews报告</p> </div> --- layout: false class: center, middle, duke-softblue,hide_logo name: adjust # 7.4 多重共线性问题的矫正 --- layout: true <div class="my-header-h2"></div> <div class="watermark1"></div> <div class="watermark2"></div> <div class="watermark3"></div> <div class="my-footer"><span>huhuaping@ <a href="#chapter07">第07章 放宽基本假设:多重共线性</a>                        <a href="#adjust">7.4 多重共线性问题的矫正</a> </span></div> --- ## 删除变量法 一旦发现模型存在比较严重的多重共线性问题,则需要对模型进行修正处理,具体方法可参考: 简单剔除变量法: - 依据经济学和实践经验观察,进行变量甄选或变量变换。利用先验信息(成为研究领域的专家!)酌情删除特定变量,减弱模型的多重共线性问题。那怎样才能获得先验信息呢?它往往源自经验研究工作或者有关基础理论。 > 怎样获得先验信息呢?它可以经验研究工作或者有关基础理论。例如,在柯布-道格拉斯生产函数中,如果人们预期规模报酬不变成立,则有 `\(\beta_2+\beta_3=1\)`。如果劳动和资本之间存在共线性,这一变换就减轻或消除了共线性问题。 - 变量变换法,进行变量处理。具体又包括差分变换法、比率变换法 --- ### 删除变量法(案例) 郎利案例中,模型各变量的含义: - `\(Y_i\)`表示就业人数; - `\(X_{2i}\)`表示消费价格指数(CPI); `\(X_{3i}\)`表示国民生产总值(GNP,以百万美元计); `\(X_{4i}\)`表示失业人数(以千人计) ; `\(X_{5i}\)`表示军队中的人数; `\(X_{6i}\)`表示14岁以上的非机构人口数; `\(X_{7i}\)`表示时间( `\(t=1,2,\cdots,n\)`)。 简单删除的依据: - 不用名义GNP,改用真实GNP。将名义GNP(X3) 除以价格指数CPI(X2),得到**实际GNP**(X3/X2)。 - 留下X5(军队中的人数),去掉X6(14 岁以上非机构人口数)。因为X6(14 岁以上非机构人口数)随时间(X7)不断增长,它与时间变量X7高度相。 - 去掉变量X4(失业人数)。可能失业率是劳动力市场状况的一个更好的度量指标,但我们没有这方面的数据,而失业人数X4也没有充分的理由包括进来。 --- ### 删除变量法(案例R报告) 运用删除变量法,调整后的回归模型为: `$$\begin{equation} \begin{alignedat}{999} &Y=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} I(X3/X2)&& + \hat{\beta}_{3} X5&& + \hat{\beta}_{4} X6&&+e_i\\ \end{alignedat} \end{equation}$$` 回归结果为: `$$\begin{equation} \begin{alignedat}{999} &\widehat{Y}=&&+65720.37&&+97.36I(X3/X2)&&-0.69X5&&-0.30X6\\ &\text{(t)}&&(6.1856)&&(5.4347)&&(-2.1350)&&(-2.1130)\\&\text{(se)}&&(10624.8077)&&(17.9155)&&(0.3222)&&(0.1418)\\&\text{(fitness)}&& R^2=0.9814;&& \bar{R^2}=0.9768\\& && F^{\ast}=211.10;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ## 变量变换法(一阶差分法) 面对严重的共线性,最简单的方法就是去掉某些变量,但剔除变量会导致设定误差。实际中需要权衡利弊。 **一阶差分法**(first difference form)巧妙删除变量:模型中两个解释变量 `\(X_{k,i}\)`和 `\(X_{w,i}\)`可能导致高度多重共线性,但是分别对二者进行一阶差分,再进行回归建模,新模型可能的多重共线性问题很可能大大缓解!具体变换如下: `$$\begin{align} Y_t & =\beta_1+\beta_2X_{2,t}+\beta_3X_{3,t}+u_t && \text{原模型} \\ Y_{t-1} & =\beta_1+\beta_2X_{2,t-1}+\beta_3X_{3,t-1}+u_{t-1} && \text{滞后1阶变量模型} \\ Y_t-Y_{t-1} & =\beta_2(X_{2,t}-X_{2,t-1})+\beta_3(X_{3,t}-X_{3,t-1})+(u_t-u_{t-1}) && \text{一阶差分模型} \\ Y^{\ast}_t &=\beta_2X^{\ast}_{2,t}+\beta_3X^{\ast}_{3,t}+v_t && \text{精简化模型} \end{align}$$` >需要注意的是,“按下葫芦浮起瓢”,治疗比疾病更糟糕? >差分变换 `\(Y_{t-1}\)`减少了自由度;同时 `\(v_t=(u_t-u_{t-1})\)`可能带来异方差问题。 --- ## 变量变换法(比率变换法) **比率变换法**(ratio transformation)巧妙删除变量:模型中两个解释变量 `\(X_{k,i}\)`和 `\(X_{w,i}\)`可能导致高度多重共线性,如果可以用其中的一个变量同时对模型其他变量进行比率变换,而且如果变换后的所有变量还能具有经济学含义,那么理论上将至少消掉一个回归元,从而大大缓解甚至消除多重共线性问题! 以**消费支出决定**为例: `\(Y_t\)` 为以真实价格表示的消费支出, `\(X_{2,t}\)`表示GDP, `\(X_{3,t}\)`表示总人口。 `$$\begin{align} Y_t & =\beta_1+\beta_2X_{2,t}+\beta_3X_{3,t}+u_t && \text{原模型} \\ \frac{Y_t}{X_{3,t}} & =\frac{\beta_1}{X_{3,t}}+\beta_2\frac{X_{2,t}}{X_{3,t}}+\frac{u_t}{X_{3,t}} && \text{比率变换模型} \\ Y^{\ast}_t &=\beta^{\ast}_1+\beta^{\ast}_2X^{\ast}_{2,t}+v_t && \text{精简化模型} \end{align}$$` >同样需要注意的是,“按下葫芦浮起瓢”,治疗比疾病更糟糕? > `\(v_t=\frac{u_t}{X_{3,t}}\)`可能带来异方差问题。 --- ## 逐步回归法 **逐步最小二乘回归法**(Stepwise Least Squares Regression)通过多个统计标准,可以自动判断模型该引入还是删除某些自变量X。这些统计标准主要包括分析引入新变量对回归平方和ESS的贡献大小,及F检验等。 - **前向逐步回归法**(Stepwise-Forwards),是从一个简化模型(很少X变量)开始,再逐步引入新的X变量,直至达到某个统计标准(主要是p值标准) - **后向逐步回归法**(Stepwise-Backwards),是从一个完全模型(全部X变量)开始,对模型逐步删除某些X变量,直至剩余变量都达到某个统计标准(主要是p值标准) 逐步最小二乘回归法一般采用如下标准来自动筛选变量: - p值判别法: `\(p\in[0.1,0.05)\)`(比较显著); `\(p\in[0.05,0.01)\)`(比较显著); `\(p\leq 0.01\)`(极其显著) - `\(t^{\ast}\)`值判别法:2t法则 - **AIC**信息准则:越小越好 `R`统计软件下采用**后向逐步回归法**(Stepwise-Backwards)自动删除变量,最终回归结果报告见下页--> --- ### 后向逐步回归法分析结果 ``` Call: lm(formula = Y ~ X3 + X4 + X5 + X7, data = data_longley) Residuals: Min 1Q Median 3Q Max -421.65 -124.57 -24.16 83.69 452.68 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 7.417e+04 4.252e+03 17.445 2.30e-09 *** X3 -4.019e-02 1.647e-02 -2.440 0.032833 * X4 -2.088e+00 2.900e-01 -7.202 1.75e-05 *** X5 -1.015e+00 1.837e-01 -5.522 0.000180 *** X7 1.887e+03 3.828e+02 4.931 0.000449 *** --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 279.4 on 11 degrees of freedom Multiple R-squared: 0.9954, Adjusted R-squared: 0.9937 F-statistic: 589.8 on 4 and 11 DF, p-value: 9.5e-13 ``` .footnote[\*后向逐步回归的具体细节,请参看**附录7-A**给出的.red[详细报告]] --- ### 逐步回归法(案例报告) 经过**后向逐步回归法**的标准筛选变量,得到的新模型为: `$$\begin{equation} \begin{alignedat}{999} &Y=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X3&& + \hat{\beta}_{3} X4&& + \hat{\beta}_{4} X5&& + \hat{\beta}_{5} X7&&+e_i\\ \end{alignedat} \end{equation}$$` 逐步回归法矫正后回归模型的简要回归报告如下: `$$\begin{equation} \begin{alignedat}{999} &\widehat{Y}=&&+74169.53&&-0.04X3&&-2.09X4&&-1.01X5&&+1887.41X7\\ &\text{(t)}&&(17.4451)&&(-2.4398)&&(-7.2021)&&(-5.5223)&&(4.9310)\\&\text{(se)}&&(4251.5849)&&(0.0165)&&(0.2900)&&(0.1837)&&(382.7665)\\&\text{(fitness)}&& R^2=0.9954;&& \bar{R^2}=0.9937\\& && F^{\ast}=589.76;&& p=0.0000 \end{alignedat} \end{equation}$$` --- ## 补充新数据法(有时候有用!) 由于多重共线性是一个样本特性,故有可能在关于同样变量的另一样本中共线性没有第一个样本那么严重 在三变量回归中,有: `$$\begin {align} \operatorname{var}\left(\hat{\beta}_{2}\right)=\frac{\sigma^{2}}{\sum x_{2 i}^{2}\left(1-r_{23}^{2}\right)} \end {align}$$` - 随着样本增加, `\(\sum x_{2 i}^{2}\)`一般地都会增加(为什么?) - 因此,对任何给定的 `\(r^2_{23}\)`, `\(\hat{\beta}_2\)`的方差将会减小,从而减低 `\(\hat{\beta}_2\)`的标准误,使我们能够更准确地估计 `\(\beta_2\)`。 --- ## 多项式回归法(原理) 多项式回归模型中离差形式或正交多项式(orthogonal polynomials)可以降低共线性的影响。 - 多项式回归模型的一个特点是解释变量以不同的幂出现,从而容易导致多重共线性 - 处理办法:离差形式或正交多项式(orthogonal polynomials)方法 .footnote[ 相关资料可以参考宾夕法尼亚大学的[Reducing Structural Multicollinearity](https://newonlinecourses.science.psu.edu/stat501/node/349/) ] --- ### 多项式回归法(案例数据) <div class="figure" style="text-align: center">
<p class="caption">成本与产量数据</p> </div> 其中: `\(Y\)`表示成本(`Cost`); `\(X\)`表示产品产量(`Output`); `\(X\)`表示产品产量的平方; `\(y\)`表示成本的离差; `\(x\)`表示产量的离差; `\(x^2\)`表示产量离差的平方。 --- ### 多项式回归法(案例绘图1) -- .pull-left[ <div class="figure" style="text-align: center"> <img src="07-multi-linearity-slide_files/figure-html/unnamed-chunk-52-1.png" alt="产量和成本的散点图" /> <p class="caption">产量和成本的散点图</p> </div> ] -- .pull-right[ <div class="figure" style="text-align: center"> <img src="07-multi-linearity-slide_files/figure-html/unnamed-chunk-53-1.png" alt="产量和产量平方的散点图" /> <p class="caption">产量和产量平方的散点图</p> </div> ] -- 实际上产量 `\(X\)`和产量平方 `\(X^2\)`之间的相关系数为: `\(r_{(X,X^2)}=\)` 0.9949846。人们可能执意构建如下的**二次多项式抛物线模型1**: `$$\begin{equation} \begin{alignedat}{999} &Y=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} X&& + \hat{\beta}_{3} I(X^2)&&+e_i\\ \end{alignedat} \end{equation}$$` --- ### 多项式回归法(案例回归1) 上述**二次多项式抛物线模型1**回归分析结果如下: `$$\begin{equation} \begin{alignedat}{999} &\widehat{Y}=&&-1464.40&&+88.31X&&-0.54I(X^2)\\ &\text{(t)}&&(-3.5596)&&(5.3606)&&(-3.3900)\\&\text{(se)}&&(411.4012)&&(16.4735)&&(0.1582)\\&\text{(fitness)}&& R^2=0.9377;&& \bar{R^2}=0.9331\\& && F^{\ast}=203.16;&& p=0.0000 \end{alignedat} \end{equation}$$` -- 对以上模型进行方差膨胀因子(VIF)分析,结果为: <table> <caption>自变量方差膨胀因子分析结果</caption> <thead> <tr> <th style="text-align:center;"> terms </th> <th style="text-align:center;"> VIF </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> \( X \) </td> <td style="text-align:center;"> 99.9426 </td> </tr> <tr> <td style="text-align:center;"> \( X^2 \) </td> <td style="text-align:center;"> 99.9426 </td> </tr> </tbody> </table> --- ### 多项式回归法(案例绘图2) -- .pull-left[ <div class="figure" style="text-align: center"> <img src="07-multi-linearity-slide_files/figure-html/unnamed-chunk-58-1.png" alt="产量离差和成本离差的散点图" /> <p class="caption">产量离差和成本离差的散点图</p> </div> ] -- .pull-right[ <div class="figure" style="text-align: center"> <img src="07-multi-linearity-slide_files/figure-html/unnamed-chunk-59-1.png" alt="产量离差和产量离差平方的散点图" /> <p class="caption">产量离差和产量离差平方的散点图</p> </div> ] -- 此时产量离差 `\(x\)`和产量离差平方 `\(x^2\)`之间的相关系数为: `\(r_{(x,x^2)}=\)` 0.2195179。我们再构建如下的**二次多项式抛物线模型2**: `$$\begin{equation} \begin{alignedat}{999} &y=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} x&& + \hat{\beta}_{3} I(x^2)&&+e_i\\ \end{alignedat} \end{equation}$$` --- ### 多项式回归法(案例回归2) **二次多项式抛物线模型2**的回归分析结果为: `$$\begin{equation} \begin{alignedat}{999} &\widehat{y}=&&+74.56&&+34.00x&&-0.54I(x^2)\\ &\text{(t)}&&(2.5406)&&(20.1297)&&(-3.3900)\\&\text{(se)}&&(29.3486)&&(1.6890)&&(0.1582)\\&\text{(fitness)}&& R^2=0.9377;&& \bar{R^2}=0.9331\\& && F^{\ast}=203.16;&& p=0.0000 \end{alignedat} \end{equation}$$` -- 对该模型进行方差膨胀因子(VIF)分析,结果为: <table> <thead> <tr> <th style="text-align:center;"> terms </th> <th style="text-align:center;"> VIF </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> \( x \) </td> <td style="text-align:center;"> 1.05 </td> </tr> <tr> <td style="text-align:center;"> \( x^2 \) </td> <td style="text-align:center;"> 1.05 </td> </tr> </tbody> </table> --- ## 岭回归法(基本原理) **岭回归法**(ridge regression),也被称为脊回归,常被用来"解决"多重共线性问题。可惜这些技术都要利用矩阵代数才便于讨论<sup>*</sup>。 `$$\begin {align} \boldsymbol{y} & = \boldsymbol{X\beta +u} \\ \boldsymbol{\hat{\beta}}^{ridge} & =\underset{\boldsymbol{\beta} \in \mathbb{R}}{\operatorname{argmin}}\| \boldsymbol{y-X B} \|_{2}^{2}+\lambda\| \boldsymbol{B} \|_{2}^{2} \\ \boldsymbol{\hat{\beta}}_{\text {ridge}} & =\boldsymbol{\left(X^{T} X+\lambda I\right)^{-1} X^{T} y} \end {align}$$` 其中: `\(\| \boldsymbol{B} \|_{2}=\sqrt{\beta_{1}^{2}+\beta_{2}^{2}+\cdots+\beta_{k}^{2}}\)`表示**向量范数**(vector norm)运算 .footnote[[*] 岭回归的具体细节,请参看附录[材料1 Ridge Regression for Better Usage](https://towardsdatascience.com/ridge-regression-for-better-usage-2f19b3a202db)、[材料2](https://drsimonj.svbtle.com/ridge-regression-with-glmnet) 和[材料3 Ridge Regression](http://r-statistics.co/Ridge-Regression-With-R.html) ] --- ### 岭回归法(R软件分析) 利用`R`软件进行岭回归分析,结果报告如下: <img src="../pic/chpt7-ridge-reg.png" width="658" style="display: block; margin: auto;" /> --- ## 主成分分析法(原理) **主成分分析法**(Principal components regression ,PCR),其核心思想是**降维**(Dimensionality reduction),也即通过一定的统计方法把**原来**个数较多的自变量,转换为个数相对较少的**新的**自变量,然后再利用较少的自变量进行回归,从而达到消除多重共线性的目的。 - 先根据主成分分析确定主成分个数(看累积解释百分比) - 再用**主成分变量**进行回归分析 .footnote[ 技术细节可以参看[Performing Principal Components Regression (PCR) in R](http://www.quantide.com/performing-principal-components-regression-pcr-in-r/) ,以及[Principal Component Regression in R](https://27411.compute.dtu.dk/filemanager/uploads/27411/eNotepdfs/eNote4-PCRinR.pdf)] --- ### 主成分分析法(案例) 郎利案例中,`R`软件下主成分分析结果为: ``` Data: X dimension: 16 6 Y dimension: 16 1 Fit method: svdpc Number of components considered: 6 VALIDATION: RMSEP Cross-validated using 10 random segments. (Intercept) 1 comps 2 comps 3 comps 4 comps 5 comps 6 comps CV 3627 1102 1079 505.3 621.1 443.1 431.0 adjCV 3627 1098 1069 500.2 611.7 434.9 420.1 TRAINING: % variance explained 1 comps 2 comps 3 comps 4 comps 5 comps 6 comps X 76.72 96.31 99.7 99.95 99.99 100.00 Y 91.43 92.89 98.6 98.61 99.40 99.55 ``` --- ### 主成分分析法(案例:碎石图) 主成分分析的**判定系数**与**主成分数量**的变化情况如下: <img src="07-multi-linearity-slide_files/figure-html/unnamed-chunk-67-1.png" style="display: block; margin: auto;" /> 从上图可以看出,**主成分**个数为3个时,**判定系数**基本就达到很高的水平了。 --- ### 主成分分析法(案例:载荷矩阵) 此时,我们可以看看主成分的**载荷矩阵**: <table> <caption>主成分分析的载荷矩阵</caption> <thead> <tr> <th style="text-align:center;"> vars </th> <th style="text-align:center;"> PC1 </th> <th style="text-align:center;"> PC2 </th> <th style="text-align:center;"> PC3 </th> <th style="text-align:center;"> PC4 </th> <th style="text-align:center;"> PC5 </th> <th style="text-align:center;"> PC6 </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> X2 </td> <td style="text-align:center;"> 0.4618 </td> <td style="text-align:center;"> -0.0578 </td> <td style="text-align:center;"> 0.1491 </td> <td style="text-align:center;"> 0.7929 </td> <td style="text-align:center;"> -0.3379 </td> <td style="text-align:center;"> 0.1352 </td> </tr> <tr> <td style="text-align:center;"> X3 </td> <td style="text-align:center;"> 0.4615 </td> <td style="text-align:center;"> -0.0532 </td> <td style="text-align:center;"> 0.2777 </td> <td style="text-align:center;"> -0.1216 </td> <td style="text-align:center;"> 0.1496 </td> <td style="text-align:center;"> -0.8185 </td> </tr> <tr> <td style="text-align:center;"> X4 </td> <td style="text-align:center;"> 0.3213 </td> <td style="text-align:center;"> 0.5955 </td> <td style="text-align:center;"> -0.7283 </td> <td style="text-align:center;"> 0.0076 </td> <td style="text-align:center;"> -0.0092 </td> <td style="text-align:center;"> -0.1075 </td> </tr> <tr> <td style="text-align:center;"> X5 </td> <td style="text-align:center;"> 0.2015 </td> <td style="text-align:center;"> -0.7982 </td> <td style="text-align:center;"> -0.5616 </td> <td style="text-align:center;"> -0.0773 </td> <td style="text-align:center;"> -0.0243 </td> <td style="text-align:center;"> -0.0180 </td> </tr> <tr> <td style="text-align:center;"> X6 </td> <td style="text-align:center;"> 0.4623 </td> <td style="text-align:center;"> 0.0455 </td> <td style="text-align:center;"> 0.1960 </td> <td style="text-align:center;"> -0.5897 </td> <td style="text-align:center;"> -0.5486 </td> <td style="text-align:center;"> 0.3116 </td> </tr> <tr> <td style="text-align:center;"> X7 </td> <td style="text-align:center;"> 0.4649 </td> <td style="text-align:center;"> -0.0006 </td> <td style="text-align:center;"> 0.1281 </td> <td style="text-align:center;"> -0.0523 </td> <td style="text-align:center;"> 0.7495 </td> <td style="text-align:center;"> 0.4504 </td> </tr> </tbody> </table> 请注意前三个主成分`PC1`、`PC2`、`PC3`,以及它们在自变量上的载荷分布。 --- ### 主成分分析法(案例:因子得分及新数据) 我们把因变量进行标准化变换 `\(Y^{\ast}_i=\frac{Y_i-\bar{Y}}{S_{Y_i}}\)`,同时利用以上主成分分析的因子得分,可以得到**主成分降维**后的新数据: <div class="figure" style="text-align: center">
<p class="caption">因子得分及新数据</p> </div> --- ### 主成分分析法(案例:新模型回归) 利用以上**降维**后的新数据,可以构造如下新的模型: `$$\begin{equation} \begin{alignedat}{999} &Y.std=&& + \hat{\beta}_{1} && + \hat{\beta}_{2} PC1&& + \hat{\beta}_{3} PC2&& + \hat{\beta}_{4} PC3&&+e_i\\ \end{alignedat} \end{equation}$$` `$$\begin{equation} \begin{alignedat}{999} &\widehat{Y.std}=&&-0.00&&+0.45PC1&&-0.11PC2&&+0.53PC3\\ &\text{(t)}&&(-0.0000)&&(27.9607)&&(-3.5371)&&(6.9867)\\&\text{(se)}&&(0.0331)&&(0.0159)&&(0.0315)&&(0.0758)\\&\text{(fitness)}&& R^2=0.9860;&& \bar{R^2}=0.9825\\& && F^{\ast}=281.04;&& p=0.0000 \end{alignedat} \end{equation}$$` -- 对该模型进行方差膨胀因子(VIF)分析,VIF都比较小,多重共线性问题得到解决。 <table class="table" style="font-size: 18px; margin-left: auto; margin-right: auto;"> <caption style="font-size: initial !important;">新模型的方差膨胀因子分析结果</caption> <thead> <tr> <th style="text-align:center;"> terms </th> <th style="text-align:center;"> VIF </th> </tr> </thead> <tbody> <tr> <td style="text-align:center;"> PC1 </td> <td style="text-align:center;"> 1 </td> </tr> <tr> <td style="text-align:center;"> PC2 </td> <td style="text-align:center;"> 1 </td> </tr> <tr> <td style="text-align:center;"> PC3 </td> <td style="text-align:center;"> 1 </td> </tr> </tbody> </table> --- ## 多重共线性一定是坏事吗? 如果回归分析的唯一目的是预测或预报,则多重共线性就不是一个严重的问题。因为 `\(R^2\)`值越高,预测越准。 **无为而治**:多重共线性是普遍存在的,它并不是OLS 或其他一般性统计方法引起的问题 --- layout:false background-image: url("../pic/thank-you-gif-funny-little-yellow.gif") class: inverse,center # 本章结束