1

我正在尝试运行 GAM 模型并根据此线程对包 mgcv 的建议以给定值获得精确的估计值。使用 predict 函数时,结果与 GAM 的估计值不匹配。

这是我感兴趣的模型:

mod <- gam(y~s(a, by=b), data = dat)

当我使用以下方法获得结果时:

plot(mod)

结果与我尝试使用以下方法估计变量 a 上的单个绘图点时不同:

pdat <- with(dat,
             data.frame(a = 0,
                        b = mean(b,na.rm = TRUE)))
pred <- predict(mod, pdat, type = "response", se.fit = TRUE)
pdat <- transform(pdat, fitted = pred$fit)
pdat <- transform(pdat, upper = fitted + (1.96 * pred$se.fit),
                  lower = fitted - (1.96 * pred$se.fit))

有人对我可能做错的事情有任何建议吗?

4

1 回答 1

0

通过反复试验,我找到了问题的答案。它接缝,而不是值的平均值,因为我的 by 变量我需要将 b 替换为 1 - 这将获得图中的确切值。

也许这将在未来对其他人有所帮助。

于 2014-02-22T16:07:26.643 回答