Ho imparato che usando il vif()metodo del carpacchetto, possiamo calcolare il grado di multicollinearità degli input in un modello. Da Wikipedia , se il vifvalore è maggiore di 5allora 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, lbe tbsono 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 ube 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^2valori 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.