多元多元回归的 VIF 检验

VIF Test for Multiple Multivariate Regression

我想使用 VIF 函数测试多重共线性。我有一个包含 13 个度量和 4 个预测变量的模型,创建方式如下:

M <- lm(cbind(S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13) ~ x1 + x2 + x3 + x4, data = dat)
M

当我尝试 运行 此模型上的 vif 函数时,出现错误。

if (names(coefficients(mod)[1]) == "(Intercept)") { : argument is of length 0
vif(M)

我也尝试过分别进行每项测量,但在所有假设下测试 13 个模型是相当重复的,尽管 vif() 可以工作。

有没有办法让它适用于整个模型? 很抱歉没有包含一组数据来对此进行测试。我希望它仍然传达我的问题。

VIF 不涉及因变量 - 它只涉及自变量,因此如果您 运行,例如

m1 = lm(S1 ~ x1 + x2 + x3 + x4, data = dat)
vif(m1)

那应该告诉你所有你需要的。