如何使用ASReml评估二项分布混合模型的拟合效果?
二项分布混合模型的拟合效果评估(ASReml)
针对你用ASReml拟合的二项混合模型,除了残差图,还有这些实用的评估方法:
似然比检验(LRT)
用于对比嵌套模型,判断效应是否有必要纳入。比如检验ID随机效应的显著性:# 拟合不含随机效应的简化模型 mod_null <- asreml(fixed = Prevalence ~ Sex, na.action = na.method(x = "include", y = "include"), family.asreml = asr_binomial(link = "logit"), data = data.df) # 对比原模型和简化模型 anova(mod, mod_null)输出的LRT统计量和p值会告诉你,加入
ID随机效应是否显著提升了模型拟合度。也可以用同样方法检验固定效应(比如去掉Sex对比)。信息准则(AIC/BIC)
ASReml会自动计算这两个准则,直接提取即可:# 获取AIC和BIC值 cat("AIC:", mod$aic, "\nBIC:", mod$bic, "\n")准则值越小,模型拟合效果越好,适合在非嵌套模型间做比较。
预测值与观测值的一致性验证
可以对比模型预测的概率和实际观测的响应模式,比如按Sex分组查看:# 生成基于Sex的预测响应值(概率) preds <- predict(mod, classify = "Sex", type = "response") # 查看预测结果 print(preds$pvals) # 对比实际数据的分组患病率 aggregate(Prevalence ~ Sex, data = data.df, mean)如果预测值和实际观测的趋势匹配,说明模型能较好捕捉数据规律。
随机效应方差组分检查
查看ID的方差组分估计结果,判断个体间变异是否值得纳入模型:# 提取方差组分信息 summary(mod)$varcomp如果
ID的方差组分显著不为0,说明个体间存在不可忽视的差异,纳入该随机效应是合理的;如果接近0,可能需要考虑移除这个效应。偏差(Deviance)统计
查看模型的拟合偏差,跟踪不同模型的拟合变化:# 获取对数似然和偏差值 cat("Log-likelihood:", summary(mod)$loglik, "\nDeviance:", summary(mod)$deviance, "\n")偏差越小说明模型拟合越接近数据,不过二项模型的饱和模型自由度通常很大,对比饱和模型偏差的参考性有限,但可以用来比较同一类模型的拟合差异。
内容的提问来源于stack exchange,提问作者alex
相关产品推荐
相关产品推荐

