Ho imparato che usando il vif()
metodo del car
pacchetto, possiamo calcolare il grado di multicollinearità degli input in un modello. Da Wikipedia , se il vif
valore è maggiore di 5
allora possiamo considerare che l'input soffre di problemi di multicollinearità. Ad esempio, ho sviluppato un modello di regressione lineare usando il lm()
metodo e vif()
fornisce quanto segue. Come possiamo vedere, gli ingressi ub
, lb
e tb
sono affetti da multicollinearità.
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
Al fine di evitare il problema della multicollinearità e quindi di rendere il mio modello più robusto, ho preso l'interazione tra ub
e lb
, e ora la tabella vif del nuovo modello è la seguente:
tb ub:lb ma mb sa sb ua
1.763331 1.407963 1.178124 1.327287 2.113797 1.860894 1.891218
Non c'è molta differenza nei R^2
valori e così come non c'è molta differenza negli errori dai test CV di un abbandono in entrambi i due casi precedenti.
Le mie domande sono:
Va bene evitare il problema della multicollinearità prendendo l'interazione come mostrato sopra?
Esiste un modo migliore per presentare il problema della multicollinearità rispetto ai risultati del metodo vif di cui sopra.
Per favore, forniscimi i tuoi suggerimenti.
Grazie.