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

如何使用R语言实现并行增长混合模型(GMM)分析

R中lcmm包实现双结局并行增长混合模型(GMM)实操

你之前用lcmm做单结局GMM调用的是hlme函数,双/多结局并行GMM直接换用同包的multlcmm函数即可,参数逻辑和单结局模型高度一致,不需要额外学习太多新规则,具体脚本步骤如下:

步骤1:环境准备与数据格式要求

首先安装加载包,你的输入数据必须为长格式:每个受试者每个观测时间点对应一行,至少包含4类字段:受试者唯一ID、观测时间点、第一个结局变量、第二个结局变量,可额外加协变量字段。

# 安装加载包
install.packages("lcmm")
library(lcmm)

# 示例数据结构参考(你的数据集替换掉your_data即可)
# head(your_data)
#   id time  y1  y2 gender age
# 1  1    0 2.3 1.1      1  35
# 2  1    1 3.1 1.5      1  35
# 3  1    2 4.0 1.8      1  35
# 4  2    0 1.8 0.9      0  42

步骤2:拟合k=1的基准并行增长模型

先拟合无分组的单类别多结局增长模型,作为后续选组的基准,同时给后续多类别模型提供初始值减少收敛问题。

fit_k1 <- multlcmm(
  fixed = list(y1 ~ time, y2 ~ time), # 列表形式传入两个结局的固定效应公式,这里假设两个结局都是线性时间趋势;如果y1要加二次项就写y1 ~ time + I(time^2)
  random = ~ time, # 两个结局共用的随机效应结构,这里设置为随机截距+随机时间斜率
  subject = "id", # 受试者ID对应的列名
  ng = 1, # 类别数设为1,无分组
  data = your_data # 替换为你的数据集名
)
summary(fit_k1)

步骤3:拟合不同类别数的并行GMM,筛选最优模型

一般测试k=2~k=5的模型,结合3个指标选最优:BIC值最小、分类熵值>0.8、每个类别的样本占比不低于总样本的5%。

# 拟合k=2的模型,用k=1的结果作为初始值
fit_k2 <- multlcmm(
  fixed = list(y1 ~ time, y2 ~ time),
  random = ~ time,
  subject = "id",
  ng = 2,
  data = your_data,
  B = fit_k1, # 继承上一个模型的初始值
  maxiter = 5000 # 收敛失败可调整迭代次数上限
)
summary(fit_k2)

# 同理拟合k=3、k=4的模型,直接用上一个k值的结果做初始值即可
fit_k3 <- multlcmm(
  fixed = list(y1 ~ time, y2 ~ time),
  random = ~ time,
  subject = "id",
  ng = 3,
  data = your_data,
  B = fit_k2
)

你可以直接用summarytable(fit_k1, fit_k2, fit_k3)输出所有模型的BIC、熵值等指标,方便对比选优。

步骤4:提取分类结果与可视化

确定最优模型后,直接提取每个受试者的分类结果:

# 假设最优模型是fit_k2,提取后验分类概率与所属类别
class_result <- fit_k2$pprob
# 输出结果包含3个核心列:id(受试者ID)、class(所属类别编号)、prob1/prob2(属于对应类别的后验概率)

# 可视化两个结局的各类别拟合增长轨迹
plot(fit_k2, which = "fit")

常见场景调整参数

  • 需要加协变量预测类别归属:增加classmb = ~ 协变量1 + 协变量2参数即可
  • 结局为分类变量:增加link参数指定连接函数,比如两个二分类结局就写link = list("logit", "logit")
  • 两个结局的随机效应结构不同:把random参数也换成list格式,分别指定每个结局的随机效应即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:45:05