真实世界大数据分析系列联合模型的R语言实现与解读——以分析PBC2数据

更新时间:2023-11-12 01:17:40 阅读: 评论:0

猜猜她是谁-乘法的验算方法

真实世界大数据分析系列联合模型的R语言实现与解读——以分析PBC2数据
2023年11月12日发(作者:推销案例)

真实世界⼤数据分析系列联合模型的R语⾔实现与解读——以分析PBC2数据集

为例

公众号:医学⼤数据挖掘分析

本系列上⼀期我们已经简单介绍了联合模型的相关原理(往期推⽂:真实世界⼤数据分析系列|联合模型的简单介绍),

本期我们从实例出发,看如何使⽤R语⾔实现联合模型,如何解读联合模型的结果。

数据来源

数据为JM程序包中的1974年到1984Mayo原发性胆汁肝硬化(Mayo Clinic Primary Biliary Cirrhosis Data, PBC2)数

据集,包含了312例患者,总计1945个观测值,包含患者编号、死亡或删失时间、⽣存状态、⽤药情况、年龄、性别、

观测时间、⾎清胆红素等20个变量。其中140例患者死亡,29例接受移植⼿术,143例患者存活。由于死亡和删失,该

研究对患者平均进⾏6.2次随访,中位⽣存时间为9.43年。具体数据如下图所⽰。

本研究的⽬的为:探讨纵向指标rBilir与肝硬化患者死亡风险之间的关系。下⾯构建联合模型。

⼀、构建联合模型

library(JMbayes)

pbc2$status2 <- c(pbc2$status != "alive")

$status2 <- c($status != "alive")

1)构建纵向⼦模型:

为了满⾜拟合线性混合模型的因变量分布(服从正态分布)要求,对⾎清胆红素进⾏对数变换得到log(rBilir),并以

log(rBilir)为因变量,选择观测时间(year)、⽤药情况(drug)、观测时间和⽤药情况的交互作⽤为固定效应部分,

患者标识影响下的观测时间作为随机效应,构建线性混合模型:

1 <- lme(log(rBilir) ~ drug * year, data = pbc2,

random = ~ year | id, method = "ML")

summary(1)

2)构建⽣存⼦模型:

以⽤药情况、年龄、⽤药情况和年龄的交互作⽤为基线变量,构建cox模型:

1 <- coxph(Surv(years, status2) ~ drug * age, data = , x = TRUE)

summary(1)

3)联合模型的参数估计:

构建联合模型:

1 <- jointModelBayes(1, 1, timeVar = "year")

summary(1)

我们看联合模型的结果,纵向⼦模型部分,观测时间对log(rBilir)的变化差异有统计学意义(P<0.001),随着观测时

间的增加,log(rBilir)也逐渐增加(β=0.2313P<0.001);⽣存⼦模型部分,患者年龄差异有统计学意义

P<0.001),患者年龄每增加⼀个单位,患者死亡风险增加1.0358倍(95% CI: 1.0089-1.0618)。另外,联合模型的

共享参数(Assoct)有统计学意义,表明log(rBilir)每纵向增加1个单位,患者发⽣死亡风险增加3.8675倍(95% CI:

3.2619-4.6856)。

⼆、模型预测效能与评价

我们可以计算出模型的AICBICLogLikelihood值,分别为4761.514855.935-2350.755。这些评价指标可⽤于模

型间的对⽐,我们挑选值AIC/BIC最⼩或对数似然函数值最⼤的模型为最佳模型。

利⽤到起始时间点的可⽤纵向信息,基于联合模型可以计算指定时间点的ROC曲线和AUC估计值。下图为起始时间为

5,预测到时间点为13ROC曲线及其对应的AUC值,AUC值越接近1预测效果越好。

plot(rocJM(1, pbc2, Tstart = 5, Thoriz = 8))

aucJM(1, pbc2, Tstart = 5, Thoriz = 8)

三、个体化动态预测

根据建⽴的联合模型,我们可以对任⼀患者的⽣存概率和纵向结果进⾏动态预测,如对2号患者进⾏预测:

ND <- pbc2[pbc2$id == 2, ] # the data of Subject 2

survPreds <- vector("list", nrow(ND))

for (i in 1:nrow(ND)) {

survPreds[[i]] <- survfitJM(1, newdata = ND[1:i, ])

}

par(mfrow = c(2, 2), oma = c(0, 2, 0, 2))

for (i in c(1,3,5,7)) {

plot(survPreds[[i]], estimator = "median", = TRUE,

include.y = TRUE, main = paste("Follow-up time:",

round(survPreds[[i]]$, 1)), ylab = "", ylab2 = "")

}

mtext("log rum bilirubin", side = 2, line = -1, outer = TRUE)

mtext("Survival Probability", side = 4, line = -1, outer = TRUE)

上图为2号患者在随访期间的动态⽣存概率。垂直虚线表⽰最后⼀次⾎清胆红素测定的时间点。垂线左边描述了拟合的

纵向轨迹,垂线右边的实线为⽣存概率中位数估计量,虚线对应其95%置信区间。我们观测到,在第三次测量后,2

患者的对数⾎清胆红素⽔平明显增加,⽣存概率的下降速率变得更为陡峭,表明她的病情正在恶化。

参考⽂献:

[1] 翟映红, 陈琪, 韩贺东, 赵欣欣, ⾼永晴, 周详, 贺佳. 联合模型介绍及在医学研究中的应⽤. 中华流⾏病学杂志, 2019,

40(11): 1456-1460.

[2] 肖宇飞,冯佳宁,王晓璇,⽑倩,⽯福艳,王素珍, XIAO Yufei, FENG Jianing, WANG Xiaoxuan, MAO Qian, SHI Fuyan,

WANG Suzhen. 利⽤数据库数据采⽤联合模型动态预测312例肝硬化患者预后的观察分析[J]. ⼭东⼤学学报:医学版,

2020, 58(9):7.

[3] Dimitris, Rizopoulos, Laura, et al. Combining Dynamic Predictions From Joint Models for Longitudinal and Time-to-

Event Data Using Bayesian Model Averaging[J]. Journal of the American Statistical Association, 2014, 109(508):1385-

1397.

[4] Rizopoulos D. Joint models for longitudinal and time-to-event data:with applications in R[M]. Boca Raton: CRC

Press, 2012.

[5] Kan L , Sheng L . Dynamic predictions in Bayesian functional joint models for longitudinal and time-to-event data:

An application to Alzheimer's dia[J]. Statistical Methods in Medical Rearch, 2017, 28(2):217.

更多内容,请关注医学⼤数据挖掘分析公众号,欢迎留⾔联系~

邮箱:*********************

地址:⼴州市天河区珠江东路⾼德置地秋⼴场F

美好祝愿的诗句-10以内的分解与组成

真实世界大数据分析系列联合模型的R语言实现与解读——以分析PBC2数据

本文发布于:2023-11-12 01:17:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1699723060213083.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:真实世界大数据分析系列联合模型的R语言实现与解读——以分析PBC2数据.doc

本文 PDF 下载地址:真实世界大数据分析系列联合模型的R语言实现与解读——以分析PBC2数据.pdf

标签:陈琪
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|