You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用gamm4绘制带置信区间的差异平滑曲线及验证模型正确性

关于gamm4拟合差异平滑曲线的问题解答

1. 是否可用gamm4绘制带置信区间的差异平滑曲线?

可以。gamm4拟合后返回的对象包含兼容mgcv包的gam组件,有两种实现方式:

  • 用mgcv自带的plot.gam()函数,设置shade=TRUE即可显示平滑项的置信区间;
  • 结合predict()函数生成预测值及标准误,手动计算置信区间后用ggplot2绘制定制化曲线。

2. 尝试的差异平滑模型是否正确?

模型方向没问题,但存在细节需要调整:

核心问题点

若SoundType.ordered是二分类变量(STA/DEV),同时加入SoundType.ordered固定效应和s(Trial_no, by = SoundType.ordered)差异平滑项会造成冗余——差异平滑项已能捕捉两组间的所有差异(包括线性趋势),单独的固定效应反而可能引发共线性。

根据“允许不同SoundType水平的样条曲线存在差异”的需求,推荐两种建模选项:

调整后的模型选项

选项1:拟合两组完全独立的样条曲线

适合关注每组自身的变化趋势,直接为每个SoundType水平设置独立平滑项:

ME_spline.diff <- gamm4(RT ~ s(Trial_no, by = SoundType.ordered, bs = "bs"),
                        random = ~(1 + SoundType.ordered | VP),
                        data = data)

选项2:拟合“参考组基线平滑 + 组间差异平滑”(对应Sóskuthy 2017的差异平滑思路)

适合重点关注两组间的差异趋势,基线平滑为参考组的变化,差异平滑项表示另一组相对参考组的偏离:

ME_spline.diff <- gamm4(RT ~ s(Trial_no, bs = "bs") +
                        s(Trial_no, by = SoundType.ordered, bs = "bs"),
                        random = ~(1 + SoundType.ordered | VP),
                        data = data)

注:fx=FALSE是mgcv样条的默认参数,可省略不写。

随机效应部分

你设置的random = ~(1 + SoundType.ordered | VP)是正确的,实现了每个VP的随机截距和SoundType的随机斜率,符合分层数据的需求。

绘图示例(群体水平带置信区间)

以选项2的模型为例,用ggplot2绘制:

# 构造预测数据集
new_data <- expand.grid(
  Trial_no = seq(min(data$Trial_no), max(data$Trial_no), length.out = 100),
  SoundType.ordered = unique(data$SoundType.ordered),
  VP = sample(data$VP, 1) # 忽略随机效应时可任意选一个VP,re.form=NA会自动边际化
)

# 生成预测值与置信区间
preds <- predict(ME_spline.diff$gam, newdata = new_data, 
                 type = "response", se.fit = TRUE, re.form = NA)
new_data$fit <- preds$fit
new_data$lower <- new_data$fit - 1.96 * preds$se.fit
new_data$upper <- new_data$fit + 1.96 * preds$se.fit

# 绘图
library(ggplot2)
ggplot(new_data, aes(x = Trial_no, y = fit, color = SoundType.ordered)) +
  geom_line(linewidth = 1) +
  geom_ribbon(aes(ymin = lower, ymax = upper, fill = SoundType.ordered), 
              alpha = 0.2, color = NA) +
  labs(x = "试次编号", y = "反应时(RT)") +
  theme_minimal()

内容的提问来源于stack exchange,提问作者user25610677

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 01:34:56