ComenzarEmpieza gratis

Calcular el VIF

Como viste en el vídeo, uno de los diagnósticos más utilizados para la multicolinealidad es el factor de inflación de la varianza o VIF, que se calcula para cada variable explicativa.

Recuerda del vídeo que la regla práctica marca un umbral de VIF en 2.5; es decir, si el VIF está por encima de 2.5 deberías considerar que hay efecto de multicolinealidad en tu modelo ajustado.

El model previamente ajustado y el conjunto de datos crab están precargados en el espacio de trabajo.

Este ejercicio forma parte del curso

Modelos lineales generalizados en Python

Ver curso

Instrucciones del ejercicio

  • Importa desde statsmodels la función variance_inflation_factor.
  • Del conjunto de datos crab elige weight, width y color y guárdalos como X. Añade a X una columna Intercept de unos.
  • Usando la función DataFrame() de pandas, crea un dataframe vif vacío y añade los nombres de las columnas de X en la columna Variables.
  • Para cada variable, calcula el VIF con la función variance_inflation_factor() y guárdalo en el dataframe vif en la columna VIF.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Import functions
from statsmodels.stats.outliers_influence import ____

# Get variables for which to compute VIF and add intercept term
X = ____[[____, ____, ____]]
X[____] = 1

# Compute and view VIF
vif = pd.____
vif["variables"] = X.____
vif["VIF"] = [____(X.values, i) for i in range(X.shape[1])]

# View results using print
____(____)
Editar y ejecutar código