Как проверить мультиколлинеарность в Stata

Как проверить мультиколлинеарность в Stata

Мультиколлинеарность в регрессионном анализе возникает, когда две или более независимых переменных сильно коррелируют друг с другом, так что они не предоставляют уникальную или независимую информацию в регрессионной модели. Если степень корреляции между переменными достаточно высока, это может вызвать проблемы при подгонке и интерпретации регрессионной модели.

Например, предположим, что вы запускаете множественную линейную регрессию со следующими переменными:

Переменная ответа: максимальный вертикальный прыжок

Объясняющие переменные: размер обуви, рост, время, потраченное на тренировки.

В этом случае объясняющие переменные размер обуви и рост, вероятно, будут сильно коррелированы, поскольку более высокие люди, как правило, имеют больший размер обуви. Это означает, что мультиколлинеарность, вероятно, будет проблемой в этой регрессии.

К счастью, мультиколлинеарность можно обнаружить с помощью метрики, известной как коэффициент инфляции дисперсии (VIF) , который измеряет корреляцию и силу корреляции между независимыми переменными в регрессионной модели.

В этом руководстве объясняется, как использовать VIF для обнаружения мультиколлинеарности в регрессионном анализе в Stata.

Пример: Мультиколлинеарность в Stata

В этом примере мы будем использовать встроенный набор данных Stata с именем auto.Используйте следующую команду для загрузки набора данных:

сисусе авто

Мы будем использовать команду regress , чтобы подобрать модель множественной линейной регрессии, используя цену в качестве переменной отклика и вес, длину и мили на галлон в качестве независимых переменных:

регресс цена вес длина мили на галлон
Вывод множественной линейной регрессии в Stata

Далее мы будем использовать команду vif для проверки мультиколлинеарности:

виф
VIF в Стате

Это дает значение VIF для каждой из независимых переменных в модели. Значение VIF начинается с 1 и не имеет верхнего предела. Общее эмпирическое правило для интерпретации VIF выглядит следующим образом:

  • Значение 1 указывает на отсутствие корреляции между данной независимой переменной и любыми другими независимыми переменными в модели.
  • Значение от 1 до 5 указывает на умеренную корреляцию между данной объясняющей переменной и другими независимыми переменными в модели, но часто она недостаточно серьезна, чтобы требовать внимания.
  • Значение больше 5 указывает на потенциально сильную корреляцию между данной независимой переменной и другими независимыми переменными в модели. В этом случае оценки коэффициентов и p-значения в выходных данных регрессии, вероятно, ненадежны.

Мы видим, что значения VIF для веса и длины больше 5, что указывает на то, что мультиколлинеарность, вероятно, является проблемой в регрессионной модели.

Как бороться с мультиколлинеарностью

Часто самый простой способ справиться с мультиколлинеарностью — просто удалить одну из проблемных переменных, поскольку удаляемая переменная, вероятно, в любом случае является избыточной и добавляет мало уникальной или независимой информации в модель.

Чтобы определить, какую переменную следует удалить, мы можем использовать команду corr для создания матрицы корреляции для просмотра коэффициентов корреляции между каждой из переменных в модели, что может помочь нам определить, какие переменные могут сильно коррелировать друг с другом и могут вызывать проблема мультиколлинеарности:

корр цена вес длина мили на галлон
Корреляционная матрица в Stata

Мы можем видеть, что длина сильно коррелирует как с весом, так и с милями на галлон, и имеет самую низкую корреляцию с ценой переменной ответа. Таким образом, удаление длины из модели может решить проблему мультиколлинеарности без снижения общего качества регрессионной модели.

Чтобы проверить это, мы можем снова выполнить регрессионный анализ, используя только вес и мили на галлон в качестве независимых переменных:

регресс цена вес миль на галлон
Вывод множественной линейной регрессии в Stata

Мы видим, что скорректированный R-квадрат этой модели равен 0,2735 по сравнению с 0,3298 в предыдущей модели. Это указывает на то, что общая полезность модели снизилась лишь незначительно. Затем мы можем снова найти значения VIF с помощью команды VIF :

ВИФ
Значения VIF в Stata

Оба значения VIF ниже 5, что указывает на то, что мультиколлинеарность больше не является проблемой в модели.

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.