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

简介: R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化|数据分享

原文链接:http://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 数据的类别的标签

加载数据

绘制数据

image.png

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

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

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

image.png

其中假设所有类的残差方差相等, image.png

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

image.png

其中假设残差方差不同 image.png

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

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

image.png

其中随机效应分布 image.png

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

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

image.png

其中假设随机效应分布为 image.png

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

image.png

其中假设随机效应分布为 image.png

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

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

image.png

其中假设随机效应分布为 image.png

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

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

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

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

hlmfixed(bmig)

image.png

然后,我们将拟合模型输入 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)

image.png

第 3 步

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

  • A(SAS、PROC TRAJ)

image.png

  • B型(R,mmlcr)

调用 source() 命令。

mmldata = bmi_l01
#             )
# model_b$BIC
  • C (SAS、PROC TRAJ)

image.png

  • D 型(SAS、PROC TRAJ)

image.png

  • 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

image.png

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

image.png

  • G (SAS、PROC TRAJ)

image.png

第四步

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

LCTMdel_f

image.png

第 5 步

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

image.png

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

image.png

ggplot(bmong) + geom_line

image.png

相关文章
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
53 3
|
3月前
R语言基于表格文件的数据绘制具有多个系列的柱状图与直方图
【9月更文挑战第9天】在R语言中,利用`ggplot2`包可绘制多系列柱状图与直方图。首先读取数据文件`data.csv`,加载`ggplot2`包后,使用`ggplot`函数指定轴与填充颜色,并通过`geom_bar`或`geom_histogram`绘图。参数如`stat`, `position`, `alpha`等可根据需要调整,实现不同系列的图表展示。
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
7月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
7月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
4月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
4月前
|
机器学习/深度学习 数据采集
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分类分析预测房价及交叉验证
上述介绍仅为简要概述,每个模型在实施时都需要仔细调整与优化。为了实现高度精确的预测,模型选择与调参是至关重要的步骤,并且交叉验证是提升模型稳健性的有效途径。在真实世界的房价预测问题中,可能还需要结合地域经济、市场趋势等宏观因素进行综合分析。
88 3
下一篇
DataWorks