如果使用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
绘制的置信区间有点不同?
那么,这些是如何计算的?
我不使用seWithMean = true
或类似的东西。
答案 0 :(得分:2)
这是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))