Quel facteur d'inflation de variance dois-je utiliser: ou ?

30

Je suis en train d'interpréter les facteurs de la variance de l' inflation à l' aide de la viffonction dans le package R car. La fonction imprime à la fois un généralisé et également . Selon le fichier d'aide , cette dernière valeurVIFGVIF1/(2df)

Pour ajuster la dimension de l'ellipsoïde de confiance, la fonction imprime également GVIF ^ [1 / (2 * df)] où df est le degré de liberté associé au terme.

Je ne comprends pas la signification de cette explication dans le fichier d'aide, donc je ne suis pas sûr si je dois utiliser ou . Pour mon modèle, ces deux valeurs sont très différentes (maximum est ~ ; maximum est ~ ).GVIFGVIF1/(2df)GVIF60GVIF1/(2df)3

Quelqu'un pourrait-il m'expliquer lequel je devrais utiliser et que signifie le réglage de la dimension de l'ellipsoïde de confiance?

geai
la source

Réponses:

25

Georges Monette et moi avons présenté le GVIF dans l'article "Diagnostics de colinéarité généralisés", JASA 87: 178-183, 1992 ( lien ). Comme nous l'avons expliqué, le GVIF représente le rapport au carré des hypervolumes de l'ellipsoïde de confiance conjointe pour un sous-ensemble de coefficients à l'ellipsoïde «utopique» qui serait obtenu si les régresseurs de ce sous-ensemble n'étaient pas corrélés avec les régresseurs du sous-ensemble complémentaire. Dans le cas d'un coefficient unique, celui-ci est spécialisé dans le VIF habituel. Pour rendre les GVIF comparables entre les dimensions, nous avons suggéré d'utiliser GVIF ^ (1 / (2 * Df)), où Df est le nombre de coefficients dans le sous-ensemble. En effet, cela réduit le GVIF à une mesure linéaire, et pour le VIF, où Df = 1, est proportionnel à l'inflation en raison de la colinéarité dans l'intervalle de confiance pour le coefficient.

John Fox
la source
3
Bienvenue sur notre site! Nous serions honorés si vous enregistriez votre compte et veniez visiter de temps en temps. Une petite note d'ordre administratif: vous n'avez pas à signer vos messages, votre identicon, avec un lien vers votre page utilisateur, est automatiquement ajouté à chaque réponse que vous donnez.
gung - Rétablir Monica
24

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:

corvifcommande du package AED,

vifcommande depuis le package voiture,

vifcommande du package rms,

vifcommande 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 corvifcommande 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 vifcommandes 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 corvifcommande du package AED ou la vifcommande 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

Jan Philipp S
la source
Bienvenue sur le site, @JanPhilippS. Cela semble être autant une nouvelle question qu'une réponse à la question du PO. Veuillez utiliser uniquement le champ «Votre réponse» pour fournir des réponses. Si vous avez votre propre question, cliquez sur [ASK QUESTION]en haut et posez-la là, alors nous pouvons vous aider correctement. Puisque vous êtes nouveau ici, vous voudrez peut-être faire notre visite , qui contient des informations pour les nouveaux utilisateurs.
gung - Rétablir Monica
2
Eh bien, ce n'est pas vraiment une nouvelle question. Plutôt une réponse détaillée.
Jan Philipp S
1
@JanPhilippS, merci pour les liens vers les sources pour une lecture plus approfondie. Je pense que votre message semblait être une réponse de qualité qui a permis une réflexion sur la situation.
timothy.s.lau
6

Fox & Monette (citation originale pour GVIF, GVIF ^ 1 / 2df) suggèrent de prendre GVIF à la puissance de 1 / 2df rend la valeur du GVIF comparable à travers différents nombres de paramètres. «Il est analogue de prendre la racine carrée du facteur de variance-inflation habituel» (de An R and S-Plus Companion à Applied Regression de John Fox). Alors oui, la quadrature et l'application de la "règle d'or" VIF habituelle semble raisonnable.

acmw
la source