如何在不知道方程的情况下对某点的最佳拟合线求导?

How do I take the derivative of a line of best fit at a point without knowing the equation?

型号:

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))

我正在寻找在每个踢腿长度处概率相对于踢腿长度的导数。

如果您想在不知道公式的情况下进行计算,那么这意味着数值微分。现在问题中缺少输入,所以让我们使用末尾注释中的示例,这样它实际上可以是 运行——下次请提供完整的 运行nable 示例。然后使用 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)