后续技术问询:获最小AIC最优模型后如何开展Tukey等模型检验
太棒了,你已经通过AIC成功筛选出了最优的空间相关模型!接下来咱们一步步实现日期间的Tukey检验,顺便补充几个实用的模型诊断步骤,帮你把模型验证工作做扎实👇
最优模型的后续检验与诊断
首先先确认下咱们的起点——你已经完成的最优模型筛选代码,我整理成了更清晰的代码块:
# 基于不同空间相关方法更新基础模型 mods <- lapply(methods, function(m) { update(amod.null, correlation = getFunction(m)(1, form = ~ x + y), method="ML") }) names(mods) <- methods # 提取各模型AIC并筛选最优模型(用sapply更简洁,直接得到命名向量) list.AIC <- sapply(mods, AIC) best.mod <- names(which.min(list.AIC))
1. 提取最优模型对象
先把最优模型从列表中单独拎出来,方便后续操作:
final_mod <- mods[[best.mod]]
2. 日期间的Tukey多重比较检验
如果你的模型里date是作为固定效应的分类变量,用emmeans包做Tukey检验是最常用的方案,步骤如下:
# 先安装并加载emmeans包(如果还没装的话) # install.packages("emmeans") library(emmeans) # 针对date变量执行Tukey两两比较,自动调整多重比较的P值 tukey_date <- emmeans(final_mod, pairwise ~ date, adjust = "tukey") # 查看完整检验结果(包含均值估计和两两比较) print(tukey_date) # 如果只想聚焦两两比较的差异和P值,可单独查看: print(tukey_date$contrasts)
结果里会展示每个日期组合的差异估计值、标准误,以及经过Tukey调整后的P值,帮你判断哪些日期间存在显著差异。
3. 模型拟合诊断(必做!)
除了Tukey检验,咱们得验证模型的基本假设是否满足,常用的诊断步骤包括:
- 残差分析:检查残差的独立性、方差齐性和正态性
# 绘制残差拟合图(看方差是否齐性)和QQ图(看正态性) plot(final_mod, which = c(1, 2)) # 残差正态性的Shapiro-Wilk检验 shapiro.test(resid(final_mod))
如果残差拟合图的点随机分布在0线附近,QQ图的点贴近对角线,且Shapiro-Wilk检验的P值>0.05,说明模型的正态性假设基本成立。
- 空间相关性诊断:因为咱们用了空间相关结构,得确认空间自相关是否被充分捕捉
# 提取空间相关参数 correlation_params <- coef(final_mod$modelStruct$corStruct) cat("空间相关参数:", correlation_params, "\n") # 绘制半变异函数图,直观查看空间自相关模式 library(nlme) Variogram(final_mod, form = ~ x + y)
如果半变异函数图在拟合的模型曲线后趋于平稳,说明模型已经很好地捕捉了空间自相关信号。
4. 可选:空间结构必要性检验
如果你想确认加入空间相关结构是否真的提升了模型效果,可以把最优模型和无空间相关的基础模型做似然比检验:
# 似然比检验比较最优模型与基础模型 anova(amod.null, final_mod)
如果检验结果的P值<0.05,说明空间相关结构的加入显著提升了模型拟合度。
内容的提问来源于stack exchange,提问作者nouse
相关产品推荐
相关产品推荐

