Aprendi que, usando o vif()método de carpacote, podemos calcular o grau de multicolinearidade das entradas em um modelo. Na wikipedia , se o vifvalor for maior que 5entã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, lbe tbestá 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 ube 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^2valores 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.