回归分析诊断、统计检验、绘图及模型解释
下面对回归分析的检验、统计诊断、检验绘图以及模型的解释方法进行实践性的总结。内容涉及对概念的理解、检验方法等。其中模型检验和诊断稍有重复,内容略混乱。检验方法多采用Python中的statmodels模块。
关于回归分析的一些统计检验
进行回归分析时,我将其归结为主要进行以下6个方面的检验,具体检验过程和方法不一而足。
1. 综合性检验:
解释:采用模型F统计量的P值判断整个模型是否是显著的。
2. 线性检验:
解释:可以采用Rainbow test,零假设是变量之间的关系是线性的,P-值不显著则说明是线性的;若P值非常小则说明不满足线性假设。
方法1:可以采用sm.stats.linear_rainbow(res_model),返回值第一个是F-statistic ,第二个是p-value。
方法2:若因变量与自变量线性相关,那么残差值与预测值就没有任何系统关联。绘制变量的成分残差图,如果两条线(直线和拟合曲线)接近,说明可以进行线性拟合,即模型是线性的。
3. 正态性检验:
解释:正态性是针对残差而不是针对变量进行检验的,可以采用直方图或者是概率分布图对残差的分布进行检验。
方法1:当预测变量值固定时,因变量成正态分布,则残差值也应该是一个均值为0的正态分布,采用QQ图或者是直方图进行检验。但这些属于目视解译的方法。
方法2:科学统计的方法可以采用几个统计量,如chi-square test, Kolmogorov-Smirnov test 和 Lilliefors test.。在Python中可以采用stats.kstest(model.resid, 'norm')进行KS检验。
4. 误差的独立性检验:
解释:判断因变量值(或残差)是否相互独立,该检验适用于时间独立的数据,原假设是不相关,如果p值不显著说明无自相关性,误差项之间独立。
方法:采用Durbin Watson Test。
5. 同方差性:
解释:指总体回归函数中的随机误差项在解释变量条件下具有不变的方差。同方差性是一个非常重要的性质,是不能被违背的,因为标准差是用来进行显著性检验和计算置信区间的。同样对于各种统计量,若p值显著,则说明存在异方差性;如果P值不显著,则说明不存在异方差性。
统计量检验:可以采用多种统计量进行检验,如Brown-Forsythe test, Levene’s test, Bruesch-Pagan test或者 Cook-Weisberg test。
检验方法1:比如采用Bruesch-Pagan test时可以采用代码sms.het_breuschpagan(model.resid, model.model.exog)。
检验方法2:在采用levene检验时,采用代码stats.levene()统计时,需要根据变量的分布确定center的选择,是mean, median或者是其他的,详情可参见官方文档。
存在异方差性的解决办法:一是改变变量的形式,二是采用鲁棒性的模型考虑异方差性。为了考虑数据中的异方差性,需要选择一个异方差一致性协方差矩阵heteroscedasticity consistent covariance matrix (HCCM) 并将它以参数“cov_type=”的形式传递给fit() 方法。这篇文章对HCCM做了一个很好的解释。
6. 多重共线性:
解释:对于多元线性回归,判断自变量间的相关性强弱。
方法1:多重共线性可用统计量VIF(Variance Inflation Factor,方差膨胀因子)进行检测,一般原则下, VIF >2就表明存在多重共线性问题(自变量之间相关性很大)。
方法2:另外可以采用Condition Number对多重共线性进行度量,一般高于20就需要注意了。
回归诊断:
根据statsmodles中的官方文档Regression diagnostics对回归诊断进行总结。该部分内容与上部分的检验略有重复。
-
残差的正态Normality of the residuals:Jarque-Bera test和Omni test
-
强影响点诊断 Influence tests:OLSInfluence(results),可以画出leverage和residual的散点图。
-
多重共线性 Multicollinearity:查看condition number,np.linalg.cond(results.model.exog)
-
异方差性检验 Heteroskedasticity tests:Breush-Pagan test和Goldfeld-Quandt test。
-
线性检验 Linearity:采用Harvey-Collier multiplier test。
回归模型绘图:
同样是依据statmodels中的官方文档Regression Plots对回归结果进行绘图分析。
-
点的影响力绘图:Influence plots:Influence plots show the (externally) studentized residuals vs. the leverage of each observation as measured by the hat matrix. 影响力判断标准有两个, Cook’s distance and DFFITS,。
-
偏回归绘图,Partial Regression Plots,查看一个控制其他自变量的情况下某个自变量对因变量的影响。
-
自变量对因变量的影响力绘图,Component-Component plus Residual (CCPR) Plots
-
拟合诊断,Fit Plot,绘制一个自变量对因变量的拟合情况。
-
单变量回归诊断,Single Variable Regression Diagnostics,一下子绘制了四幅图进行诊断,sm.graphics.plot_regress_exog(prestige_model, "education", fig=fig)。
对回归模型的解释
-
查看模型是否是显著的,查看F统计量的Prob (F-statistic),看它是否是足够小。
-
查看每一个IV对于DV是否是显著的,即模型回归系数的显著性,查看P>|t|,一般选择p < 0.05。
-
对模型回归系数的解释,The coefficient (coef) can be interpreted as the affect in unit change in terms of the DV. Meaning, for every 1 unit increase in the IV, the DV will increase or decrease by the coefficient amount.。
-
对模型预测和解释能力的分析。It is predictive when used to predict future outcomes, and explanatory when used to explain the influence of each IV.
以上是在实践中对回归模型的诊断、检验、绘图和解释,一般情况下,我们进行回归分析有以下几个步骤,
- 首先是查看变量的分布,选择适合的模型进行回归。
- 然后是对回归模型进行检验和诊断,通过绘图和计算各种统计量进行判断。
- 对模型和变量进行重新调整,重新回归。
- 诊断模型无误,对模型进行解释。
边查边学,边学边记,加油加油,如有理解的错误的地方,俺回头再改,毕竟现在只能理解到这个份上了_。