R - 在多元回归模型中测试同/异方差和共线性

时间:2018-03-08 09:33:59

标签: r linear-regression multivariate-testing

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

  • Breusch-Pagan测试同性恋/异方差性:lmtest::bptest(lmMod)

  • Durbin Watson测试自相关:durbinWatsonTest(lmMod)

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

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)中的同/异方差模式将不同于多变量回归模型的模式lmMod_2=lm(depend_var~var1+var2+var3+var4....,data=df)
  4. 非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我想尝试提供第一个帮助

第一个问题的答案:是的,您可以使用Breusch-Pagan测试和Durbin Watson测试进行多变量模型。 (但是,我一直使用dwtest()代替durbinWatsonTest())。

另请注意,dwtest()仅检查一阶自相关。不幸的是,我不知道如何找出导致异方差性或自相关的变量。但是,如果遇到这些问题,那么一种可能的解决方案是使用稳健的估算方法,例如:在NeweyWest(使用:coeftest (regression model, vcov = NeweyWest))处于自相关之后或使用coeftest(regression model, vcov = vcovHC)处于异方差性时,都来自AER包。