如何利用BAPC模型进行GBD数据库的全球疾病负担趋势预测
如何利用BAPC模型进行GBD数据库的全球疾病负担趋势预测
在全球疾病负担(GBD)研究中,预测未来疾病负担趋势对公共卫生决策具有重要意义。BAPC(贝叶斯年龄-时期-队列)模型是一种高级的统计模型,专门设计用于分析随时间变化的数据,尤其是在流行病学和公共卫生领域。本文将详细介绍BAPC模型在GBD数据预测中的应用。
BAPC 模型详解
BAPC 模型是一种高级的统计模型,专门设计用于分析随时间变化的数据,尤其是在流行病学和公共卫生领域。它将时间分解为三个不同的维度,以便更全面地理解疾病负担的变化:
年龄效应 (Age Effect):
年龄效应反映了疾病风险随年龄变化的模式。例如,某些疾病可能在儿童时期更常见,而另一些疾病则主要影响老年人。BAPC 模型能够识别这些不同年龄段的疾病风险差异,揭示疾病的年龄特异性。时期效应 (Period Effect):
时期效应捕捉了在特定时间段内影响所有年龄组的因素。这些因素可能包括:新的医疗技术的引入
公共卫生政策的实施
环境变化
经济波动
时期效应可以帮助我们了解这些宏观层面的因素如何影响疾病负担的整体趋势。队列效应 (Cohort Effect):
队列效应是指在同一时期出生的人群所共有的特征,这些特征可能影响他们一生中的疾病风险。例如:早期生活经历
生活方式习惯
环境暴露
队列效应可以解释为什么不同世代的人群在疾病负担方面存在差异。
BAPC 模型采用贝叶斯统计框架,这为模型带来了额外的优势:
- 处理不确定性:
贝叶斯方法能够自然地处理数据中的不确定性,并将其纳入模型估计中。这在 GBD 研究中尤为重要,因为数据可能存在缺失或质量问题。 - 提供可信区间:
贝叶斯模型不仅提供点估计,还提供可信区间,这有助于评估模型预测的可靠性。 - 结合先验知识:
贝叶斯方法允许研究人员将先验知识(例如,基于先前研究的假设)纳入模型中,从而提高模型的准确性和稳健性。
BAPC 模型的优势
- 全面考虑时间效应: BAPC 模型最显著的优势在于它能够同时考虑年龄、时期和队列效应。这使得模型能够更全面地理解疾病负担的复杂变化,而传统的统计方法可能无法做到这一点。
- 分离和量化不同效应: BAPC 模型不仅识别出这三种效应,还能够将它们分离并量化。这有助于研究人员了解每种效应在疾病负担变化中的相对重要性。
- 提高预测准确性: 通过考虑多维时间效应,BAPC 模型可以更准确地预测未来的疾病负担趋势。这对于公共卫生决策至关重要,因为它可以帮助决策者制定更有效的干预措施。
- 稳健性和可靠性: 贝叶斯框架的使用提高了模型的稳健性和可靠性。贝叶斯方法能够处理数据缺失和不确定性,并提供可信区间估计,这使得模型结果更加可靠。
GlobalburdenR包基于BAPC模型进行GBD数据的疾病负担预测分析,功能较为强大,可快速完成BAPC分析。函数主要依托于R版本的BAPC和INLA等工具包来进行预测。
数据准备
首先需要准备以下数据:
- GBD研究数据(CSV格式)+数据过滤和筛选,这里做Incidence的预测
EC <- read.csv('X:/GBD_burdenR/ES_predict.csv')
EC_Male_incidence_n=process_EC_data_BAPC(
EC,
sex_filter = "Male",
metric_filter = "Number",
measure_filter = "Incidence",
location_filter = "Global"
)
EC_Female_incidence_n=process_EC_data_BAPC(
EC,
sex_filter = "Female",
metric_filter = "Number",
measure_filter = "Incidence",
location_filter = "Global"
)
EC_Both_incidence_n=process_EC_data_BAPC(
EC,
sex_filter = "Both",
metric_filter = "Number",
measure_filter = "Incidence",
location_filter = "Global"
)
2.人口学数据,这里是需要目前的人口和未来预测的人口,这里预测至2040年
GBD_Global_Male_n<- process_GBD_data_BAPC(filter_years = 2020:2040,
filter_location = "Global",
filter_sex = 'Male')
GBD_Global_Female_n <- process_GBD_data_BAPC(filter_years = 2020:2040,
filter_location = "Global",
filter_sex = 'Female')
GBD_Global_Both_n <- GBD_Global_Female_n+GBD_Global_Male_n
融合数据
EC_pro <- matrix(data = NA, nrow = 2040-2019, ncol = ncol(GBD_Global_Male_n)) %>% as.data.frame()
rownames(EC_pro) <- seq(2020,2040,1)
colnames(EC_pro) <- names(EC_Male_incidence_n)
EC_Male_incidence_n <- rbind(EC_Male_incidence_n , EC_pro)
EC_Female_incidence_n <- rbind(EC_Female_incidence_n , EC_pro)
EC_Both_incidence_n <- rbind(EC_Both_incidence_n , EC_pro)
然后使用BAPC包的函数进行预测,当然这里面做了简单的封装,所以代码更简洁:
female <- GBD_bapc_analysis(incidence_data = EC_Female_incidence_n, global_data = GBD_Global_Female_n, wstand = wstand,
plot_type = 'asp', start_year = 1989, end_year = 2040,npredict = 21, retro = TRUE,
secondDiff = FALSE, verbose = FALSE)
male<- GBD_bapc_analysis(incidence_data = EC_Male_incidence_n, global_data = GBD_Global_Male_n, wstand = wstand,
plot_type = 'asd', start_year = 1989, end_year = 2040,npredict = 21, retro = TRUE,
secondDiff = FALSE, verbose = FALSE)
both<- GBD_bapc_analysis(incidence_data = EC_Both_incidence_n, global_data = GBD_Global_Both_n, wstand = wstand,
plot_type = 'asd', start_year = 1989, end_year = 2040,npredict = 21, retro = TRUE,
secondDiff = FALSE, verbose = FALSE)
可以得到下图:
同时可以加入了三种性别合并的预测曲线:
# Monet 配色方案
visual_BAPC (
show_bar = F,
show_errorbar = F,
both = both,
male = male,
female = female,
palette = "Hiroshige"
)
总结
BAPC 模型是一种强大的工具,可用于分析 GBD 数据并预测未来的疾病负担趋势。通过全面考虑年龄、时期和队列效应,并利用贝叶斯统计框架的优势,该模型能够提供更准确、可靠的预测结果,为公共卫生决策提供有力支持。