Aprendi que, usando o vif()
método de car
pacote, podemos calcular o grau de multicolinearidade das entradas em um modelo. Na wikipedia , se o vif
valor for maior que 5
então, podemos considerar que a entrada está sofrendo de um problema de multicolinearidade. Por exemplo, desenvolvi um modelo de regressão linear usando o lm()
método e vif()
fornece o seguinte. Como podemos ver, as entradas ub
, lb
e tb
está sofrendo de multicolinearidade.
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
Para evitar o problema da multicolinearidade e, assim, tornar meu modelo mais robusto, tomei a interação entre ub
e lb
, e agora a tabela vif do novo modelo é a seguinte:
tb ub:lb ma mb sa sb ua
1.763331 1.407963 1.178124 1.327287 2.113797 1.860894 1.891218
Não há muita diferença nos R^2
valores e também não há muita diferença nos erros dos testes de CV únicos, nos dois casos acima.
Minhas perguntas são:
É bom evitar o problema da multicolinearidade tomando a interação como mostrado acima?
Existe alguma maneira melhor de apresentar o problema da multicolinearidade em comparação com os resultados do método vif acima.
Por favor me forneça suas sugestões.
Obrigado.