我了解到,使用封装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 方法的结果相比,有没有更好的方法来呈现多重共线性问题。
请给我你的建议。
谢谢。