Gratia 包:用于绘制广义加法模型 (GAM) 的概率而不是对数赔率

Gratia package: probability instead of log odds for plotting generalized additive model (GAM)

我试图使用 gratia 包绘制逻辑 GAM 模型(因为它使用 ggplot2),但是我希望根据概率而不是对数几率绘制效果(或部分效果)。

我已经手动尝试使用概率,但我更喜欢使用 gratia 包。有没有办法专门使用包来绘制概率?

模型(我创建了一些数据):

set.seed(1)
Perf1 <- rlnorm(100)
Sex <- sample(c(rep(1, 40), rep(0, 60)))
set.seed(2)
Group <- sample(c(rep(1, 30), rep(0, 70)))
set.seed(3)
Perf2 <- rlnorm(200)
G <- sample(c(rep(1, 20), rep(0, 80)))
Age <- sample(c(rep(7, 15), rep(8, 20), rep(9, 30), rep(10, 10), rep(11, 15), rep(12, 10)))



sample_data <-data.frame(Age = Age,
                         Sex = Sex,
                         G = G,
                         Group = Group,
                         Perf1 = Perf1,
                         Perf2 = Perf1
)

gam_fit <- gam(Group ~ Age + Sex + G + s(Perf1, k = 20) +
      s(Perf2, k = 20),
    data = sample_data, 
    family = "binomial",
    method="REML", select = F)

draw(gam_fit, parametric = T)

使用 gratia 绘图:

gam_fit

效果或部分效果在对数几率范围内,虽然我想要概率,但我不确定如何实现。

您必须添加模型常数项并通过 link 函数的反函数进行变换:

draw(gam_fit, constant = coef(gam_fit)[1], fun = inv_link(gam_fit))

(我不确定 constantfun 是否适用于刚才的参数项。)