Solutions pour Multicolinéarité dans la régression (1), R-blogueurs

Dans l'analyse de régression multiple, colinéarité est un phénomène courant, dans lequel deux ou plusieurs variables prédictives sont fortement corrélés. S'il existe une relation linéaire exacte (multicolinéarité parfaite) parmi les variables indépendantes, le rang de X est inférieur à k + 1 (supposons que le nombre de variables prédictives est k), et la matrice ne sera pas inversible. Ainsi, les fortes corrélations provoquent une instabilité de calcul vont et l'estimateur OLS n'est plus bleu (meilleur estimateur sans biais linéaire).







Nous pouvons utiliser plusieurs moyens communs pour mesurer multicolinéarité, par exemple, VIF (variance facteur d'inflation) et le numéro de condition. VIF est définie comme

et le numéro de condition est donnée par

selon certaines références, si le VIF est trop grand (plus de 5 ou 10) ou le numéro de condition est plus de 15 (30), nous considérons que la multicolinéarité est inexistante.

Pour résoudre ce problème, il y a 2 approches. Tout d'abord, on peut utiliser une analyse de régression robuste à la place de (OLS Les moindres carrés ordinaires), tels que la régression de la crête, la régression lasso et la régression en composantes principales. D'autre part, la régression de l'apprentissage statistique est également une bonne méthode, comme l'arbre de régression, la régression de l'ensachage, la régression de la forêt aléatoire, réseau de neurones et SVR (prise en charge de régression vectorielle).







Une régression Ridge

régression Ridge résout le problème en estimant les coefficients de régression en utilisant

où k est le paramètre de crête et I est la matrice identité. Les petites valeurs positives de k améliorer le conditionnement du problème et de réduire la variance des estimations. Bien que biaisé, la variance réduite des estimations de crête se traduit souvent par une plus petite erreur quadratique moyenne par rapport aux estimations des moindres carrés.

Il est évident que la question est de savoir comment déterminer le paramètre k. En général, Ridge Trace, validation Generalized Cross (GCV) et Mallows Cp sont largement utilisés. Dans le langage de R, la fonction lm.ridge () dans le paquet MASS pourrait mettre en oeuvre une régression d'arête (modèle linéaire). Les codes d'échantillons et de sortie comme suit

Selon le résultat, nous pouvons voir que 0,006 est une valeur appropriée pour le paramètre de crête. En fait, à travers la courbe de trace de crête, on peut également obtenir une conclusion similaire.

Code de R comme suit

De plus, la crête de paquet fournit une fonction appelée linearRidge () qui peut convient aussi un modèle de régression linéaire de la crête, et le cas échéant, le paramètre de régression d'arête est choisie automatiquement en utilisant la méthode proposée par Cule. Par exemple

Dans ce cas, la fonction 0,01 choisir comme paramètre de crête, de sorte que le résultat est peu différent de la sortie de lm.ridge.

De plus, si vous êtes un utilisateur de Matlab, la crête de la fonction Statistics Toolbox ™ effectue une régression de crête.







Articles Liés