如何找到预测逻辑曲线的方程?

时间:2017-03-12 23:38:18

标签: r logistic-regression equation predict

使用R,我想了解如何找到预测逻辑曲线的方程式(根据经验数据预测)。

我能找到的最接近的命令是来自stat_poly_eq的{​​{1}}函数,并在使用ggplot2绘制曲线时使用。但是,我只能使用这种方法在图表上打印y = 0.48,但我想要整个方程式。

以下是一些R代码供参考:

library(ggpmisc)

plot

请告知如何获得预测曲线的实际等式。

编辑:

我能够使用输出摘要中的系数找到预测曲线的方程,并将其应用于标准逻辑方程: y~1 /(1 + exp(-x))。以下是R代码供参考:

 gg.disp.adults<- ggplot(sub.data, aes(x=SVL3, y=Disp01)) +
   geom_point(size=4) +
   stat_smooth( aes(y= Disp01), method="glm", method.args=list(family="binomial"), se=F) +
   stat_poly_eq(aes(label=paste(..eq.label..,..rr.label..,sep="~~~~")), 
           rr.digits=3, coef.digits=2,
           formula = y~1/(1+exp(-x)), 
           parse = TRUE) +
theme(axis.text.x=element_text(size=14, color="black"),
    axis.text.y=element_text(size=14, color="black"), 
    axis.line=element_line(size=1), 
    axis.title.x=element_text(size=14), 
    axis.title.y=element_text(size=14),
    panel.background=element_rect(fill="white")) +
ylab("Dispersal Probability") +
ylim(0,1)+
xlab("Adult SVL")
gg.disp.adults

...我无法发布新预测曲线的照片。

1 个答案:

答案 0 :(得分:1)

由于getNullValue<type i need>(); 只是对您的数据运行stat_smooth,您可以执行相同的操作来恢复模型估算值。以下是一些包含一些数据的示例:

弥补数据:

glm(y ~ x, ...)

使用library(ggplot2) set.seed(123) d <- data.frame(x = rnorm(100, 0, 2)) d$y <- rbinom(100, 1, plogis(d$x)) 进行调整。因此,glm会报告您想要的等式:

fit

我们可以看到fit <- glm(y ~ x, data = d, family = binomial(link = "logit")) fitted <- data.frame(x = d$x, y = predict(fit, type = "response")) 的预测值与fitted行完全匹配:

stat_smooth

enter image description here