型号:
mylogit <- glm(Result ~ kickLength, data = RegFg, family = "binomial") 概率图:
plot.dat <- data.frame(prob = RegFg$NumMade/RegFg$NumKick,
kl = RegFg$kickLength,
fit = predict(mylogit, RegFg))plot.dat$fit_prob <- exp(plot.dat$fit)/(1+exp(plot.dat$fit)) g1<-ggplot(plot.dat, aes(x=kl, y=prob)) +
geom_point() + geom_line(aes(x=kl, y=fit_prob)) 概率拟合线(我认为):
geom_line(aes(x=kl, y=fit_prob))我正在寻找概率的导数,在每一个踢长度与踢长度有关。
发布于 2021-12-28 19:34:00
如果你想在不知道公式的情况下做这件事,那就意味着数值微分。现在问题中缺少了输入,所以让我们在最后的Note中使用这个例子,这样它就可以实际运行了--下次请提供一个完整的可运行示例。然后使用与numDeriv包的数字区分。
library(numDeriv)
prob <- function(x) predict(fm, list(x = x), type = "response")
grad1 <- grad(prob, x) # find derivative at each x value
# check against formula in Ben Bolker's comment
grad2 <- coef(fm)["x"] * binomial()$mu.eta(predict(fm, list(x = x), type = "link"))
all.equal(grad1, grad2, check.attributes = FALSE)
## [1] TRUE备注
set.seed(123)
success <- rep(0:1, each = 3)
x <- rnorm(6)
fm <- glm(success ~ x, family = binomial)https://stackoverflow.com/questions/70511208
复制相似问题