Calcular o VIF
Como você viu no vídeo, um dos diagnósticos mais usados para multicolinearidade é o fator de inflação da variância (VIF), calculado para cada variável explicativa.
Lembre-se do vídeo que a regra prática é um limiar de VIF igual a 2,5. Isso significa que, se o VIF estiver acima de 2,5, você deve considerar que há efeito de multicolinearidade no seu modelo ajustado.
O model previamente ajustado e o conjunto de dados crab já estão carregados no ambiente de trabalho.
Este exercício faz parte do curso
Modelos Lineares Generalizados em Python
Instruções do exercício
- Importe
variance_inflation_factordestatsmodels. - Do conjunto de dados
crab, escolhaweight,widthecolore salve comoX. Adicione a colunaInterceptde uns aX. - Usando a função
DataFrame()dopandas, crie um dataframevifvazio e adicione os nomes das colunas deXna colunaVariables. - Para cada variável, calcule o VIF usando a função
variance_inflation_factor()e salve no dataframevifcom o nome de colunaVIF.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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
____(____)