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)
,目前我正在研究模型的前提:残差的恒定方差和不存在自相关。为此,我使用:
homo/heteroscedasticity 的 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
问题如下:
durbinWatsonTest()
和 bptest()
可以使用完整的多变量模型
- 如果对 1 的回答是肯定的,那么如何确定哪个变量导致模型中的异方差或自相关以便修复它,因为这些测试中的每一个都只给出整个模型的一个 p 值多元模型?
- 如果对 1 的回答是否定的,则应一次用一个因变量执行测试。但在同方差性的情况下,它只能在对特定回归建模后才能进行测试。因此,单变量回归模型
lmMod_1=lm(depend_var~var1, data=df)
中 homo/heteroscedasticity 的模式将不同于多元回归模型 lmMod_2=lm(depend_var~var1+var2+var3+var4....,data=df)
的模式
非常感谢您的帮助!
我想尝试提供第一个帮助
第一个问题的答案:是的,您可以对多变量模型使用 Breusch-Pagan 检验和 Durbin Watson 检验。 (但是,我一直使用 dwtest()
而不是 durbinWatsonTest()
)。
另请注意,dwtest()
仅检查 first-order 自相关。不幸的是,我不知道如何找出哪个变量导致异方差或 auto-correlation。但是,如果您遇到这些问题,那么一个可能的解决方案是使用稳健的估计方法,例如在 NeweyWest(使用:coeftest (regression model, vcov = NeweyWest)
)自相关或 coeftest(regression model, vcov = vcovHC)
异方差之后,均来自 AER 包。
我正在尝试优化多元线性回归模型 lmMod=lm(depend_var~var1+var2+var3+var4....,data=df)
,目前我正在研究模型的前提:残差的恒定方差和不存在自相关。为此,我使用:
homo/heteroscedasticity 的 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
问题如下:
durbinWatsonTest()
和bptest()
可以使用完整的多变量模型- 如果对 1 的回答是肯定的,那么如何确定哪个变量导致模型中的异方差或自相关以便修复它,因为这些测试中的每一个都只给出整个模型的一个 p 值多元模型?
- 如果对 1 的回答是否定的,则应一次用一个因变量执行测试。但在同方差性的情况下,它只能在对特定回归建模后才能进行测试。因此,单变量回归模型
lmMod_1=lm(depend_var~var1, data=df)
中 homo/heteroscedasticity 的模式将不同于多元回归模型lmMod_2=lm(depend_var~var1+var2+var3+var4....,data=df)
的模式
非常感谢您的帮助!
我想尝试提供第一个帮助
第一个问题的答案:是的,您可以对多变量模型使用 Breusch-Pagan 检验和 Durbin Watson 检验。 (但是,我一直使用 dwtest()
而不是 durbinWatsonTest()
)。
另请注意,dwtest()
仅检查 first-order 自相关。不幸的是,我不知道如何找出哪个变量导致异方差或 auto-correlation。但是,如果您遇到这些问题,那么一个可能的解决方案是使用稳健的估计方法,例如在 NeweyWest(使用:coeftest (regression model, vcov = NeweyWest)
)自相关或 coeftest(regression model, vcov = vcovHC)
异方差之后,均来自 AER 包。