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

如何计算混合效应模型在新数据集预测值的marginal R2

混合效应模型测试集Marginal R²计算方法

Marginal R²的核心定义是仅由模型固定效应解释的方差占总方差的比例,要计算测试集上的该指标,最简便的方式是直接使用MuMIn包的内置参数实现,也可以手动拆解计算逻辑满足自定义需求。

前置修正:预测代码笔误

你提供的示例代码中predicted为笔误,lme4包的预测函数为predict,修正预测步骤如下:

library(lme4)
library(MuMIn)

# 你之前的数据集拆分、模型拟合逻辑保持不变
set.seed(33)
dataA_list <- lapply(split(seq(1:nrow(sleepstudy)), sleepstudy$Subject), function(x) sample(x, floor(.5*length(x))))
dataB_list <- mapply(function(x,y) setdiff(x,y), x = split(seq(1:nrow(sleepstudy)), sleepstudy$Subject), y = dataA_list)
dataA <- sleepstudy[unlist(dataA_list),]
dataB <- sleepstudy[unlist(dataB_list),]
model <- lmer(Reaction ~ Days + (Days | Subject), dataA)

# 修正预测代码
# 1. 包含随机效应的总体预测值(你之前计算的总体R²对应该结果)
pred_full <- predict(model, newdata = dataB)
# 2. 仅包含固定效应的预测值(计算Marginal R²需要用到)
pred_fix <- predict(model, newdata = dataB, re.form = NA)

方案1:直接调用MuMIn包计算(推荐)

r.squaredGLMM函数内置了newdata参数,传入测试集即可直接得到和训练集计算逻辑完全对齐的Marginal R²,不需要手动拆解方差:

# 传入测试集计算R²
test_r2 <- r.squaredGLMM(model, newdata = dataB)
# 提取Marginal R²,对应结果第一行的R2m列
marginal_r2_test <- test_r2[1, "R2m"]

该方法的输出逻辑和你在训练集上调用r.squaredGLMM(model)的逻辑完全一致,适合直接跨数据集对比模型表现。

方案2:手动拆解计算

如果你需要自定义计算逻辑,可以按照Marginal R²的公式手动拆解计算,分为两种常用场景:

场景A:与训练集参数对齐,方便横向对比

沿用训练集拟合得到的随机效应方差、残差方差作为分母的固定参数,仅替换分子为测试集的固定效应预测方差,适合和训练集的Marginal R²直接比较:

# 提取训练集的方差参数
var_fix_train <- var(predict(model, re.form = NA))
var_random_train <- sum(as.numeric(VarCorr(model)$Subject))
var_resid_train <- sigma(model)^2

# 计算测试集固定效应预测方差
var_fix_test <- var(pred_fix)

# 计算对齐训练集逻辑的测试集Marginal R²
marginal_r2_aligned <- var_fix_test / (var_fix_train + var_random_train + var_resid_train)

场景B:完全基于测试集计算,反映本地解释力

分母直接使用测试集观测值的总方差,更直接反映固定效应在测试集本身的变异中能解释的比例:

# 测试集观测值总方差
var_obs_test <- var(dataB$Reaction)
# 计算纯测试集维度的Marginal R²
marginal_r2_pure <- var(pred_fix) / var_obs_test

补充说明

你之前通过(cor.test(dataB$Reaction, pred_full)$estimate)^2计算得到的是条件R²(Conditional R²)的近似值,对应固定效应+随机效应共同解释的方差比例,和Marginal R²的核心差异是是否纳入随机效应的解释贡献。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:45:03