我了解到,使用封装vif()方法car,我们可以计算模型中输入的多重共线性程度。从wikipedia中,如果该vif值大于5那么我们可以认为输入存在多重共线性问题。例如,我使用lm()方法开发了一个线性回归模型,并vif()给出如下。正如我们所见,输入ub、lb和tb受到多重共线性的影响。
vif(lrmodel)
tb ub lb ma ua mb sa sb
7.929757 50.406318 30.826721 1.178124 1.891218 1.364020 2.113797 2.357946
为了避免多重共线性问题,从而使我的模型更加健壮,我在ub和之间进行了交互lb,现在新模型的 vif 表如下:
tb ub:lb ma mb sa sb ua
1.763331 1.407963 1.178124 1.327287 2.113797 1.860894 1.891218
在上述两种情况下,R^2值没有太大差异,并且一次性 CV 测试的误差也没有太大差异。
我的问题是:
是否可以通过如上所示的交互来避免多重共线性问题?
与上述 vif 方法的结果相比,有没有更好的方法来呈现多重共线性问题。
请给我你的建议。
谢谢。