Я имею дело с некоторыми порядковыми данными, собранными по пятибалльной шкале Лайкерта для моей диссертации. Есть 3 независимых переменных, а именно: «Rhyme», «Meter» и «Lexicality», все с 2 уровнями (0/1) соответственно. На основании этих параметров будет оцениваться красота предложений. В R есть много функций для запуска регрессии порядкового логистика c, и я пробовал polr()
, clm()
и vglm()
, но меня беспокоит то, что переменная "Лексичность" нарушает предположения о пропорциональных коэффициентах, но две другие переменные держать.
Вот как я проверил предположения о пропорциональных коэффициентах с помощью library(Hmisc)
.
`library(Hmisc)
bf<- function(y) {
c('Y>=1' = qlogis(mean(y >= 1)),
'Y>=2' = qlogis(mean(y >= 2)),
'Y>=3' = qlogis(mean(y >= 3)),
'Y>=4' = qlogis(mean(y >= 4)),
'Y>=5' = qlogis(mean(y >= 5)))}
(b1<- with(S1Beauty, summary(as.numeric(Rating) ~ Rhyme + Meter + Lexicality, fun = bf)))
b1[, 6] <- b1[,6] - b1[,5]
b1[, 5] <- b1[,5] - b1[,4]
b1[, 4] <- b1[,4] - b1[,3]
b1[, 3] <- b1[,3] - b1[,3]
b1
plot(b1, which = 1:5, pch = 1:5, xlab = 'logit for beauty', main = '', xlim = range(b1[,3:6]))`
Я получил этот параллельный линейный график для проверки предположений о пропорциональных коэффициентах. В тесте параллельной линии вертикальные расстояния для лексичности очень велики.
Я также выполнил тест отношения правдоподобия для моделей с одинаковым наклоном и без него.
pom <- vglm(Rating ~ Lexicality + Rhyme + Meter, data = S1Beauty, family =
cumulative(parallel = T))
summary(pom)
npom <- vglm(Rating ~ Lexicality + Rhyme + Meter, data = S1Beauty, family =
cumulative(parallel = F))
lrtest(pom, npom)
Likelihood ratio test
Model 1: Rating ~ Lexicality + Rhyme + Meter
Model 2: Rating ~ Lexicality + Rhyme + Meter
#Df LogLik Df Chisq Pr(>Chisq)
1 5753 -1860.3
2 5744 -1846.9 -9 26.809 0.001504 **
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Тест имеет значение p 0,0015, которое является значительным и показывает, что нет никаких различий между двумя моделями. Предположение о пропорциональных шансах нарушено.
Таким образом, я отфильтровал и разделил свои данные на 2 подмножества, одно с Lexicality = 0 и одно с Lexicality = 1. Я снова провел тест отношения правдоподобия для этих 2 подмножеств. Значения p обоих подмножеств больше не являются значимыми, что означает, что предположение о пропорциональных шансах сохраняется.
Подмножество с Lexicality = 1:
Likelihood ratio test
Model 1: Rating ~ Rhyme + Meter
Model 2: Rating ~ Rhyme + Meter
#Df LogLik Df Chisq Pr(>Chisq)
1 2874 -991.24
2 2868 -988.14 -6 6.1978 0.4014
Подмножество с Lexicality = 0:
Likelihood ratio test
Model 1: Rating ~ Rhyme + Meter
Model 2: Rating ~ Rhyme + Meter
#Df LogLik Df Chisq Pr(>Chisq)
1 2874 -859.85
2 2868 -855.92 -6 7.8596 0.2486
В этом случае, когда только одна переменная "Lexicality нарушает предположение о пропорциональных коэффициентах, могу ли я по-прежнему использовать для своих данных регрессионную модель порядкового логистика c? Если нет, то существует ли какая-либо модель, с которой я могу работать со своими данными в целом или мне нужно делить данные в соответствии с уровнями лексичности?
Другой вопрос: есть ли разница между использованием функции polr()
и clm()
в моем случае?
Я новичок в регрессионной модели логистики c, и меня смущают эти модели и результаты Я надеюсь, что кто-то может помочь мне с этой проблемой. Большое спасибо заранее!