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


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

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

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

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

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

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

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

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

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

использовать автоматически

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

регрессия цена вес длина миль на галлон

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

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

оживленный

ВИФ в Стате

В результате получается значение 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, что указывает на то, что мультиколлинеарность больше не является проблемой в модели.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *