Я использую модель порядковой регрессии. У меня есть 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 для другой? Должен ли я придерживаться второго результата и все равно делать порядковую модель?