# Facteur d'inflation de la variance

En statistique, le facteur d'inflation de la variance (FIV), en anglais variance inflation factor (VIF), est le quotient de la variance de l'estimation de paramètre lors de l'ajustement d'un modèle complet qui inclut d'autres paramètres à la variance de l'estimation du paramètre si le modèle est ajusté uniquement avec ce paramètre seul. Le VIF fournit un indice qui mesure dans quelle mesure la variance (le carré de l'écart type de l'estimation) d'un coefficient de régression estimé est augmentée en raison de la colinéarité.
Cuthbert Daniel prétend avoir inventé le concept derrière le facteur d'inflation de la variance, mais ce n'est pas lui qui lui a donné son nom.

## Définition

Considérez le modèle linéaire suivant avec k variables indépendantes, notée X $_k$ :
    Y = β $_0$ + β $_1$ X $_1$ + β $_2$ X $_2$ + ... + β $_k$ X $_k$ + ε.
L'erreur type de l'estimation de β $_j$ est la racine carrée de j+1 élément diagonal de s$^2$(X ′X ) $^{−1}$, où s est la racine de l'erreur quadratique moyenne (RMSE) (notez que RMSE$^2$ est un estimateur convergent de la vraie variance du terme d'erreur, $\sigma ^{2}$); X est la matrice d'expérience de la régression — une matrice telle que X $_{i,j+1}$ est la valeur de la j ème variable indépendante pour la ième observation, et telle que X$_{i,1}$, le vecteur prédicteur associé à l'intercept, est égal à 1 pour tout i. Il s'avère que le carré de cette erreur standard, la variance estimée de l'estimation de β$_j$, peut être exprimé de manière équivalente comme suit$^,$:
    ${\widehat {\operatorname {var} }}({\hat {\beta }}_{j})={\frac {s^{2}}{(n-1){\widehat {\operatorname {var} }}(X_{j})}}\cdot {\frac {1}{1-R_{j}^{2}}},$
où R$_j$ $^2$ est le R$^2$ -multiple pour la régression de X$_j$ sur les autres covariables (une régression qui n'implique pas la variable de réponse Y ) et ${\hat {\beta }}_{j}$ sont les estimateurs des coefficients, c'est à dire, des vrais ${\beta }_{j}$. Cette identité sépare les influences de plusieurs facteurs distincts sur la variance de l'estimation du coefficient :
* s $^2$ : une plus grande dispersion dans les données autour de la surface de régression conduit à une variance proportionnellement plus grande dans les estimations des coefficients.
* n : une taille d'échantillon plus grande entraîne une variance proportionnellement plus faible dans les estimations des coefficients.
* ${\widehat {\operatorname {var} }}(X_{j})$: une plus grande variabilité dans une covariable particulière conduit à une variance proportionnellement plus faible dans l'estimation du coefficient correspondant.
Le terme restant, 1/(1-R$_j$$^2$) est le VIF. Il reflète tous les autres facteurs qui influencent l’incertitude dans les estimations des coefficients. Le VIF est égal à 1 lorsque le vecteur X$_j$ est orthogonal à chaque colonne de la matrice de conception pour la régression de X $_j$ sur les autres covariables. En revanche, le VIF est supérieur à 1 lorsque le vecteur X $_j$ n’est pas orthogonal à toutes les colonnes de la matrice de conception pour la régression de X $_j$ sur les autres covariables. Enfin, notons que le VIF est invariant à la mise à l'échelle des variables (c'est-à-dire que nous pourrions mettre à l'échelle chaque variable X $_j$ par une constante c $_j$ sans changer le VIF).
    ${\widehat {\operatorname {var} }}({\hat {\beta }}_{j})=s^{2}[(X^{T}X)^{-1}]_{jj}$
Maintenant, posons $r=X^{T}X$, et sans perdre la généralité, nous réorganisons les colonnes de X pour définir la première colonne comme $X_{j}$
    $r^{-1}={\begin{bmatrix}r_{j,j}&r_{j,-j}\\r_{-j,j}&r_{-j,-j}\end{bmatrix}}^{-1}$
    $r_{j,j}=X_{j}^{T}X_{j},r_{j,-j}=X_{j}^{T}X_{-j},r_{-j,j}=X_{-j}^{T}X_{j},r_{-j,-j}=X_{-j}^{T}X_{-j}$.
En utilisant le complément de Schur, l'élément de la première ligne et de la première colonne de $r^{-1}$ est :
    $r_{1,1}^{-1}=[r_{j,j}-r_{j,-j}r_{-j,-j}^{-1}r_{-j,j}]^{-1}$
Ensuite nous avons,
    ${\begin{aligned}&{\widehat {\operatorname {var} }}({\hat {\beta }}_{j})=s^{2}[(X^{T}X)^{-1}]_{jj}=s^{2}r_{1,1}^{-1}\\=&s^{2}[X_{j}^{T}X_{j}-X_{j}^{T}X_{-j}(X_{-j}^{T}X_{-j})^{-1}X_{-j}^{T}X_{j}]^{-1}\\=&s^{2}[X_{j}^{T}X_{j}-X_{j}^{T}X_{-j}(X_{-j}^{T}X_{-j})^{-1}(X_{-j}^{T}X_{-j})(X_{-j}^{T}X_{-j})^{-1}X_{-j}^{T}X_{j}]^{-1}\\=&s^{2}[X_{j}^{T}X_{j}-{\hat {\beta }}_{*j}^{T}(X_{-j}^{T}X_{-j}){\hat {\beta }}_{*j}]^{-1}\\=&s^{2}{\frac {1}{\mathrm {RSS} _{j}}}\\=&{\frac {s^{2}}{(n-1){\widehat {\operatorname {var} }}(X_{j})}}\cdot {\frac {1}{1-R_{j}^{2}}}\end{aligned}}$
Ici, ${\hat {\beta }}_{*j}$ est le coefficient de régression de la variable dépendante $X_{j}$ sur la covariable $X_{-j}$. $\mathrm {RSS} _{j}$ est la somme des carrés des résidus correspondante.

## Calcul et analyse

Nous pouvons calculer k VIF différents (un pour chaque X$_i$ ) en trois étapes :

### Première étape

Nous exécutons d’abord une régression des moindres carrés ordinaires avec X$_i$ comme fonction de toutes les autres variables explicatives dans la première équation.Si i=1, par exemple, l'équation serait
    $X_{1}=\alpha _{0}+\alpha _{2}X_{2}+\alpha _{3}X_{3}+\cdots +\alpha _{k}X_{k}+\varepsilon$
où $\alpha _{0}$ est une constante et $\varepsilon$ est le résidu.

### Deuxième étape

Ensuite, calculez le VIF pour ${\hat {\alpha }}_{i}$ via la formule suivante :
    $\mathrm {VIF} _{i}={\frac {1}{1-R_{i}^{2}}}$
où $R_{i}^{2}$ est le coefficient de détermination de l'équation de régression à l'étape 1, avec $X_{i}$ sur le côté gauche, et toutes les autres variables $X$ sur le côté droit.

### Troisième étape

Analyser l'ampleur de la multicolinéarité en considérant la taille de la $\operatorname {VIF} ({\hat {\alpha }}_{i})$. Deux règles empiriques sont couramment utilisées :
* si $\operatorname {VIF} ({\hat {\alpha }}_{i})>10$ alors la multicolinéarité est élevée ;
* D'autres auteurs préfèrent utiliser que si $\operatorname {VIF} ({\hat {\alpha }}_{i})>5$ alors la multicolinéarité est élevée.
Cependant, il n’existe aucune valeur de VIF supérieure à 1 dans laquelle la variance des pentes des prédicteurs ne soit pas gonflée. Par conséquent, l'inclusion de deux ou plusieurs variables dans une régression multiple qui ne sont pas orthogonales (c'est-à-dire qui ont une corrélation = 0) modifiera la pente, l'erreur standard de la pente et la valeur-p, car il existe une variance partagée entre les prédicteurs qui ne peut être attribuée de manière unique à l'un d'entre eux.
Certains logiciels calculent plutôt la tolérance qui est simplement l'inverse du VIF. Le choix de celui à utiliser est une question de préférence personnelle.

## Interprétation

La racine carrée du facteur d'inflation de la variance indique dans quelle mesure l'erreur type augmente par rapport à ce qui se passerait si cette variable avait une corrélation nulle avec d'autres variables prédictives du modèle.
Exemple Si le facteur d'inflation de la variance d'une variable prédictive était de 5,27 (√5,27 = 2.3), cela signifie que l’erreur type pour le coefficient de cette variable prédictive est 2,3 fois plus grande que si cette variable prédictive avait une corrélation de 0 avec les autres variables prédictives.

## Implémentation

* Fonction vif dans le pack R car
* Fonction ols_vif_tol dans le package R olsrr
* PROC REG dans SAS system
* Fonction variance_inflation_factor dans le package Python statsmodels
* estat vif dans Stata
* Module complémentaire r.vif pour GRASS GIS
* Fonctions vif (non catégoriques) et gvif (données catégorielles) de StatsModels dans le langage de programmation Julia