使用predict()一个可以获得对于给定模型y的自变量(x)的特定值的因变量()的预测值.是否有任何预测x给定的函数y?
例如:
kalythos <- data.frame(x = c(20,35,45,55,70),
n = rep(50,5), y = c(6,17,26,37,44))
kalythos$Ymat <- cbind(kalythos$y, kalythos$n - kalythos$y)
model <- glm(Ymat ~ x, family = binomial, data = kalythos)
Run Code Online (Sandbox Code Playgroud)
如果我们想知道模型的预测值x=50:
predict(model, data.frame(x=50), type = "response")
Run Code Online (Sandbox Code Playgroud)
例如,我想知道哪个x是y=30.
看到上一个答案被删除.在您的情况下,给定n = 50并且模型是二项式,您将使用以下公式计算x给定y:
f <- function (y,m) {
(logit(y/50) - coef(m)[["(Intercept)"]]) / coef(m)[["x"]]
}
> f(30,model)
[1] 48.59833
Run Code Online (Sandbox Code Playgroud)
但是,在这样做时,您最好咨询统计学家,向您展示如何计算逆预测区间.请将VitoshKa的考虑因素考虑在内.
遇到了这个旧线程,但我想我会添加一些其他信息。MASS 包具有用于 logit/probit 模型的剂量.p 函数。SE是通过delta方法。
\n\n> dose.p(model,p=.6)\n Dose SE\np = 0.6: 48.59833 1.944772\nRun Code Online (Sandbox Code Playgroud)\n\n拟合逆模型 (x~y) 在这里没有意义,因为正如 @VitoshKa 所说,我们假设 x 是固定的,而 y(0/1 响应)是随机的。此外,如果数据被\xe2\x80\x99t分组,则\xe2\x80\x99d只有2个解释变量值:0和1。但即使我们假设x是固定的,计算置信区间仍然有意义对于给定 p 的剂量 x,与 @VitoshKa 所说的相反。正如我们可以根据 ED50 重新参数化模型一样,我们也可以对 ED60 或任何其他分位数执行此操作。参数是固定的,但我们仍然为它们计算 CI。
\n