Расчет VIF для порядковой логистической регрессии и мультиколлинеарности в R

Я использую модель порядковой регрессии. У меня есть 8 независимых переменных, 4 из них категориальные ('0' или '1'), 4 из них непрерывные. Заранее я хочу убедиться в отсутствии мультиколлинеарности, поэтому использую коэффициент увеличения дисперсии (функция vif из пакета car):

mod1<-polr(Y ~ X1+X2+X3+X4+X5+X6+X7+X8, Hess = T, data=df)
vif(mod1)

но я получаю значение VIF 125 для одной из переменных, а также следующее предупреждение:

Предупреждающее сообщение: В vif.default (mod1): Нет перехвата: vifs может быть неразумным.

Однако, когда я конвертирую свою зависимую переменную в числовую (вместо множителя) и делаю то же самое с линейной моделью:

mod2<-lm(Y ~ X1+X2+X3+X4+X5+X6+X7+X8, data=df)
vif(mod2)

На этот раз все значения VIF ниже 3, что говорит об отсутствии мультиколлинеарности.

Меня смущает функция vif. Как он может вернуть VIF ›100 для одной модели и низкие VIF для другой? Должен ли я придерживаться второго результата и все равно делать порядковую модель?


person Hugo Perrichon    schedule 08.09.2020    source источник


Ответы (1)


Функция vif() использует определители корреляционной матрицы параметров (и их подмножеств) для вычисления VIF. В линейной модели это включает только коэффициенты регрессии (исключая точку пересечения). Функция vif() не предназначена для использования с упорядоченными моделями логита. Таким образом, когда он находит матрицу дисперсии-ковариации параметров, она включает пороговые параметры (то есть точки пересечения), которые обычно исключаются функцией в линейной модели. Вот почему вы получаете предупреждение - он не умеет искать параметры порога и удалять их. Поскольку VIF на самом деле является функцией взаимосвязей в матрице дизайна (которая не зависит от зависимой переменной или нелинейного отображения линейного предиктора в пространство переменной ответа [т. Е. Функция связи в glm]), вы должны получить правильный ответ с помощью второго решения, описанного выше, используя lm() с числовой версией вашей зависимой переменной.

person DaveArmstrong    schedule 08.09.2020