R中逻辑模型的输出


10

我正在尝试解释以下类型的物流模型:

mdl <- glm(c(suc,fail) ~ fac1 + fac2, data=df, family=binomial)

predict(mdl)每个数据点的预期成功几率是否输出?是否有一种简单的方法可以为模型的每个因子级别(而不是所有数据点)列表几率?


通过交叉列表OR可以更精确地理解您的意思吗?您的因素有两个以上的水平?
chl 2010年

是的,这些因子分别具有3级和6级。我想要的预测赔率是什么的每个可能的组合的表fac1fac2
詹姆斯

好吧,@ Bernd的回答对我来说还不错。也许看看DesignFranck Harrell 的包裹;它具有非常好的lrm()GLM和相关内容功能。
chl 2010年

Answers:


14

的帮助页面

predict.glm

状态:“因此,对于默认二项式模型,默认预测为对数奇数(对数刻度上的概率),'type =“ response”'提供了预测的概率”。因此,predict(mdl)返回log(odds),并使用“ type =” response“返回预测的概率。您可能会发现此玩具示例具有指导意义:

> y <- c(0,0,0,1,1,1,1,1,1,1)
> prop.table(table(y))
y
  0   1 
0.3 0.7 
> glm.y <- glm(y~1, family = "binomial")
> ## predicted log(odds)
> predict(glm.y)
        1         2         3         4         5         6         7         8 
0.8472979 0.8472979 0.8472979 0.8472979 0.8472979 0.8472979 0.8472979 0.8472979 
        9        10 
0.8472979 0.8472979 
> ## predicted probabilities (p = odds/(1+odds))
> exp(predict(glm.y))/(1+exp(predict(glm.y)))
  1   2   3   4   5   6   7   8   9  10 
0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 
> predict(glm.y, type = "response")
  1   2   3   4   5   6   7   8   9  10 
0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 0.7 

关于第二个问题,您可能需要查看John Fox制作的效果包http://socserv.socsci.mcmaster.ca/jfox/Misc/effects/index.html。另请参见他的JSS文章“广义线性模型在R中的效果显示”(第8-10页)。


优秀的!这正是我在寻找的东西,谢谢!
詹姆斯
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.