我有一个序数因变量并尝试使用许多自变量来预测它。我用R
. 我使用的函数clm
在ordinal
包中,用概率链接执行累积链接函数,准确地说:
我尝试了pR2
包中的函数pscl
来获得伪 R 平方,但没有成功。
如何使用该clm
函数获得伪 R 平方?
非常感谢你的帮助。
伪R^2有多种。我不喜欢使用它们中的任何一个,因为我认为结果在现实世界中没有意义。它们不估计任何类型的效应大小,并且它们对于统计推断不是特别好。此外,在这样的情况下,每个实体有多个观察值,我认为“n”(受试者的数量)或自由度的哪个值是合适的值得商榷。有些人使用相对容易计算的 McFadden 的 R^2,因为clm
生成了一个列表,其中一个名为“logLik”的值。您只需要知道 logLikelihood 只是一个远离偏差的乘法常数 (-2)。如果有第一个示例中的模型:
library(ordinal)
data(wine)
fm1 <- clm(rating ~ temp * contact, data = wine)
fm0 <- clm(rating ~ 1, data = wine)
( McF.pR2 <- 1 - fm1$logLik/fm0$logLik )
[1] 0.1668244
我在 CrossValidated 上看到了这个问题,并希望看到那里有更复杂的统计参与者接受这个问题,但他们将其视为编程问题并将其丢弃在这里。也许他们对 R^2 作为一个有价值的衡量标准的看法和我一样低?
推荐使用 rcompanion 包中的函数 nagelkerke 来获取伪 r-squared。
当您的预测变量或结果变量是分类变量或有序变量时,R-Squared 通常会低于真正的数字数据。R-squared 只是模型拟合的一个非常弱的指标,您不能基于此选择模型。