社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

现在流行用机器学习+SHAP法探讨影响因素?请注意这不是因果推断

医学论文与统计分析 • 10 月前 • 291 次点击  
在影响因素研究领域,众所周知,传统回归方法用得最多。机器学习方法也可以用于识别关键预测因子,是否可以应用在影响因素研究中呢?
之前我们就报道过一篇机器学习+Shap分析来做影响因素研究的文章。
影响因素研究只用回归法建模?机器学习+SHAP新套路不妨试一试
2025年8月31日,某团队发表的一篇研究论文,是利用机器学习模型识别关键影响因素并预测心理健康结果。
这项基于14万人的大规模研究成果发表在《Child and Adolescent Psychiatry and Mental Health》(医学2区,IF=4.6)期刊上。我们一起来看看!

江苏省儿童和青少年当前心理健康状况

研究团队在江苏省的 98 个县(市/区)通过随机整群抽样进行了一项横断面调查,共招募 141,725 名学生。

首先,采用流行病学研究中心抑郁量表(CES-D)、广泛性焦虑障碍7项量表(GAD-7)和抑郁-焦虑-压力量表21项(DASS-21)来量化抑郁、焦虑和压力症状,调查了江苏省儿童和青少年的当前心理健康状况。

研究揭示了显著的心理健康差异:抑郁症(14.9%)、焦虑症(25.5%)和压力(10.9%)的患病率显示出明显的性别和地区梯度。

  • 女性在所有条件下的发病率均较高(p < 0.05);

  • 城市地区的风险高于郊区;

  • 心理健康恶化程度随教育阶段升高。

机器学习模型识别关键影响因素

研究者利用五种机器学习模型以识别抑郁、焦虑和压力的关键影响因素,并预测心理健康结果,旨在为这一人群建立快速心理健康评估框架。

1.预测因子筛选

纳入与心理健康结果(定义为抑郁=1,焦虑=1 或压力=1)具有统计学显著关联(p < 0.05)的57个变量。

2.拆分数据集

数据通过“caret”包分为训练集(70%)和测试集(30%)。

3.模型构建

以抑郁、焦虑和压力的判定结果为因变量,57 个研究变量为自变量,在训练集中,应用五种机器学习模型(决策树、朴素贝叶斯、随机森林、KNN、XGBoost)来预测研究参与者抑郁、焦虑和压力的阳性结局。

采用交叉验证和网格搜索优化超参数。

    4.模型性能评估

    模型性能使用 AUC 评估,AUC 是二元分类任务的关键指标。

    另外,通过混淆矩阵在测试集上进行评估,计算准确率、精确率、召回率、F1 分数。

    结果显示,XGBoost 模型在所有结局上 表现出最优的预测性能,优于其他模型。

    • 抑郁:AUC=0.799,准确率=0.864,F1=0.925;

    • 焦虑:AUC=0.770,准确率=0.779,F1=0.865;

    • 压力:AUC=0.762,准确度=0.894,F1=0.943。

    5.特征重要性分析

    方法1:Gain(增益)

    使用XGBoost 模型,提取了 57 个自变量的 Gain 值,得到前5个特征变量:

    • 抑郁症:欺凌持续时间>年龄>饮酒史>欺凌地点>被嘲笑;

    • 焦虑:年龄>欺凌时间>被嘲笑>饮酒史>性别;

    • 压力:欺凌持续时间>饮酒史>年龄>身高>被嘲笑。

    方法2:SHAP Value

    为了验证结果的稳定性,进行基于SHAP值的特征重要性分析,提取抑郁、焦虑和压力的前5个重要特征变量:

    • 抑郁症:年龄>饮酒史>早餐频率>性别>欺凌时间;

    • 焦虑:年龄>性别>饮酒史>早餐频率>被嘲笑;

    • 压力:饮酒史>性别>年龄>欺凌时间>早餐频率。

    综上所述,本研究将欺凌、年龄和饮酒史识别为江苏省儿童与青少年心理健康的重要危险因素。研究结果强调需在学校开展反欺凌项目、提供按年龄分层的心理咨询并开展健康生活方式教育(包括拒绝饮酒)。

    值得注意的是,SHAP 分析将早餐频率识别为一个可干预的关键因素,应将诸如每日吃早餐等生活行为纳入促进心理健康的饮食干预。

    老郑小评

    机器学习模型的“黑箱”特性阻碍了解释性,探讨影响因素研究中,基本上要结合SHAP分析。

    很多人认为机器学习算法难度高=高级,但机器学习算法就一定优于传统回归方法吗?

    • 其实不然,机器学习的优势在于它能够处理复杂的非线性关系和高维数据。 但其往往存在过拟合、其结果不易解释、可视化效果不如传统模型,在临床上应用也存在一些阻碍。

    • 通过回归构建的列线图作为一种强大的临床决策辅助工具,以其直观、易用、全面的特点,为医生们提供了极大的便利。

    今天这篇文章,样本量大、预测变量(自变量)多的情况确实更适合用机器学习来做预测任务。

    但是大家一定要注意,这种关联与预测的分析,其实不算是因果推断,即便是认为独立的影响因素,也不应该认为是一种因果分析。

    不要误把“重要性”当成“因果性”:变量重要性(Gain、SHAP)只表明与预测有关,不一定是因果因子。

    像年龄这样的因子,如果作为只是一个预测因子,而非一个所谓存在着因果关系的因子,这样的影响因素研究,其实没有太多意义。

    机器学习当然可以进行因果推断, 但通过SHAP法所开展的工作,产生的只是预测因子。

    参考文献:Xin Y, Wang Y, Zhang X, Li P, Yang W, Wang B, Yang J. Machine learning-based analysis and prediction of factors influencing mental health among children and adolescents in Jiangsu Province. Child Adolesc Psychiatry Ment Health. 2025 Aug 31;19(1):100. doi: 10.1186/s13034-025-00959-5. 

    预告:我们将在9月份底开启高级统计课程,“机器学习与因果推断训练营”,为期3个月,进行“督导式”学习,有兴趣可以和郑老师团队联系吧。


    关于郑老师团队及公众号

    全国较大的医学统计服务平台,专注于医学生、医护工作者学术研究统计支持

    郑老师团队可以提供诸多统计支持:

    各式统计课程临床试验设计

    构建预测模型与真实世界研究

    1对1 R语言指导 医学数据库挖掘


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

    图片

    Python社区是高质量的Python/Django开发社区
    本文地址:http://www.python88.com/topic/186558