最近多关注机器学习的文章,感觉多种机器学习+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。