首页 > 其他分享 >R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化|附代码数据

R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化|附代码数据

时间:2022-10-26 17:57:10浏览次数:75  
标签:轨迹 语言 LCTM BMI 效应 混合 类别 SAS 模型

全文下载链接: tecdat.cn/?p=26105 

在本文中,潜类别轨迹建模 (LCTM) 是流行病学中一种相对较新的方法,用于描述生命过程中的暴露,它将异质人群简化为同质模式或类别。然而,对于给定的数据集,可以根据类的数量、模型结构和轨迹属性得出不同模型的分数  点击文末“阅读原文”获取完整代码数据)。

本文说明了LCTM的基本用法,用于汇总拟合的潜在类轨迹模型对象的输出。

例子

目的:通过将 BMI 建模为年龄函数,识别具有不同轨迹的参与者亚组。根据迄今为止可用的文献,我们假设初始 K=5 类 BMI 轨迹。

我们使用体重指数 (BMI) 重复测量 10,000 个样本的长格式数据框。

提供了一个示例(模拟)数据集 bmi 来描述整个步骤。

包含的变量有:

id - 个人 ID
年龄 - BMI 测量的年龄,以年为单位
bmi - 个人在 T1、T2、T3 和 T4 时间的体重指数,以 kg/m^2 为单位 true_class - 用于识别模拟个人 BMI 数据的类别的标签

加载数据

绘制数据

图片

潜在类轨迹建模的八步示例

为了对纵向结果 yijk 进行建模,对于 k=1:K,类,对于个体 i,在时间点 j,tj可以使用许多建模选择。我们在这里给出方程来说明这些,并按照复杂度增加的顺序将它们命名为模型 A 到 G。

模型 A:无随机效应模型 | 固定效应同方差 | - 解释个人轨迹与其平均类轨迹的任何偏差仅是由于随机误差

图片

其中假设所有类的残差方差相等,图片

相关视频

**

拓端

,赞13

模型 B:具有特定类别残差的固定效应模型 | 异方差 | 与模型 A 相同的解释,随机误差在不同的类别中可能更大或更小。

图片

其中假设残差方差不同图片

模型 C:随机截距 解释是允许个体的初始体重不同,但假设每个班级成员遵循平均轨迹的相同形状和大小

对于 k=1:K, classes, 对于个体 i, 在时间点 j, tj,

图片

其中随机效应分布图片

模型 D:随机斜率 允许个体在初始权重和平均轨迹的斜率上有所不同

对于 k=1:K,类,对于个体 i,在时间点 j , tj,

图片

其中假设随机效应分布为图片

模型 E:随机二次 - 跨类的共同方差结构 允许个体在类内通过初始权重变化,但是假设每个类具有相同的变异量。对于 k=1:K, 类, 对于个体 i, 在时间点 j, tj,

图片

其中假设随机效应分布为 图片

模型 F 和 G:随机二次 - 允许方差结构跨类变化的比例约束 ,增加模型 E 的灵活性,因为允许方差结构相差一个乘法因子,以允许某些类具有更大或更小的类内方差。该模型可以被认为是模型 G 的更简洁版本(将要估计的方差-协方差参数的数量从 6xK 参数减少到 6+(K-1)个参数。

对于 k=1:K, classes, 对于个体 i, 在时间点 j, tj,

图片

其中假设随机效应分布为 图片

第一步:选择随机效应结构的形式

为了确定随机效应的初始工作模型结构,可以遵循 Verbeke 和 Molenbergh 的基本原理来检查没有随机效应的模型中每个 K 类的标准化残差图的形状。

如果残差轮廓可以近似为平坦、直线或曲线,则分别考虑随机截距、斜率或二次项。

为了拟合没有随机效应的潜在类模型。

hlmfixed(bmig)
复制代码

图片

图片

然后,我们将拟合模型输入 LCTM中的 step1 函数,以检查特定类别的残差。

第2步

优化步骤 1 中的初步工作模型以确定最佳类数,测试 K=1,...7。可以根据最低贝叶斯信息标准 (BIC) 来选择所选类别的数量。

set.seed(100)


for (i in 2:4) {
  mi <- lchlme( data.frame(bmg[1:500,])
  
}
#> Be patient, hlme is running ... 
#> The program took 0.29 seconds 
#> Be patient, hlme is running ... 
#> The program took 0.69 seconds 
#> Be patient, hlme is running ... 
#> The program took 2.3 seconds

modelut <-kable(lin)
复制代码

图片

第 3 步

使用步骤 2 中推导出的偏好 K 进一步细化模型,测试最优模型结构。我们测试了七个模型,从简单的固定效应模型(模型 A)到允许残差在类别之间变化的基本方法(模型 B)到一组具有不同方差结构的五个随机效应模型(模型 CG)。

  • A(SAS、PROC TRAJ)

图片

  • B型(R,mmlcr)

调用 source() 命令。

mmldata = bmi_l01
#             )
复制代码
# model_b$BIC
复制代码
  • C (SAS、PROC TRAJ)

图片

  • D 型(SAS、PROC TRAJ)

图片

  • E型 (R, lcmm)
moe <- hlmfixed = bmi ~1+ age + I(age^2),
           mixture = ~1 + age + I(age^2)
          
#> Be patient, hlme is running ... 
#> The program took 0.77 seconds
复制代码
me$BIC
复制代码

图片

图片

  • F型 (R, lcmm)
fixed = bmi ~1+ age + I(age^2),
           mixture = ~1 + age + I(age^2)
复制代码
mod$BIC
复制代码

图片

图片

  • G (SAS、PROC TRAJ)

图片

第四步

执行一些模型充分性评估。首先,对于每个参与者,计算被分配到每个轨迹类的后验概率,并将个体分配到概率最高的类。在所有类别中,这些最大后验分配概率 (APPA) 的平均值高于 70% 被认为是可以接受的。使用正确分类、不匹配的几率进一步评估模型的充分性。

LCTMdel_f
复制代码

图片

第 5 步

  • 图形表示方法;
  • 绘制包含每个类的时间平均轨迹
  • 每个类具有 95% 预测区间的平均轨迹图,显示每个类内预测的随机变化
plotpred <- predictY
plototp
复制代码

图片

  • 个人水平的“面条图”随时间变化,取决于样本量,可能使用参与者的随机样本
ggplot(bm, aes(x = age, y = bmi)) + geom_line
复制代码

图片

ggplot(bmong) + geom_line
复制代码

图片


点击标题查阅往期内容

图片

R语言用潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

第 6 步

评估模型。

第 7 步

使用四种方法评估临床特征和合理性;

1. 评估轨迹模式的临床意义,旨在包括至少 1% 的人群的类别

postprb( modf )
复制代码

图片

2. 评估轨迹类别的临床合理性

使用生成的图 来评估预测的趋势对于正在研究的组是否现实。例如,对于研究 BMI,显示下降到 <5 kg/m2 的预测趋势是不现实的。 

3. 潜在类别与传统分类的特征列表

使用从所选模型中提取类分配;

然后用描述性变量反馈到主数据集中。

然后可以根据需要将这些制成表格。

等等。

4. 使用 kappa 统计的类成员与传统 BMI 类别成员的一致性

# 定义BMI类别,这些类别的数量需要与类别的数量相等 
confusionMatrix(bmi_class, bmclass
kable(y, row.names = )
复制代码

图片

第 8 步

酌情进行敏感性分析。

图片

本文摘选  R语言潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化  ,点击“阅读原文”获取全文完整资料。

图片

点击标题查阅往期内容

R语言用潜类别混合效应模型(Latent Class Mixed Model ,LCMM)分析老年痴呆年龄数据
R语言贝叶斯广义线性混合(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
R语言因子实验设计nlme拟合非线性混合模型分析有机农业施氮水平
R语言非线性混合效应 NLME模型(固定效应&随机效应)对抗哮喘药物茶碱动力学研究
R语言用线性混合效应(多水平/层次/嵌套)模型分析声调高低与礼貌态度的关系
R语言LME4混合效应模型研究教师的受欢迎程度R语言nlme、nlmer、lme4用(非)线性混合模型non-linear mixed model分析藻类数据实例
R语言混合线性模型、多层次模型、回归模型分析学生平均成绩GPA和可视化
R语言线性混合效应模型(固定效应&随机效应)和交互可视化3案例
R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据R语言 线性混合效应模型实战案例
R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据
R语言如何用潜类别混合效应模型(LCMM)分析抑郁症状
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言建立和可视化混合效应模型mixed effect model
R语言LME4混合效应模型研究教师的受欢迎程度
R语言 线性混合效应模型实战案例
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言如何解决线性混合模型中畸形拟合(Singular fit)的问题
基于R语言的lmer混合线性回归模型
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
R语言分层线性模型案例
R语言用WinBUGS 软件对学术能力测验(SAT)建立分层模型
使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据
用SPSS估计HLM多层(层次)线性模型模型

标签:轨迹,语言,LCTM,BMI,效应,混合,类别,SAS,模型
From: https://www.cnblogs.com/tecdat/p/16829359.html

相关文章

  • LSI SAS 2208 阵列卡刷 IT 模式
    1.前言对于需要大容量存储但又没有足够预算费用并且对功能和稳定性有一定要求的情况,FreeNAS(现在改名叫TrueNAS)应该是不二选择。受TrueNAS内核驱动(FreeBSD)的影响,一些品牌......
  • 为什么你需要R语言、Python、MATLAB、JAVA、SAS编程代写代做assignment指导帮助?
    全文链接:tecdat.cn/?p=29638为什么你需要编程assignment指导帮助?计算机编程一直都不是一个简单的领域,即使是对于那些痴迷于计算机编程的同学,乃至大神们,也很难掌握所有的......
  • 为什么你需要R语言、Python、MATLAB、SAS代写代做编程assignment指导帮助?
    全文链接:tecdat.cn/?p=29638 为什么你需要编程assignment指导帮助?计算机编程一直都不是一个简单的领域,即使是对于那些痴迷于计算机编程的同学,乃至大神们,也很难掌握所有......
  • Java线程池submit阻塞获取结果实现原理
    前言Java线程池中提交任务运行,通常使用​​execute()​​方法就足够了。那如果想要实现在主线程中阻塞获取线程池任务运行的结果,该怎么办呢?答案是用​​submit()​​方法提......
  • 有人知道SASE是什么意思吗?企业为什么需要引进SASE解决方案?
    SASE就是安全访问服务边缘的意思,现在很多正在数字化转型的企业都需要接触到网络安全的问题,传统的安全架构已经无法满足企业的发展需求,而SASE则可以为他们提供一个全新的解决......
  • SAS Macro基础_2
    1.参考SAS简单运行机制非宏程序:从inputstack中逐行扫描code,如果有宏变量、宏程序等,进入macrocompile后,把解析后的宏变量、宏程序返回inputstack中,然后再逐行扫描。宏......
  • 使用gulp对sass文件进行打包压缩遇到的小问题
    使用constsass=require('gulp-sass')导入了sass转换模块,但在执行gulp命令时报错了---------------------------Errorinplugin"gulp-sass"Message:gulp-sassnol......
  • sass
    sass(用的居多)   1、基于Ruby语言   1.1mac系统不需要下载 1.2windows系统就需要下载ruby这个软件了,进行安装   下载安装地址......
  • Submit report 很实用FM:RS_REFRESH_FROM_SELECTOPTIONS
    某个需求中间调用了标准的程序。带选择屏幕。写了个测试程序,玩儿的。首先写了一个取数report:然后写了个调用的report测试结果:spfli表数据:我两个report的,选择屏幕字段顺序......
  • 配置SASS过程
    1.首先在电脑上安装Node.js2.其次在命令行配置npm,命令:npminit。运行后会创建一个package.json文件3.然后输入命令配置npm中可以使用SASS的包,命令:npminstallnode-sass......