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

如何从R的mmrm包拟合模型中获取AR1参数估计值

如何从mmrm拟合的AR1模型中获取正确的相关系数

mmrm包默认用Cholesky分解来参数化协方差结构,所以你从theta_est拿到的数值不是直接的AR1相关系数,而是为了数值优化稳定性做过变换的参数,这就是为什么数值不在-1到1之间。要拿到正确的AR1相关系数,有两种简单方法:

方法一:用VarCorr()直接提取

这是最便捷的方式,VarCorr()函数会直接输出协方差矩阵和对应的相关系数矩阵,一眼就能看到AR1的参数:

# 先拟合你的模型
library(mmrm)
fit <- mmrm(
  formula = 你的因变量 ~ 固定效应 + (Days | Subject),
  data = 你的数据集,
  cov_struct = ar1()
)

# 提取协方差和相关系数
VarCorr(fit)

输出里会明确标注「Correlation」部分,AR1的相关系数phi就在这里,数值会落在-1到1之间,和glmmTMB、GEE的结果匹配。

方法二:从协方差矩阵转换得到

如果你需要手动计算,可以先提取模型的协方差矩阵,再转成相关系数矩阵:

# 提取协方差结构并转为矩阵
cov_matrix <- as.matrix(cov_struct(fit))
# 转换为相关系数矩阵
cor_matrix <- cov2cor(cov_matrix)
# 提取AR1相关系数(比如取矩阵中第二行第一列的元素,对应相邻时间点的相关)
ar1_phi <- cor_matrix[2, 1]

补充说明:mmrm的summary()默认只输出固定效应和方差分量的标准差,不会直接显示AR1相关系数,所以得用上面的方法提取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 17:23:09