Logit模型比值比的概率曲线

时间:2012-07-06 18:44:53

标签: r statistics

我有一个关于绘制具有多个预测变量的逻辑回归模型的概率曲线的问题。我在这里发布了这个,因为我想知道ggplot2特定的解决方案,并从ggplot2中的logit模型创建有用的图形。

所以这是一个例子=

library(car)
mtcars
log <- glm(vs ~ mpg + am, data=mtcars, family=binomial)
summary(log)

这提供了logit coefs(log odds),但是我想知道如何对mpg的所有“级别”和ggplot2中的所有“级别”进行Y = 1的预测。基本上,我如何使用ggplot2创建对解释logit模型结果有用的图?当有多个预测变量时,我特别想知道解决方案。

编辑:

我特别询问生成具有预测值或优势比的图表。

3 个答案:

答案 0 :(得分:5)

这个怎么样:

library(car)
mtcars
#Change your model name because log is also a function
logodds <- glm(vs ~ mpg + am, data=mtcars, family=binomial)
summary(logodds)

library(ggplot2)
new.data = with(mtcars, expand.grid(am = unique(am),
                                    mpg = seq(min(mpg), max(mpg))))

new.data$vs <- predict.glm(logodds, newdata = new.data, type = "response")

ggplot(new.data, aes(mpg, vs, colour = am)) + geom_line(aes(group = am))

enter image description here

答案 1 :(得分:4)

不确定你是否在给出不同的mpg和am值的预测Y,或者只是想解释系数?

如果你试图解释系数,我是系数图的忠实粉丝。

require(coefplot)
coefplot(log)

这会让你这样: enter image description here

修改 也许就是这样。

preds <- with(mtcars, expand.grid(mpg, am))
names(preds) <- c("mpg", "am")
preds$Score <- predict(object=logMod, newdata=preds, type="response")
ggplot(preds, aes(x=mpg, y=Score, group=am, colour=factor(am))) + geom_line(linetype=2) + scale_color_discrete("am")

enter image description here

答案 2 :(得分:2)

你的另一个选择 - 虽然尚未使用ggplot2 - 是在Frank Harrell的rms包中找到的绘图方法。我希望Harrell很快会转向ggplot2作为他的图表,但是方法,诊断图,概率图,系数图等都是非常有用的。