R - 在多元回归模型中测试 homo/heteroscedasticity 和共线性

R - Testing for homo/heteroscedasticity and collinearity in a multivariate regression model

我正在尝试优化多元线性回归模型 lmMod=lm(depend_var~var1+var2+var3+var4....,data=df),目前我正在研究模型的前提:残差的恒定方差和不存在自相关。为此,我使用:

我找到了一次测试一个独立变量的示例:

Breush-Pagan 检验示例 – 一个自变量: https://datascienceplus.com/how-to-detect-heteroscedasticity-and-rectify-it/

Durbin Watson 检验示例 - 一个自变量: http://math.furman.edu/~dcs/courses/math47/R/library/lmtest/html/dwtest.html

或者一次有几个自变量的整个模型:

Durbin Watson 检验示例 – 多自变量: https://www.rdocumentation.org/packages/car/versions/2.1-6/topics/durbinWatsonTest

问题如下:

  1. durbinWatsonTest()bptest() 可以使用完整的多变量模型
  2. 如果对 1 的回答是肯定的,那么如何确定哪个变量导致模型中的异方差或自相关以便修复它,因为这些测试中的每一个都只给出整个模型的一个 p 值多元模型?
  3. 如果对 1 的回答是否定的,则应一次用一个因变量执行测试。但在同方差性的情况下,它只能在对特定回归建模后才能进行测试。因此,单变量回归模型 lmMod_1=lm(depend_var~var1, data=df) 中 homo/heteroscedasticity 的模式将不同于多元回归模型 lmMod_2=lm(depend_var~var1+var2+var3+var4....,data=df)
  4. 的模式

非常感谢您的帮助!

我想尝试提供第一个帮助

第一个问题的答案:是的,您可以对多变量模型使用 Breusch-Pagan 检验和 Durbin Watson 检验。 (但是,我一直使用 dwtest() 而不是 durbinWatsonTest())。

另请注意,dwtest() 仅检查 first-order 自相关。不幸的是,我不知道如何找出哪个变量导致异方差或 auto-correlation。但是,如果您遇到这些问题,那么一个可能的解决方案是使用稳健的估计方法,例如在 NeweyWest(使用:coeftest (regression model, vcov = NeweyWest))自相关或 coeftest(regression model, vcov = vcovHC) 异方差之后,均来自 AER 包。