J'ai rencontré exactement la même question et j'ai essayé de me frayer un chemin. Voir ma réponse détaillée ci-dessous.
Tout d'abord, j'ai trouvé 4 options produisant des valeurs VIF similaires dans R:
• corvif
commande du package AED,
• vif
commande depuis le package voiture,
• vif
commande du package rms,
• vif
commande du package DAAG.
L'utilisation de ces commandes sur un ensemble de prédicteurs n'incluant aucun facteur / variable catégorielle ou terme polynomial est très simple. Les trois commandes produisent la même sortie numérique même si la corvif
commande du package AED étiquette les résultats comme GVIF.
Cependant, généralement, GVIF n'entre en jeu que pour les facteurs et les variables polynomiales. Les variables qui nécessitent plus d'un coefficient et donc plus d'un degré de liberté sont généralement évaluées à l'aide du GVIF. Pour les termes à un coefficient, VIF est égal à GVIF.
Ainsi, vous pouvez appliquer des règles générales standard pour déterminer si la colinéarité peut être un problème, comme un seuil de 3, 5 ou 10. Cependant, une certaine prudence pourrait (devrait) être appliquée (voir: http://www.nkd-group.com/ghdash/mba555/PDF/VIF%20article.pdf ).
Dans le cas de termes à coefficients multiples, comme par exemple pour les prédicteurs catégoriels, les 4 packages produisent des sorties différentes. Les vif
commandes des packages rms et DAAG produisent des valeurs VIF, tandis que les deux autres produisent des valeurs GVIF.
Voyons d'abord les valeurs VIF des packages rms et DAAG:
TNAP ICE RegB RegC RegD RegE
1.994 2.195 3.074 3.435 2.907 2.680
TNAP et ICE sont des prédicteurs continus et Reg est une variable catégorielle présentée par les nuls RegB à RegE. Dans ce cas, RegA est la référence. Toutes les valeurs VIF sont plutôt modérées et n'ont généralement rien à craindre. Le problème avec ce résultat est qu'il est affecté par la ligne de base de la variable catégorielle. Afin d'être sûr de ne pas avoir une valeur VIF supérieure à un niveau acceptable, il serait nécessaire de refaire cette analyse pour chaque niveau de la variable catégorielle constituant la ligne de base. Dans ce cas, cinq fois.
En appliquant la corvif
commande du package AED ou la vif
commande du package de voiture, les valeurs GVIF sont produites:
| GVIF | Df | GVIF^(1/2Df) |
TNAP | 1.993964 | 1 | 1.412078 |
ICE | 2.195035 | 1 | 1.481565 |
Reg | 55.511089 | 5 | 1.494301 |
Le GVIF est calculé pour des ensembles de régresseurs associés tels que pour un ensemble de régresseurs fictifs. Pour les deux variables continues TNAP et ICE, c'est la même chose que les valeurs VIF précédentes. Pour la variable catégorielle Reg, nous obtenons maintenant une valeur GVIF très élevée, même si les valeurs VIF pour les niveaux uniques de la variable catégorielle étaient toutes modérées (comme indiqué ci-dessus).
Cependant, l'interprétation est différente. Pour les deux variables continues, (qui est fondamentalement la racine carrée de la valeur VIF / GVIF comme DF = 1) est le changement proportionnel de l'erreur standard et de l'intervalle de confiance de leurs coefficients dus au niveau de colinéarité. La valeur de la variable catégorielle est une mesure similaire pour la réduction de la précision de l'estimation des coefficients due à la colinéarité (même si elle n'est pas prête à être citée, consultez également http: / /socserv2.socsci.mcmaster.ca/jfox/papers/linear-models-problems.pdf ).GVIF(1/(2×Df))GVIF(1/(2×Df))
Si nous appliquons ensuite simplement les mêmes règles de base standard pour les comme recommandé dans la littérature pour le VIF, nous devons simplement .GVIF(1/(2×Df))GVIF(1/(2×Df))
En lisant tous les messages du forum, de courtes notes sur le Web et les articles scientifiques, il semble qu'il y ait une certaine confusion. Dans des articles évalués par des pairs, j'ai trouvé les valeurs de ignorées et les mêmes règles standard suggérées pour le VIF sont appliquées aux valeurs de GVIF. Dans un autre article, des valeurs GVIF proches de 100 sont exceptées en raison d'un relativement petit (en raison d'un DF élevé). La règle de est appliquée dans certaines publications, ce qui équivaudrait à un VIF de 4 pour les variables à un coefficient.GVIF(1/(2×Df))GVIF(1/(2×Df))GVIF2(1/(2×Df))<2