我在 R 中使用响应变量,即学生在特定课程中收到的字母等级。响应是有序的,并且在我看来,在逻辑上似乎是成比例的。我的理解是,我需要先测试它是否成比例,然后才能使用 polr() 而不是 multinom()。
对于我的一门数据课程,我“测试”了这样的比例:
M1 <- logLik(polrModel) #'log Lik.' -1748.180691 (df=8)
M2 <- logLik(multinomModel) #'log Lik.' -1734.775727 (df=20)
G <- -2*(M1$1 - M2$2)) #I used a block bracket here in the real code
# 26.8099283
pchisq(G,12,lower.tail = FALSE) #DF is #of predictors
#0.008228890393 #THIS P-VAL TELLS ME TO REJECT PROPORTIONAL
对于测试比例优势假设的第二种方法,我还运行了两个 vglm 模型,一个与family=cumulative(parallel =TRUE)
另一个与family=cumulative(parallel =FALSE)
. 然后我pchisq()
用模型偏差的差异和剩余自由度的差异进行了测试。
这两种方式都值得尊重吗?如果不是,我很乐意帮助确定是否接受或拒绝比例赔率假设的实际编码!
除了上述两个测试之外,我还分别针对每个预测变量绘制了累积概率。我读到我希望这些线是平行的。我不明白的是,polr()
您的输出是每个自变量(一个系数)的单个斜率,然后是一个特定的截距,具体取决于您使用的累积概率(例如:P(Y<=A), P( Y<=B)等)。那么,如果每个方程的斜率系数都相同,那么这些线怎么可能不平行呢?
我在 Chris Bilder 的 YouTube 课程中学习了基础知识;他在第 42 分钟谈到了平行图。
任何帮助表示赞赏!谢谢!