首先让我们按照常规套路,简单看一下这篇文章!
研究设计流程
在该项研究中,研究团队使用了去身份化电子健康记录(EHR)数据,纳入老年患者。
本研究旨在基于8种机器学习法和SHAP法,构建可解释机器学习预测模型,以评估风险因素并预测老年心合并高血压患者的住院死亡率。
√缺失数据的处理
研究中所有变量的缺失数据比例均保持在30%以下,使用K-最近邻(KNN)分类算法对缺失数据进行处理。
√变量筛选
使用LASSO法在44个变量中筛选出9个最佳预测因子,包括年龄、住院时间(LOS)、中性粒细胞(Neu)、尿素、Cl、活化部分凝血活酶时间(APTT)、白细胞(LEU)、白蛋白和HDL胆固醇。
√模型的构建
在处理完缺失数据后,使用随机分层抽样将数据集分为训练集(70%)和测试集(30%)。
对于训练集,采用随机欠采样和SMOTE(合成少数过采样技术)混合处理,以解决正负样本不平衡的问题;
同时进行五次交叉验证,以确定八个ML模型的最佳超参数。
基于LASSO法筛选出的9个关键预测因子,用8种机器学习法(随机森林[RF],外部梯度提升[XGBoost],分类提升[CatBoost],光梯度提升机[LightGBM],支持向量机[SVM],决策树,梯度提升分类器和人工神经网络[ANN])构建预测模型。
√模型的评估
采用多个指标评估模型的最佳性能,包括准确性、受试者工作特征(ROC)曲线的曲线下面积(AUC)、召回率、特异性和Brier评分。
研究结果表明,RF模型的预测性能最佳,其AUC值为0.850(95% CI 0.789-0.897)。
图1 四种ML模型预测HF和高血压患者住院死亡率的ROC曲线
√模型的解释
使用SHAP法绘制条形图,可视化每个特征对预测模型的重要性;使用LIME局部分析最有效的模型。
研究结果表明,在这8个模型中,与住院死亡率最相关的因素是尿素、LOS、Neu、白蛋白、高密度脂蛋白胆固醇(重要性排序略有差异)。
而相似RF模型测试集的SHAP解释力图中,研究团队发现,随尿素、Neu、LOS、APTT、年龄、LEU增加,患者的死亡风险增加;而当白蛋白、高密度脂蛋白胆固醇和氯离子升高时,死亡的风险却下降。
图2 四种ML模型预测HF和高血压患者住院死亡率的ROC曲线
老郑有话说
临床预测模型包括诊断模型和预后模型。
诊断模型的预测目标是人群在当前时间点患有某种特定结果或疾病的概率,其重点关注当前状态。
预后模型估计个体在将来特定时间内(可以是今后几小时甚至几年)发生某种结局的概率。预后模型不仅限于特定疾病患者的结局,也可以是非患病人群发生某种结果的风险预测。
显然,本文通过机器学习构建了预后预测模型。
对于预后模型,特别注意不能纳入结局的结局,我们必须仅包括在结局事件发生之前以及研究开始的基线预测因子,即做出预测时可获得的信息。
而在本文中,研究团队基于临床经验与相关的前沿文献,结合纳入和排除标准,得到44个相关变量。
使用LASSO法筛选预测因子,得到9个最佳预测因子,包括年龄、住院时间(LOS)、中性粒细胞(Neu)、尿素、Cl、活化部分凝血活酶时间(APTT)、白细胞(LEU)、白蛋白和HDL胆固醇。
值得注意的是,研究团队把住院时长(LOS)作为预测变量纳入模型,来预测患者住院的死亡率,相信各位能看出这是不合理的。
“住院时长LOS”是在患者办理出院时获取,而并非在基线时获得;另外,办理出院时就是获得患者是否发生院内死亡的时间点。
老郑已经看到好多文章,将住院时长作为预测因子。
预测变量与预测结局在同一时间点获得,在这样的临床场景下,死亡结局的事件获得,随着变量的获得而自然呈现,住院时长是临床结局的结局,不需要该文章提出的预测模型进行额外的预测,也不应该纳入模型。
一定要明确:我们的科研数据不是为了建机器学习模型,而是为了有一定的临床应用,没有临床意义的模型,是没有价值的。
参考文献:
[1]莫航沣,陈亚萍,韩慧,等.临床预测模型研究方法与步骤[J].中国循证医学杂志,2024,24(02):228-236.
[2]Efthimiou O, Seo M et al. Developing clinical prediction models: a step-by-step guide BMJ 2024; 386.