下面对回归分析的检验、统计诊断、检验绘图以及模型的解释方法进行实践性的总结。内容涉及对概念的理解、检验方法等。其中模型检验和诊断稍有重复,内容略混乱。检验方法多采用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.
以上是在实践中对回归模型的诊断、检验、绘图和解释,一般情况下,我们进行回归分析有以下几个步骤,
- 首先是查看变量的分布,选择适合的模型进行回归。
- 然后是对回归模型进行检验和诊断,通过绘图和计算各种统计量进行判断。
- 对模型和变量进行重新调整,重新回归。
- 诊断模型无误,对模型进行解释。
边查边学,边学边记,加油加油,如有理解的错误的地方,俺回头再改,毕竟现在只能理解到这个份上了_。