ПочатиПочніть безкоштовно

Обчислення VIF

Як ви дізналися з відео, один із найпоширеніших діагностичних показників мультиколінеарності — це коефіцієнт інфляції дисперсії (VIF), який обчислюють для кожної пояснювальної змінної.

Згадайте з відео правило великого пальця: пороговим значенням вважають VIF на рівні 2,5. Тобто якщо VIF перевищує 2,5, варто припустити, що на вашу модель впливає мультиколінеарність.

Раніше навчена model і набір даних crab уже завантажені в робочу область.

Ця вправа є частиною курсу

Узагальнені лінійні моделі в Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте з statsmodels функцію variance_inflation_factor.
  • Із набору даних crab виберіть weight, width і color та збережіть як X. Додайте до X стовпець Intercept, заповнений одиницями.
  • Використовуючи функцію pandas DataFrame(), створіть порожній датафрейм vif і додайте назви стовпців X у стовпець Variables.
  • Для кожної змінної обчисліть VIF за допомогою функції variance_inflation_factor() і збережіть результат у датафреймі vif в стовпці з назвою VIF.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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
____(____)
Редагувати та запускати код