lcmm(2)-如何使用hlme函数估计潜在类别混合模型-1

文摘   2024-11-18 00:20   天津  

lcmm(2)-如何使用hlme函数估计潜在类别混合模型-1

教程首页

教程地址:https://cecileproust-lima.github.io/lcmm/articles/latent_class_model_with_hlme.html

背景和定义

潜在类混合模型

后验分类

在涉及潜在类别的模型中,可以对每个潜在类别中的个体进行后验分类。这基于类别成员概率的后验计算,用于描述个体的分类情况以及评估模型的拟合优度(Proust-Lima 等人,2014 - https://doi.org/10.1177/0962280212445839)。

后验类别成员概率使用贝叶斯定理计算,表示在已收集信息的条件下属于某一潜在类别的概率。在纵向模型中,对于个体 (i) 和潜在类别 (g),该概率定义为:

高斯数据示例

在此示例中,我们研究了一个认知指标的二次轨迹,即在老年人样本中预标准化的简易精神状态检查(MMSE),样本包含65岁及以上的老年人,随访时间最长为15年,并对教育水平进行调整。模型未考虑交互作用,尽管可以考虑任何回归分析应该考虑交互作用。

所考虑的模型

因变量:归一化MMSE

由于MMSE的分布为偏态,我们使用它的标准化版本,很容易从NormPsy包中获得。

library(NormPsy)
library(lcmm)
library(dlookr)

data(paquid)
paquid$normMMSE <- normMMSE(paquid$MMSE)
glimpse(paquid)
plot_normality(paquid,  MMSE)
plot_normality(paquid, normMMSE)

AI解释数据集

paquid 数据集通常在纵向数据分析和混合效应模型的案例中使用。这个数据集来自一项关于老年人认知能力随时间变化的研究,通常包含与健康、年龄、认知评分等相关的信息。以下是该数据集的整体框架以及主要变量的常见意义:

整体框架

paquid 数据集的每一行通常代表一个受试者在某一时间点的观测数据。数据集中的列表示不同的变量,包括个体特征、健康指标、认知功能评估、以及纵向变量(如年龄或随访年数)。这种数据结构适用于纵向数据分析和随机效应模型,以观察个体随时间的变化。

常见变量及意义

虽然 paquid 数据集可能有不同的版本,下面是一些常见的变量以及它们的含义(如有差异,请参考具体的 paquid 数据集文档):

  1. ID:受试者的唯一标识符。

  • 用于区分不同个体。在纵向数据中,ID用于将同一个体的多次观测连接在一起。
  • age:年龄。

    • 通常记录受试者的当前年龄(按年计)。在某些数据集中,可能会转换为 age65(即 age - 65),表示距 65 岁的年龄差。
  • age65:年龄调整变量,通常表示 age - 65

    • 用于分析时使年龄更有参考意义,特别是用于研究老年人群(65岁及以上)。通过中心化年龄,可以更容易解释模型中的年龄效应。
  • CEP:教育水平(或其他认知相关因素)。

    • 通常表示受试者的教育程度(如年数),这在认知研究中是一个重要的控制变量,因为教育水平可能影响认知表现和衰退速度。
  • MMSE:Mini-Mental State Examination(简短精神状态检查)。

    • MMSE 是一种广泛用于老年人认知功能评估的量表。分数越高表示认知功能越好。normMMSE 表示标准化后的 MMSE 得分,有时为了数据分析的便利性,会进行标准化处理。
  • normMMSE:标准化后的 MMSE 得分。

    • 通常,研究人员会将 MMSE 标准化,以便更容易地在统计模型中分析和解释分数。这可能是 MMSE 分数减去均值再除以标准差的结果。
  • followup_years:随访年数。

    • 表示数据采集点的随访年数,通常以起始时间为基准。例如,followup_years 值为 0 表示基线年,值为 1 表示第一次随访,以此类推。
  • sex:性别。

    • 受试者的性别,通常编码为二元变量(例如 0 表示男性,1 表示女性)。性别在认知和健康研究中是重要的变量,常被用作模型中的控制变量。
  • health_status:健康状况指标。

    • 可能表示某些健康相关的测量,如患有的慢性疾病、活动水平、或身体健康评分。
  • time:时间变量。

    • 表示观测的时间点,可能记录为从基线开始的年数或实际的年份。该变量用于追踪每个个体在研究中的随访时间点。

    总结

    paquid 数据集的变量框架旨在跟踪老年人在多次随访中的认知和健康状态,以便研究个体的认知变化模式。模型如混合效应模型或潜在类别模型通常会使用这些变量来探索个体变化和群体特征。

    仅用一个类别(G = 1)来估计模型。

    根据年龄进行分析。为了避免任何数字问题,我们重新输入并缩放年龄:

    paquid$age65 <- (paquid$age - 65)/10

    我们拟合正常MMSE的线性混合模型:

    m1 <- hlme(normMMSE ~ age65+I(age65^2)+CEP,random =~ age65+I(age65^2), subject = 'ID', data = paquid) # ng=1

    AI解释

    这段代码在 R 中使用了 hlme 函数,通常来自于 lcmm 包,用于拟合混合效应模型(Hidden Markov Latent Class Mixed Models)。以下是代码的逐步解释:

    m1 <- hlme(normMMSE ~ age65 + I(age65^2) + CEP, 
               random = ~ age65 + I(age65^2), 
               subject = 'ID'
               data = paquid) 

    参数解释

    1. m1 <-:将模型的输出结果存储在 m1 对象中。

    2. hlme()hlme 是一个用于拟合混合效应线性模型的函数,常用于分析纵向数据或重复测量数据。它特别适合模型中包含随机效应和固定效应的情况。

    3. normMMSE ~ age65 + I(age65^2) + CEP:这是模型的公式部分。

    • normMMSE 是响应变量,表示标准化后的 MMSE(Mini-Mental State Examination,简短精神状态检查)得分。
    • age65 是年龄变量,假设它是经过某种转换(例如,age - 65)的变量。
    • I(age65^2) 是年龄的平方项,用于捕捉非线性效应。I() 函数是 R 中的“解释”函数,用于防止某些运算符被解释为公式符号。
    • CEP 是另一自变量,可能表示某种因素(如认知或健康因素)。
  • random = ~ age65 + I(age65^2):定义模型中的随机效应。

    • 这里表示随机效应是基于 age65age65^2。即,在每个被试中,age65age65^2 的系数会有变化(随机效应)。
    • 加入随机效应可以捕捉每个个体的变化情况,使模型更好地适应个体差异。
  • subject = 'ID':指定个体标识符。

    • ID 是一个变量,表示每个个体的唯一标识符。
    • hlme 函数会根据这个变量来区分每个个体的数据,以便在纵向数据中正确地估计随机效应。
  • data = paquid:指定数据集。

    • paquid 是包含数据的 R 数据框。
    • 该数据框中应包含公式中涉及的变量(如 normMMSEage65CEPID)。
  • # ng=1:这是注释。

    • ng=1 表示模型只有一个类,即单一混合效应模型,不使用潜在类别。

    科研合作及科研服务项目介绍-v0.2

    方法学实现语言:R语言,Python,SPSS,PASS(样本量计算)

    服务形式:科研方案设计及方法学指导,数据分析及图表制作

    可开发票,具体情况可联系助教程老师

    合作方式:商业合作或科研合作均可,具体请联系助教

    助教微信-程老师

    推荐的方法学

    真实世界方法学

    • 1.组间基线表制作(包括SMD对比)
    • 2.单因素及多因素批量实现
    • 3.2组及3组的倾向性评分及逆概率加权实现
    • 4.有向无环图的绘制及解释(DAG)
    • 5.常规生存分析及生存曲线绘制,生存率及中位生存时间分析
    • 6.亚组分析及亚组交互作用P值计算并汇报图表
    • 7.基于界标法的区段生存分析(landmark survival analysis)
    • 8.基于联合法或界标法的动态预测模型构建及验证
    • 9.传统预测模型的(二分类及生存)的构建与验证
    • 10.限制性立方样条确定非线性效应截断值并进行区段回归分析(piecewise regression )
    • 12.潜类别分析
    • 13.规则关联分析
    • 14.面板数据分析
    • 16.纵向数据分析(广义线性混合模型,广义估计方程,多变量重复测量方差分析)

    文献计量学分析及图表解释

    • 1.协助制定检索策略并进行相关文献检索下载元数据
    • 2.文献分布情况整体分析,包括引用情况分析
    • 3.基于关键词的动态分析及可视化
    • 4.核心作者及核心国家分析,包括合作关系网络分析
    • 5.核心杂志鉴定及动态变化分析
    • 6.全局及局部核心文献鉴定
    • 7.关键词动态变化分析及主题凸现分析

    人工智能类研究

    • 1.结构化数据机器学习的批量建模及最优模型选择
    • 2.结构化数据生存数据的批量建模及最优模型的选择
    • 3.传统影像组学特征提取及后续基于机器学习的分析全流程分析
    • 4.机器学习及深度学习模型可解释方法学实现(shap/lime/迭代法等)
    • 5.各种变量筛选方法的实现(RLE/重要性/过滤法/包装法等)
    • 6.基于CNN的医学影像数据的深度学习方法学实现
    • 7.CT/MRI/超声等医学影像学数据的传统影像组学分析
    • 8.CT/MRI/超声等医学影像学数据的深度学习

    生物信息学分析

    • 1.传统转录组差异-富集分析
    • 2.反卷积及细胞比例鉴定分析
    • 3.SNP相关分析
    • 4.CNV相关分析
    • 5.甲基化数据相关分析
    • 3.单细胞降维、聚类及细胞鉴定
    • 4.单细胞轨迹分析及细胞速率分析

    如果您对真实世界研究/临床因果估计方法/生信分析/影像组学人工智能算法感兴趣可以通过下方的微信加我的交流群

    助教微信-程老师
    助教微信-金老师

    欢迎关注我的视频号-定期直播免费文献分享会

    扫一扫,添加我的视频号

    欢迎关注我的知乎同名账号-更加专业和系统的知识分享

    我的知乎

    欢迎关注我的B站账号-公开课及文献分享视频会更新至此

    我的B站
    扫一扫,关注我的微信公众号


    灵活胖子的科研进步之路
    医学博士,R语言及Python爱好者,科研方向为真实世界研究,生信分析与人工智能研究。
     最新文章