"plot.gam" 置信区间是如何计算的?

How are the "plot.gam" confidence intervals calculated?

如果使用 mgcv 拟合模型,然后绘制平滑项,

m <- gam(y ~ s(x))
plot(m, shade = TRUE)

然后你会得到一个带有置信区间的曲线图。我认为这些是逐点置信区间。它们是如何计算的?

我试着写

object <- plot(m, shade = true)
object[[1]]$fit +- 2*object[[1]]$se

为了使用标准误差和乘数 2 提取下限和上限,但是当我绘制它时,它看起来与 plot.gam?[=16 绘制的置信区间有点不同=]

那么,这些是如何计算的?

我不使用 seWithMean = true 或类似的东西。

是1个标准差。

oo <- plot.gam(m)
oo <- oo[[1]]
points(oo$x, oo$fit, pch = 20)
points(oo$x, oo$fit - oo$se, pch = 20)

可重现的例子:

x <- seq(0, 2 * pi, length = 100)
y <- x * sin(x) + rnorm(100, 0, 0.5)
m <- gam(y ~ s(x))