了解序数逻辑回归的错误

时间:2016-06-06 21:59:16

标签: r regression logistic-regression ordinal

我正在使用MASS::polr来运行序数逻辑回归,但我收到很多错误,希望人们可以启发我。

首先,如果我运行此函数,则函数无法找到起始值:

MASS::polr(as.ordered(cyl)~mpg+gear,mtcars)

因此,如果我指定起始值,我会从optim收到一条错误,说明由optim提供的非有限值:

MASS::polr(as.ordered(cyl)~mpg+gear,mtcars,start=c(1,1,1,1))

在阅读了一些R-help和之前的堆栈溢出问题之后,响应通常是数据有问题,即响应变量的类别值相对较少,但在这种情况下我不会看到mtcars有问题。

有关如何诊断和处理将影响MASS::polr的数据问题的任何指导将不胜感激。

此致

1 个答案:

答案 0 :(得分:1)

通过?polr进行寻宝游戏,起始值将以c(coefficients, zeta) 格式指定“。看得更低,我们看到zeta“类边界的截距。”。在详细信息部分中,我们可以看到必须订购zeta值:

  

zeta_0 = -Inf < zeta_1 < ... < zeta_K = Inf

([原文如此],最后可能应该是< Inf。) 所以你需要第二个zeta值大于第一个zeta值。这有效,例如:

MASS::polr(as.ordered(cyl) ~ mpg + gear, mtcars, start = c(1, 1, 1, 2))