I have learnt that using vif()
method of car
package, we can compute the degree of multicollinearity of inputs in a model. From wikipedia, if the vif
value is greater than 5
then we can consider that the input is suffering from multicollinearity problem. For example, I have developed a linear regression model using lm()
method and vif()
gives as follows. As we can see, the inputs ub
, lb
, and tb
are suffering from multicollinearity.
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
In order to avoid the multicollinearity problem and thus to make my model more robust, I have taken interaction between ub
and lb
, and now vif table of new model is as follows:
tb ub:lb ma mb sa sb ua
1.763331 1.407963 1.178124 1.327287 2.113797 1.860894 1.891218
There is no much difference in R^2
values and as well as there is no much difference in the errors from one-leave-out CV tests in both the above two cases.
My questions are:
Is it fine to avoid the multicollinearity problem by taking the interaction as shown above?
Is there any nicer way to present multicollinearity problem compared with the above vif method results.
Please provide me your suggestions.
Thanks.