【问题标题】:Probability Curve for the Odds Ratios of a Logit ModelLogit 模型优势比的概率曲线
【发布时间】:2012-07-06 18:44:53
【问题描述】:

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

所以这里有一个例子 =

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

这提供了 logit coefs(log 几率),但我想知道如何继续预测 mpg 的所有“级别”的 Y = 1 并且我在 ggplot2 中。基本上,我如何使用 ggplot2 创建有助于解释 logit 模型结果的图?当有多个预测变量时,我特别想知道解决方案。

编辑:

我专门询问如何使用预测值或优势比生成图表。

【问题讨论】:

  • 如果你没有尝试做一个加法模型(即你的回复是mpg*am而不是mpg+am)你可以使用ggplot(mtcars,aes(mpg,vs,colour=factor(am)))+geom_smooth(method="glm",family=binomial) ...但这不适用于您的情况(唉)

标签: r statistics


【解决方案1】:

这个怎么样:

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))

【讨论】:

  • 请致电type="response"。我忘记了。
【解决方案2】:

不确定您是在寻找给定不同 mpg 和 am 值的预测 Y,还是只是想解释系数?

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

require(coefplot)
coefplot(log)

这让你:

编辑: 或许这样吧。

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")

【讨论】:

  • 抱歉,我的问题可能不太清楚。我说的是预测值。
  • @ATMathew 这可能更符合您的要求。
【解决方案3】:

您的另一个选择 - 虽然尚未使用 ggplot2 - 是在 Frank Harrell 的 rms 包中找到的绘图方法。我希望 Harrell 的图表很快会切换到 ggplot2,但是方法集、诊断图、概率图、系数图等非常有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多