您使用的代码使用该glm
函数估算了逻辑回归模型。您没有包括数据,所以我会做些补充。
set.seed(1234)
mydat <- data.frame(
won=as.factor(sample(c(0, 1), 250, replace=TRUE)),
bid=runif(250, min=0, max=1000)
)
mod1 <- glm(won~bid, data=mydat, family=binomial(link="logit"))
逻辑回归模型对二元响应变量与一个连续预测变量之间的关系进行建模。结果是对数转换概率与预测变量成线性关系。在您的情况下,结果是对应于赌博获胜或未获胜的二进制响应,并且由下注的值来预测。来自的系数mod1
以对数赔率(很难解释)给出,根据:
logit (p )= 对数(p(1 − p )) = β0+ β1个X1个
要将记录的赔率转换为概率,我们可以将以上内容转换为
p =经验(β0+ β1个X1个)(1 +经验(β0+β1个X1个))
您可以使用此信息来设置绘图。首先,您需要一个范围的变量变量:
plotdat <- data.frame(bid=(0:1000))
然后使用predict
,您可以根据模型获得预测
preddat <- predict(mod1, newdata=plotdat, se.fit=TRUE)
请注意,也可以通过以下方式获得拟合值
mod1$fitted
通过指定se.fit=TRUE
,您还可以获得与每个拟合值相关的标准误差。结果data.frame
是一个包含以下成分的矩阵:拟合的预测(fit
),估计的标准误差(se.fit
)和给出用于计算标准误差的色散平方根的标量(residual.scale
)。在一个二项式分对数的情况下,该值将是1(它可以通过输入看到preddat$residual.scale
在R
)。如果要查看到目前为止所计算结果的示例,可以键入head(data.frame(preddat))
。
下一步是设置图。我喜欢先使用参数设置空白绘图区域:
with(mydat, plot(bid, won, type="n",
ylim=c(0, 1), ylab="Probability of winning", xlab="Bid"))
现在,您将知道了解如何计算拟合概率的重要位置。您可以按照上面的第二个公式绘制与拟合概率相对应的线。使用,preddat data.frame
您可以将拟合值转换为概率,并使用该值针对预测变量的值绘制一条线。
with(preddat, lines(0:1000, exp(fit)/(1+exp(fit)), col="blue"))
最后,回答您的问题,可以通过计算拟合值+/- 1.96
乘以标准误差的概率,将置信区间添加到图中:
with(preddat, lines(0:1000, exp(fit+1.96*se.fit)/(1+exp(fit+1.96*se.fit)), lty=2))
with(preddat, lines(0:1000, exp(fit-1.96*se.fit)/(1+exp(fit-1.96*se.fit)), lty=2))
结果图(根据随机生成的数据)应如下所示:
为了方便起见,以下是所有代码的一部分:
set.seed(1234)
mydat <- data.frame(
won=as.factor(sample(c(0, 1), 250, replace=TRUE)),
bid=runif(250, min=0, max=1000)
)
mod1 <- glm(won~bid, data=mydat, family=binomial(link="logit"))
plotdat <- data.frame(bid=(0:1000))
preddat <- predict(mod1, newdata=plotdat, se.fit=TRUE)
with(mydat, plot(bid, won, type="n",
ylim=c(0, 1), ylab="Probability of winning", xlab="Bid"))
with(preddat, lines(0:1000, exp(fit)/(1+exp(fit)), col="blue"))
with(preddat, lines(0:1000, exp(fit+1.96*se.fit)/(1+exp(fit+1.96*se.fit)), lty=2))
with(preddat, lines(0:1000, exp(fit-1.96*se.fit)/(1+exp(fit-1.96*se.fit)), lty=2))
(注意:这是一个经过大量编辑的答案,旨在使它与stats.stackexchange更加相关。)