【发布时间】:2018-04-28 16:09:17
【问题描述】:
给定成功比例的样本数据加上样本量和自变量,我正在尝试在 R 中进行逻辑回归。
下面的代码做了我想要的,似乎给出了合理的结果,但看起来不像是一个明智的方法;实际上它使数据集的大小增加了一倍
datf <- data.frame(prop = c(0.125, 0, 0.667, 1, 0.9),
cases = c(8, 1, 3, 3, 10),
x = c(11, 12, 15, 16, 18))
datf2 <- rbind(datf,datf)
datf2$success <- rep(c(1, 0), each=nrow(datf))
datf2$cases <- round(datf2$cases*ifelse(datf2$success,datf2$prop,1-datf2$prop))
fit2 <- glm(success ~ x, weight=cases, data=datf2, family="binomial")
datf$proppredicted <- 1 / (1 + exp(-predict(fit2, datf)))
plot(datf$x, datf$proppredicted, type="l", col="red", ylim=c(0,1))
points(datf$x, datf$prop, cex=sqrt(datf$cases))
这看起来相当明智。
但我不喜欢使用datf2 作为通过复制数据来区分成功和失败的方法。这样的事情有必要吗?
作为一个较小的问题,是否有更简洁的方法来计算预测比例?
【问题讨论】:
-
Close voters:这是一个关于如何使用
glm的问题,而不是关于模型的统计质量。 -
权重应该是试验次数,而不是成功次数。
-
@Slouei
weight=cases是成功的次数(当success==1)和不成功的次数(当success==0)所以总共是所有的试验
标签: r logistic-regression