序数逻辑回归的解释


17

我在R中运行此序数逻辑回归:

mtcars_ordinal <- polr(as.factor(carb) ~ mpg, mtcars)

我得到了该模型的摘要:

summary(mtcars_ordinal)

Re-fitting to get Hessian

Call:
polr(formula = as.factor(carb) ~ mpg, data = mtcars)

Coefficients:
      Value Std. Error t value
mpg -0.2335    0.06855  -3.406

Intercepts:
    Value   Std. Error t value
1|2 -6.4706  1.6443    -3.9352
2|3 -4.4158  1.3634    -3.2388
3|4 -3.8508  1.3087    -2.9425
4|6 -1.2829  1.3254    -0.9679
6|8 -0.5544  1.5018    -0.3692

Residual Deviance: 81.36633 
AIC: 93.36633 

我可以这样获得系数的对数赔率mpg

exp(coef(mtcars_ordinal))
 mpg 
0.7917679 

阈值的对数几率如下:

exp(mtcars_ordinal$zeta)

       1|2         2|3         3|4         4|6         6|8 
0.001548286 0.012084834 0.021262900 0.277242397 0.574406353 

有人可以告诉我我对这个模型的解释是否正确:

随着mpg增加一个单位,从类别1 carb进入其他5个类别中任何一个的几率降低-0.23。如果对数优势超过阈值0.0015,则汽车的预测值将为的类别2 carb。如果对数赔率超过阈值0.0121,则汽车的预测值将为的类别3 carb,依此类推。

Answers:


10

您有完全混淆的赔率和对数赔率。对数赔率是系数;赔率是指数系数。此外,赔率的解释是相反的。(我从计量经济学开始就考虑有限的因变量,而序数回归的赔率解释是……嗯……对我来说很有趣。)因此,您的第一句话应为:“随着 mpg 增加一个单位,赔率 相对于其他5个类别,观察类别1的carb 百分比增加了21%。”

就阈值的解释而言,您确实必须绘制所有预测曲线才能说出模态预测是什么:

mpg   <- seq(from=5, to=40, by=1)
xbeta <- mpg*(-0.2335)
logistic_cdf <- function(x) {
  return( 1/(1+exp(-x) ) )
}

p1 <- logistic_cdf( -6.4706 - xbeta )
p2 <- logistic_cdf( -4.4158 - xbeta ) - logistic_cdf( -6.4706 - xbeta )
p3 <- logistic_cdf( -3.8508 - xbeta ) - logistic_cdf( -4.4158 - xbeta )
p4 <- logistic_cdf( -1.2829 - xbeta ) - logistic_cdf( -3.8508 - xbeta )
p6 <- logistic_cdf( -0.5544 - xbeta ) - logistic_cdf( -1.2829 - xbeta )
p8 <- 1 - logistic_cdf( -0.5544 - xbeta )

plot(mpg, p1, type='l', ylab='Prob')
  lines(mpg, p2, col='red')
  lines(mpg, p3, col='blue')
  lines(mpg, p4, col='green')
  lines(mpg, p6, col='purple')
  lines(mpg, p8, col='brown')
  legend("topleft", lty=1, col=c("black", "red", "blue", "green", "purple", "brown"), 
         legend=c("carb 1", "carb 2", "carb 3", "carb 4", "carb 5", "carb 6"))

在此处输入图片说明

第三类的蓝色曲线从未拾取,第六类的紫色曲线也没有。因此,如果我要说的是,对于mpg27以上的值,则最有可能的类别是1;在18至27之间,类别2;4至18之间,类别4;并低于4类8。(我想知道您正在研究的是商用卡车吗?如今,大多数乘用车的mpg>25。)。您可能想要尝试更准确地确定相交点。

我还注意到,您有这些奇怪的类别,分别是1、2、3、4、6(跳过5),8(跳过7)。如果5和7是设计遗漏的,那很好。如果这些是carb不属于的有效类别,那就不好了。


请注意我如何使用“从carb的类别1移动到其他5个类别中的任何一个”。错了吗 我正在努力掌握“随着mpg增加一单位,观察到碳水化合物1类相对于其他5类的几率增加了21%”。这意味着,如果通过大约5个单位MPG的增加,将有1观察类别的100%的几率但如果MPG增加了5个单位,应该有观察8类,而不是类1的机会较高
卢西亚诺

3
我加上了数字;我怀疑这会使您的答案更容易理解-希望您喜欢它。(顺便说一句,mtmts的文档说这些数据是1974年《汽车趋势》的测试结果。)
gung-Reinstate Monica

有人可以回答卢西亚诺的最后一个问题吗?我觉得这很有趣。
Erosennin 2014年

1
mpg23134515

1
按照polr将模型定义为的方式logit P(Y <= k | x) = zeta_k - eta,@ StasK的解释不应读为:“随着 mpg 单位增加,观察类别1 carb 与其他5类别exp(-(-0.2335)) = 1.26
moremo '18

3

在有序对数模型中,赔率形成的概率是在特定阈值以下的任何类别中的概率与在同一阈值之上的类别中的概率之比(例如,具有三个类别:A或B类别的概率与C),以及处于A类与B类或C类之间的可能性)。

这导致模型logit P(Y <= k | x) = zeta_k - eta的描述如中所述polr()。因此,可以为不同类别或不同回归变量建立比值比。后者是比较常见的一种,它比较相同类别但不同回归变量的赔率并等于

Øddsÿ一种ķ|X一种Øddsÿbķ|Xb = 经验值-η一种-ηb

不同类别的优势比定义为

Øddsÿ一世ķ|X一世Øddsÿ一世|X一世 = 经验值ζķ-ζ

从而该比率独立于回归变量。此属性导致备用名称比例赔率模型。

在这个简单但可能不是非常直观的示例中,您可以公式化为:对于回归变量的单位增加mpg,观察类别1与观察任何更高类别的几率(或观察任何低于某个阈值的类别对几的概率)。观察高于同一阈值的任何类别)乘以1.26或增加26%(exp(-(-0.233 - 0)) = 1.263)。如果要制定不同类别的优势比,则可以说,例如,处于类别1与以上任何类别的几率与处于类别1或2与以上任何类别的几率之比等于exp((-6.470) - (-4.415)) = 0.128。因此,后一种解释在此特定设置中不是很有帮助。不同类别的优势比的一个例子可能是上大学的几率与上高中的几率相比。

最后,您可能会对解释变量必须更改多少才能达到下一个较高的响应类别感兴趣。为此,您可以将间隔长度与拟合系数进行比较。这给出了一个想法,您需要将各个回归变量的变化量从类别移至更高的类别。ζķ-ζķ-1个ķ

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.