Comment calculer le facteur d’inflation de variance (VIF) dans SAS
Dans l’analyse de régression, la multicolinéarité se produit lorsque deux ou plusieurs variables prédictives sont fortement corrélées les unes aux autres, de sorte qu’elles ne fournissent pas d’informations uniques ou indépendantes dans le modèle de régression.
Si le degré de corrélation est suffisamment élevé entre les variables, cela peut poser des problèmes lors de l’ajustement et de l’interprétation du modèle de régression.
Une façon de détecter la multicolinéarité consiste à utiliser une métrique connue sous le nom de facteur d’inflation de la variance (VIF) , qui mesure la corrélation et la force de la corrélation entre les variables explicatives dans un modèle de régression .
Ce tutoriel explique comment calculer VIF dans SAS.
Exemple : calcul du VIF dans SAS
Pour cet exemple, nous allons créer un ensemble de données qui décrit les attributs de 10 joueurs de basket-ball :
/*create dataset*/ data my_data; input rating points assists rebounds; datalines; 90 25 5 11 85 20 7 8 82 14 7 10 88 16 8 6 94 27 5 6 90 20 7 9 76 12 6 6 75 15 9 10 87 14 9 10 86 19 5 7 ; run; /*view dataset*/ proc print data=my_data;
Supposons que nous souhaitions ajuster un modèle de régression linéaire multiple en utilisant la notation comme variable de réponse et les points , les assistances et les rebonds comme variables prédictives.
Nous pouvons utiliser PROC REG pour ajuster ce modèle de régression avec l’option VIF pour calculer les valeurs VIF pour chaque variable prédictive du modèle :
/*fit regression model and calculate VIF values*/ proc reg data=my_data; model rating = points assists rebounds / vif; run;
À partir du tableau Estimations des paramètres , nous pouvons voir les valeurs VIF pour chacune des variables prédictives :
- points : 1,76398
- passes décisives : 1.96591
- rebonds : 1,17503
Remarque : Ignorez le VIF pour « Interception » dans le modèle car cette valeur n’est pas pertinente.
La valeur de VIF commence à 1 et n’a pas de limite supérieure. Une règle générale pour interpréter les VIF est la suivante :
- Une valeur de 1 indique qu’il n’existe aucune corrélation entre une variable prédictive donnée et toute autre variable prédictive du modèle.
- Une valeur comprise entre 1 et 5 indique une corrélation modérée entre une variable prédictive donnée et d’autres variables prédictives du modèle, mais elle n’est souvent pas suffisamment grave pour nécessiter une attention particulière.
- Une valeur supérieure à 5 indique une corrélation potentiellement grave entre une variable prédictive donnée et d’autres variables prédictives du modèle. Dans ce cas, les estimations des coefficients et les valeurs p dans les résultats de la régression ne sont probablement pas fiables.
Étant donné que chacune des valeurs VIF des variables prédictives de notre modèle de régression est proche de 1, la multicolinéarité n’est pas un problème dans notre exemple.
Comment gérer la multicolinéarité
Si vous déterminez que la multicolinéarité constitue un problème dans votre modèle de régression, il existe plusieurs façons courantes de le résoudre :
1. Supprimez une ou plusieurs des variables hautement corrélées.
Il s’agit de la solution la plus rapide dans la plupart des cas et constitue souvent une solution acceptable car les variables que vous supprimez sont de toute façon redondantes et ajoutent peu d’informations uniques ou indépendantes au modèle.
2. Combinez linéairement les variables prédictives d’une manière ou d’une autre, par exemple en les ajoutant ou en les soustrayant d’une manière.
Ce faisant, vous pouvez créer une nouvelle variable qui englobe les informations des deux variables et vous n’avez plus de problème de multicolinéarité.
3. Effectuez une analyse conçue pour prendre en compte des variables hautement corrélées telles que l’analyse en composantes principales ou la régression des moindres carrés partiels (PLS).
Ces techniques sont spécifiquement conçues pour gérer des variables prédictives hautement corrélées.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment effectuer une régression linéaire multiple dans SAS
Comment créer un tracé résiduel dans SAS
Comment calculer la distance du cuisinier dans SAS