机器学习+SHAP建模,预测模型就是好文章?求你们了,别玩偏了

健康   2024-11-08 07:52   浙江  

郑老师团队的2025年培训课

可预开发票,郑老师团队25年统计新课预告,机器学习课程马上来了
R语言机器学习课程将在11月底开课,大家敬请期待!
最近多关注机器学习的文章,感觉多种机器学习+SHAP加什么乱七八糟技术一上,文章就高大上,就很有意义一样。
纯玩数据的关联性,不讲究实际意义, 这也不太好。
看到一篇文章Ecotoxicology and Environmental Safety (环境科学与生态学二区top,IF=6.2)的研究论文,旨在使用NHANES数据库开发一个可解释的机器学习(ML)模型,并使用基本人口统计数据和挥发性有机化合物(VOCs组成数据来预测心血管疾病(CVD)发生风险。
此外,进一步使用SHAP法计算每个变量对预测的贡献,用于解释最终模型的输出。

如果你需要全文,请公众号后台回复关键词“pdf”。如果你对预测模型感兴趣,不妨看看我们的机器学习构建临床预测模型课程!详情可咨询助教,微信号:aq566665

心血管疾病(CVD)已成为全球最主要的死亡原因。环境污染物,特别是挥发性有机化合物(VOCs),也被确定为重要的风险因素。
然而,在先前的研究中发现,除了特定的环境检测获得VOCs数据外,还可通过VOCs的尿液代谢产物数据,分析VOCs暴露对人体健康的具体影响。
在本研究中,研究团队纳入了NHANES 2011-2018数据库中5,098名参与者(包括515例CVD患者和4583例对照)。通过15项尿代谢物指标评估VOCs的暴露情况。研究者将数据集分成训练集(70%)和测试集(30%),并6种ML模型构建CVD风险预测模型。

图1 研究流程

模型开发与验证


√变量筛选

数据集被分为70%训练集(n =3568)和30%验证集(n =1530),用于开发并验证风险预测模型。

由于复杂的高维数据会影响ML算法的性能,因此,在构建ML模型之前,首先使用Boruta算法,在训练集中识别预测模型所需要的关键因素。

  • Boruta算法作为一种基于随机森林分类算法的包装器算法,经过多次实时迭代后能够使重要变量更加清晰,其过滤结果比传统特征选择方法更可靠。

  • 最终得到了21个预测因素用于训练和构建ML模型包括高血压、年龄、SBP、DBP、性别、PIR、BMI、T2 MHA、T34_MHA、AAMA、AMCC、ATCA、SBMA、CEMA、T3 HPMA、CYMA、DHBMA、T2 HPMA、MHBMA 3、PGA、MA和HMPMA

在完成变量选择后,使用合成少数过采样技术(SMOTE)预处理算法来实现训练集中CVD和非CVD人群之间的样本平衡。

√ML预测模型构建

在训练集的基础上,总共使用了六种ML方法进行模型构建。

  • 包括随机森林(RF),光梯度提升机(LightGBM),决策树(DT),极端梯度提升(XGBoost),多层感知器(MLP)和支持向量机(SVM)。

每个模型都有独特的优点。并对每个ML模型进行超参数调优和五重交叉验证,以确保模型的最佳性能和可靠性。

√模型验证

在模型验证中,使用一系列指标评价模型的预测性能。

  • 包括ROC曲线下面积(AUROC)、准确度、平衡准确度、F1评分、J指数、kappa、Matthew相关系数(MCC)、阳性预测值(PPV)、阴性预测值(NPV)、灵敏度(sens)、特异度(spec)。

  • AUROC的范围为0.5至1.0,AUROC在该范围内越大,预测能力越好。

√模型可解释性

使用SHAP算法阐明具有最佳性能的模型,该算法为每个变量分配了相应的属性值SHAP值),可定量测量每个特征对预测准确性的影响。

  • 为了可视化每个特征对模型的贡献,生成了SHAP摘要图;

  • 此外,SHAP依赖图用于检验特征之间的相互作用。

本研究中,统计学显著性设定为P<0.05(双尾),所有分析均使用R 4.3.0和Python 3.9.0进行。

RF模型预测性能最好

研究结果表明,在6种ML预测模型中,RF模型的预测性能最好。
  • 在测试集上,RF模型具有最好的预测性能和模型拟合,AUROC达到了0.8143 (95% CI: 0.7789-0.8497),代表了模型优秀的预测能力。
图2 6个ML模型的测试集和验证集中的ROC曲线
(A)测试集的ROC曲线;(B)验证集的ROC曲线
因此,在后续分析中,对最佳模型(RF)的可解释性分析是研究的重中之重。
SHAP分析发现年龄是所有变量中最重要的,具有最大的SHAP值,是心血管疾病风险的重要危险因素。

其次,最重要的mVOCs组分是ATCA,仅次于年龄,对CVD的发展具有保护作用。

  • 具体而言,随着年龄的增长,发生CVD的风险增加;

  • 而较高的ATCA水平则与CVD风险降低相关,特别是在高血压患者和老年人中。
图3 RF模型的SHAP图
(A)模型中变量的SHAP值排序;(B)RF模型的SHAP蜂窝图;(C)RF模型中连续变量的SHAP值变化趋势图;(D)RF模型中分类变量的SHAP值的箱形图。
图4 ATCA的相互作用效果图(SHAP依赖图)
(A)ATCA与高血压的交互作用图;(B)ATCA与年龄的交互效应图
综上所述,在6种ML预测模型中,RF模型预测性能最佳。此外,SHAP分析发现,年龄和ATCA(尿液VOC代谢组分是最重要的预测因素,且ATCA是CVD的保护因素,特别在老年人和高血压患者中保护作用最为显著。
研究团队认为,将基本人口统计数据与VOCs暴露相结合的模型,在预测未来疾病风险方面具有巨大的潜力。


闲来郑语

你们看他们的技术够时髦吧?俺都不会!

Boruta算法,

SHAP算法

合成少数过采样技术(SMOTE)预处理算法

六种ML方法

.......

但是你要知道,NAHNES数据是横截面调查,心血管病的结局,可能患者已经几十年前就有心血管病了,而什么尿液血样的什么VOCs暴露都可是现采现分析,用他们来预测心血管病,靠谱不?

我这里面还找到了一些有意思的指标,它21个预测因素,用于训练和构建ML模型包括高血压、年龄、SBP、DBP、性别、PIR、BMI、T2 MHA、T34_MHA、AAMA、AMCC、AT。。)。“我看到了SBP和DBP,收缩压和舒张压,可能我顾弱寡闻,最后这两个高度相关性的东西凑在一起了。似乎也不太合适。

我觉得吧,建模就得有目的,你要预测心血管病发生,病例对照的研究设计总的要吧,当然前瞻性设计更好。Nhanes数据可以做预测,它有死亡的数据。

方法要为正确的设计方案服务,否则就玩偏了.

不过话说回来,现在写文章好像也不太关注什么实际意义,尤其NHANES的文章。这篇文章还真的分析得非常不错,值得大家学习!!!

我也学习了!

公众号后台回复关键词“pdf”,即可获取原文!更多关于临床预测模型与机器学习统计服务,请联系郑老师团队,助教微信:aq566665。


关于郑老师团队及公众号

大型医学统计公众号平台,专注于医学生、医护工作者学术研究统计支持,我们是你们统计助理

郑老师团队开设的医学统计培训课程,各类发文需求都可以满足:
GBD数据库挖掘NHANES数据库挖掘孟德尔随机化方法
真实世界临床研究临床预测模型孟德尔随机化方法
临床试验设计与数据分析重复测量资料分析R语言
量表与中介数据分析Meta分析

2025年将新增R、python机器学习与预测模型、全球老年人纵向健康数据库挖掘、轨迹增长模型课程等。

郑老师统计课程详情介绍

(目前购买统计课程还可参与发表SCI注明我们平台退课程费用的活动,详情扫描下方二维码添加助教微信咨询详情)


详情联系助教小董咨询(微信号aq566665



医学论文与统计分析
本号为高校统计学老师所设,介绍医学论文进展与统计学方法,SPSS分析方法、真实世界研究、R语言与数据挖掘。关注后,发送关键词“33”到公众号就可以获取常见的统计软件比如Spss,sas,PASS(绝对无毒)等
 最新文章