如何在不知道方程的情况下对某点的最佳拟合线求导?
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)
型号:
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)