首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用mgcv绘制GAM的对比图

用mgcv绘制GAM的对比图
EN

Stack Overflow用户
提问于 2017-09-19 11:22:43
回答 1查看 704关注 0票数 2

当使用visreg包可视化带有对比图的GAM时,当图形为U型时,置信区间在拐点处变为零:

代码语言:javascript
复制
# Load libraries
library(mgcv)
library(visreg)

# Synthetic data
df <- data.frame(a = -10:10, b = jitter((-10:10)^2, amount = 10))

# Fit GAM
res <- gam(b ~ s(a), data = df)

# Make contrast figure
visreg(res, type = "contrast")

这看起来很不可靠,而且在制作有条件的绘图(即visreg(res, type = "conditional"))时也不会发生,因此,我将查看mgcv包来生成相同的图。我可以使用mgcv (例如,plot.gam(res))制作一个有条件的绘图,但我看不到制作对比图的选项。这在mgcv包中是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-20 18:24:42

这是由于对模型中使用的样条基/基施加的可识别性约束。这是一种和到零的约束,有效地从每个平滑项的基中删除了一个类似截距的基函数,这样它们就不会与模型截距混淆。这使得模型可以被识别,而不是具有无穷大的解。

用标准理论,置信区间在y轴上过零时(通常是中心效应,但在某种变换尺度上),置信区间必须趋于零,因为约束意味着在某个点x,效应为0,且方差为0。

这当然是胡说八道,最近的研究已经对这个问题进行了调查。Simon和他的同事提供的一种解决方案是对Nychka的观察进行了扩展,即对于高斯情况,平滑的by可信区间具有良好的跨函数解释,作为频率置信区间(所以不是点态,但也不是同时存在的)。Nychka的结果(区间的覆盖特性)在估计光滑具有不小于估计方差的平方偏差的情况下失败;很明显,当方差达到零时,当估计的平滑通过零效应时,这种情况是失败的,因为此时偏差实际上不是零。

Marra和Wood (2012)将这些结果推广到广义模型设置,通过假设模型中的所有其他项都有可识别性约束,而不是感兴趣的光滑性约束,基本估计了其中一个光滑的置信区间。这将推理的焦点从平滑的直接转移到平滑的+截距。您可以在plot.gam()中用参数seWithMean = TRUE打开它。

然而,我不认为让visreg这样做很容易,尽管通过predict.gam()通过选项type = 'iterms', se.fit = TRUE返回您想要的信息是很简单的。这将在线性预测器的尺度上返回每个模型平滑项的贡献加上包含seWithMean隐含的校正的标准误差。然后,您可以根据实际情况来处理这个问题;例如,添加模型常量项(拦截的估计值)应该可以为您提供一些与您在问题中显示的数字相近的内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46299159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档