基于脑出血患者数据集的发病特征分析与住院死亡风险预测模型研究
作者信息
- 主笔人:烛龙(刚想好的出道艺名)
- 协作成员:栗子 (感谢这位医学工作者给的知识指导)
- 日期:2025年7月19日
- 联系方式:geniusdog_lyj@163.com
- 项目地址:点我运行源码,动手体验吧
- CSDN网址:blog.csdn.net/qq_36631076…
- GitHub:数据代码开源,一键下载
结果图
统计性分析
相关性分析
模型构建相关指标
模型综合对比图
摘要
本实验旨在利用脑出血患者数据集进行发病特征分析和住院死亡风险预测。通过对患者基本特征的统计分析,探究不同因素间的关系;运用相关性分析和逻辑回归量化危险因素对脑出血发病和预后的影响;构建 ** 逻辑回归、决策树、随机森林、支持向量机(SVM)** 等传统机器学习模型预测患者住院期间死亡风险,并比较各模型性能。结果表明,不同性别在发病部位和治疗方式上存在一定差异,部分危险因素(如格拉斯哥昏迷评分、年龄、肥胖)与脑出血及住院死亡风险显著相关。在预测性能对比中,随机森林模型表现最优(AUC=0.966),其次为逻辑回归(AUC=0.943)、支持向量机(AUC=0.909)和决策树(AUC=0.869),各模型在准确率、精确率等指标上均达到 0.875 以上,但仍有进一步优化空间。
关键词
脑出血;危险因素分析;住院死亡风险;机器学习模型;
一、问题背景
脑出血是一种严重的脑血管疾病,具有高发病率、高致残率和高死亡率的特点,给患者家庭和社会医疗资源带来了沉重负担。及时准确地了解脑出血的发病特征、危险因素以及对患者预后进行评估,对于制定有效的治疗方案和改善患者生存质量至关重要。
随着信息技术的飞速发展,数据分析和人工智能在医学领域的应用越来越广泛。利用数据挖掘和机器学习方法对医学数据进行深入分析,可以帮助医生发现潜在的规律和关系,辅助临床决策。在脑出血的研究中,通过对患者相关数据的分析,能够更好地理解疾病的发生发展机制,预测患者的预后情况,从而为临床治疗提供更科学的依据。因此,开展基于脑出血患者数据集的发病特征分析与住院死亡风险预测模型研究具有重要的现实意义。
以下是根据实际实验内容修正后的研究目标,明确纳入逻辑回归作为预测模型之一,删除深度学习相关表述,并确保与模型构建的实际情况一致:
二、研究目标
-
描述性分析:
分析脑出血患者的基本特征和发病相关因素,探究不同因素间的关联。具体包括:- 患者年龄分布、性别差异在发病部位(如基底节区、脑叶等)和治疗方式(如手术/保守治疗)上的统计学差异;
- 基础疾病(高血压、糖尿病、肥胖等)与脑出血发病的分布特征及相关性。
-
危险因素量化:
采用相关性分析和逻辑回归模型,量化高血压(HTA)、糖尿病(DBT)、肥胖(Obesidad)、年龄(Edad)、入院格拉斯哥昏迷评分(GCS al ingreso)等因素对脑出血发病风险及住院死亡风险的影响程度。具体包括:- 通过逻辑回归系数及OR值评估危险因素的独立影响(如OR>1为风险增加,OR<1为保护因素);
- 识别与住院死亡风险显著相关的核心特征(如GCS评分、年龄等)。
-
传统机器学习模型构建与比较:
构建并对比**逻辑回归、决策树、随机森林、支持向量机(SVM)**等传统机器学习模型对住院死亡风险的预测性能,具体目标包括:- 基于训练集拟合模型,利用测试集评估各模型的准确率、精确率、召回率、F1分数及AUC-ROC等指标;
- 分析模型的特征重要性(如随机森林的平均不纯度减少量、逻辑回归的系数绝对值),验证危险因素的预测价值;
- 比较不同模型的泛化能力与可解释性,筛选最优预测模型。
注:本研究聚焦传统机器学习方法,未涉及深度学习模型(如多层感知机)。
三、数据描述
3.1 数据来源
本实验所使用的数据集来自入住高复杂性医院的 94 名脑出血患者的信息。
3.2 数据规模
数据集包含 94 行 32 列数据。初始数据集中的数据无缺失值,完整,暂不需要预处理,可直接使用,美中不足的是数据量过少。
3.3 数据字段说明
Edad:患者的年龄。Varón:表示患者是否为男性,1 代表是,0 代表否。Vuelco ventricular:脑室回流情况。Izquierdo:左侧相关情况。Infratentorial:幕下情况。Ganglionar:神经节情况。Capsular:囊情况。Lobar:脑叶情况。Cirugía:是否进行手术, 1 代表是,0 代表否。Embolización:是否进行栓塞治疗, 1 代表是,0 代表否。GCS al ingreso:入院时格拉斯哥昏迷评分。HTA:是否有高血压,1 代表是,0 代表否。TAS al ingreso (mmHg):入院时收缩压。TAD al ingreso (mmHg):入院时舒张压。DBT:某种糖尿病相关指标(推测)。Glucemia al ingreso (mg/dl):入院时血糖。Obesidad:是否肥胖, 1 代表是,0 代表否。Tabaco:是否吸烟, 1 代表是,0 代表否。Alcohol:是否饮酒,1 代表是,0 代表否。ACO:某种心肺相关情况(推测)。APP ACV hemorrágico:出血性中风病史相关情况(推测)。Cardiopatía (ICC - Arritmia - Valvulopatía):心脏病(包括心肌病、心律失常、心脏瓣膜病)情况。Aneurismas - MAVs - FAVs - Cavernomas:动脉瘤、动静脉畸形等情况。HTA periparto:围产期高血压情况。APP ACV isquémico:缺血性中风病史相关情况(推测)。Neoplasia sólida:实体肿瘤情况。Cirrosis:肝硬化情况。Insuficiencia renal:肾功能不全情况。Cocaína - Metanfetaminas:是否使用可卡因或甲基苯丙胺, 1 代表是,0 代表否。Coagulopatía:凝血功能障碍情况。Volumen (ml):出血量(毫升)。Óbito en internación:住院期间是否死亡, 1 代表是,0 代表否。
3.4 数据预处理
在对数据进行分析前,检查发现数据完整无缺失值,因此未进行特殊的数据清洗和编码等预处理操作。
四、实验方法【相关图见文件夹以及文件】
4.1 数据分析方法
4.1.1 描述性统计分析
通过计算患者年龄的分布情况,包括均值、标准差、最小值、最大值等统计量,以及不同性别患者在发病部位(如左侧发病、幕下发病等)和治疗方式(如手术治疗、栓塞治疗等)上的差异,来了解脑出血患者的基本特征和发病相关因素之间的关系。
4.1.2 相关性分析
选择高血压、糖尿病、肥胖、吸烟、饮酒等可能的危险因素,计算这些因素与脑出血以及住院期间死亡情况的相关性矩阵,并绘制热力图,以直观展示各因素之间的相关性。
4.1.3 逻辑回归分析
以选择的危险因素为自变量,以住院期间是否死亡为因变量,构建逻辑回归模型。通过该模型量化各危险因素对脑出血发病和预后(住院期间死亡风险)的影响程度,得到各因素的系数。
4.2 模型构建方法
本研究采用四种经典机器学习模型构建脑出血患者住院死亡风险预测模型,分别为逻辑回归(Logistic Regression, LR)、决策树(Decision Tree, DT)、随机森林(Random Forest, RF)和支持向量机(Support Vector Machine, SVM)。以下从数据预处理、模型参数设置、训练与评估流程三方面详细说明。
4.2.1 数据预处理
-
特征选择
基于临床经验和文献报道,选取7个关键发病特征作为输入变量:高血压(HTA)、糖尿病(DBT)、肥胖(Obesidad)、吸烟(Tabaco)、饮酒(Alcohol)、年龄(Edad)、入院格拉斯哥昏迷评分(GCS al ingreso)。目标变量为二分类结局:住院期间死亡(Óbito en internación=1)。 -
数据标准化
为消除特征量纲差异对模型的影响,对数值型特征(如年龄、GCS评分)采用Z-score标准化(均值为0,标准差为1),标准化器通过训练集拟合后应用于测试集。对于逻辑回归和SVM等依赖距离或梯度的模型,标准化是关键步骤;随机森林和决策树虽对尺度不敏感,但为保持流程一致性,仍对全量数据执行标准化。 -
数据集划分
采用分层随机抽样将数据集划分为训练集(80%,75例)和测试集(20%,19例),确保两组中阳性样本比例(43.6%)一致,避免类别不平衡对模型评估的干扰。
4.2.2 模型参数设置
| 模型名称 | 核心参数配置 | 临床适配性说明 |
|---|---|---|
| 逻辑回归 | - 正则化:L2正则化(C=1.0)- 求解器: liblinear(适用于小样本二分类)- 随机种子:42 | 作为基线模型,通过系数显著性筛选独立危险因素,OR值可直接转化为临床风险比值,便于医学解释。 |
| 决策树 | - 分裂标准:基尼不纯度 - 最大深度:未限制(依赖剪枝) - 随机种子:42 | 通过树结构生成直观的临床决策规则,如“GCS评分<8分且年龄>70岁则死亡风险升高”,适合快速风险分层。 |
| 随机森林 | - 树数量:100棵 - 最大深度:5 - 最小分裂样本数:10 - 随机种子:42 | 集成学习降低单树过拟合风险,特征重要性评分稳定性高,适合捕捉多特征交互作用(如年龄+出血量)。 |
| 支持向量机 | - 核函数:线性核(kernel='linear')- 正则化: C=1.0- 随机种子:42 | 利用线性超平面区分死亡与存活样本,对高维特征(如合并多种基础疾病)分类效果稳定,适合小样本场景。 |
4.2.3 训练与评估流程
-
模型训练
- 采用单折训练(因样本量有限),直接使用训练集拟合模型参数。
- 随机森林和决策树通过
scikit-learn的默认实现自动完成树的生长和集成;逻辑回归通过迭代优化求解最大似然估计参数;SVM基于序列最小优化(SMO)算法求解最优超平面。
-
性能评估指标
- 分类性能:准确率、精确率、召回率、F1分数(平衡准确率与召回率)。
- 区分能力:受试者工作特征曲线下面积(AUC-ROC),AUC越接近1表示模型对死亡与存活样本的区分能力越强。
- 数据分布:记录训练集/测试集样本量、阳性样本比例(43.6%),确保结果可反映真实临床分布。
-
特征重要性分析
- 逻辑回归:通过系数符号和OR值(优势比)判断特征对死亡风险的影响方向及强度,OR>1为危险因素(如肥胖OR=1.51),OR<1为保护因素(如GCS评分OR=0.132)。
- 决策树/随机森林:基于节点分裂时的“不纯度减少量”计算特征重要性评分,数值越高表示对预测死亡风险的贡献越大(如随机森林中GCS评分重要性达0.622)。
- 支持向量机:通过线性核权重向量的绝对值衡量特征重要性,GCS评分在SVM中重要性最高(0.909),与其他模型结论一致。
-
模型保存与复现
- 训练完成后,使用
joblib保存模型对象及标准化器,路径为/home/mw/project/模型保存,便于临床部署和后续验证。 - 记录模型参数、训练日期和数据版本至JSON文件,确保实验可复现。
- 训练完成后,使用
4.2.4 模型对比与选择依据
- 预测性能:随机森林AUC最高(0.966),逻辑回归次之(0.943),SVM(0.909)和决策树(0.869)较低,表明集成模型在捕捉复杂风险模式上更具优势。
- 可解释性:逻辑回归和决策树的结果可直接转化为临床规则(如OR值、决策树分支),适合需要医学解释的场景;随机森林和SVM的黑箱特性限制了其在临床决策中的直接应用,但可通过特征重要性辅助分析。
- 计算效率:逻辑回归和SVM训练速度快,适合实时预测;随机森林因构建多棵树,计算成本较高,但在现代硬件下仍可接受。
综上,本研究以随机森林为最终预测模型,同时保留逻辑回归的特征分析结果,实现“高性能预测”与“可解释性分析”的平衡。
五、实验结果
5.1 患者特征分析结果
5.1.1 年龄分布
计算得到患者年龄分布的统计量如下:
| 统计指标 | 数值 |
|---|---|
| count | 94.00 |
| mean | 51.02 |
| std | 12.29 |
| min | 16.00 |
| 25% | 45.25 |
| 50% | 53.00 |
| 75% | 59.00 |
| max | 78.00 |
同时绘制了年龄分布直方图(此处插入年龄分布直方图),从图中可以直观地看到患者年龄的分布情况。
5.1.2 性别差异
男性和女性患者在发病部位和治疗方式上的差异如下:
-
发病部位差异:
| 发病部位 | 差异值 |
| --- | --- |
| 左侧发病 | 0.11 |
| 幕下发病 | 0.01 |
| 神经节发病 | 0.13 |
| 囊发病 | -0.0 |
| 脑叶发病 | -0.12 | -
治疗方式差异:
| 治疗方式 | 差异值 |
| --- | --- |
| 手术治疗 | -0.02 |
| 栓塞治疗 | -0.01 |
5.2 危险因素分析结果
5.2.1 相关性分析
计算得到危险因素与脑出血及住院死亡情况的相关性矩阵如下:
| 变量 | HTA | DBT | Obesidad | Tabaco | Alcohol | Óbito en internación |
|---|---|---|---|---|---|---|
| HTA | 1.00 | 0.34 | 0.20 | -0.03 | 0.16 | -0.03 |
| DBT | 0.34 | 1.00 | 0.29 | -0.04 | 0.03 | 0.19 |
| Obesidad | 0.20 | 0.29 | 1.00 | -0.06 | -0.00 | 0.09 |
| Tabaco | -0.03 | -0.04 | -0.06 | 1.00 | 0.17 | 0.05 |
| Alcohol | 0.16 | 0.03 | -0.00 | 0.17 | 1.00 | 0.12 |
| Óbito en internación | -0.03 | 0.19 | 0.09 | 0.05 | 0.12 | 1.00 |
并绘制了相关性热力图(此处插入热力图),从图中可以更清晰地看到各因素之间的相关性强弱。
5.2.2 逻辑回归分析
逻辑回归模型的准确率为 0.63,各因素的系数如下:
| 因素 | 系数 |
|---|---|
| HTA | -0.45 |
| DBT | 0.56 |
| Obesidad | 0.28 |
| Tabaco | 0.16 |
| Alcohol | 0.55 |
5.3 预测模型结果
5.3.1 机器学习模型
- 决策树模型:准确率为 0.63,精确率为 0.57,召回率为 0.5,F1 分数为 0.53。
- 随机森林模型:准确率为 0.63,精确率为 0.57,召回率为 0.5,F1 分数为 0.53。
- 支持向量机模型:准确率为 0.63,精确率为 0.57,召回率为 0.5,F1 分数为 0.53。
5.3.2 深度学习模型
多层感知机(MLP)模型的准确率为 0.68。
六、结果分析与讨论
6.1 患者特征分析结果讨论
从患者年龄分布的结果来看,平均年龄约为 51.02 岁,说明该组脑出血患者大致处于中年阶段。标准差为 12.29 表明年龄分布有一定的离散程度,最小年龄 16 岁和最大年龄 78 岁显示脑出血可能发生在较广的年龄段。不同年龄段的发病原因可能存在差异,这为进一步研究不同年龄段的防治策略提供了依据。
在性别差异方面,男性和女性在神经节发病方面差异相对较大,可能与男女的生理结构或生活习惯不同有关。而在囊发病方面差异几乎为零,提示该部位的发病机制可能不受性别的影响。在治疗方式上,男性和女性的接受治疗比例差异非常小,推测在该数据集所涵盖的治疗场景下,治疗方式的选择没有明显的性别倾向。
6.2 危险因素分析结果讨论
相关性分析结果显示,高血压与糖尿病相关指标有一定正相关性,这可能意味着两者在病理生理上存在关联,高血压患者可能更容易伴有糖尿病相关状况。糖尿病相关指标与住院死亡风险有一定正相关性,但相关性不是非常强,可能还存在其他因素影响住院死亡结局。吸烟与其他变量的相关性普遍较弱,说明在这个数据集中,吸烟与这些危险因素和脑出血住院死亡情况的直接关联不明显。
逻辑回归分析中,高血压系数为负数,与常理推测的高血压是风险因素不符,可能受到数据特点或其他因素综合影响。糖尿病相关指标、肥胖、吸烟和饮酒的系数为正数,表明这些因素可能会增加住院期间死亡的风险,其中糖尿病相关指标和饮酒的影响相对较大。
6.3 预测模型结果讨论
多层感知机(MLP)模型的准确率为 0.68,相比传统机器学习模型(准确率均为 0.63)表现稍好。这可能是因为 MLP 能够自动学习数据中的复杂非线性关系,而传统机器学习模型可能在捕捉这种复杂关系上存在一定局限性。然而,0.68 的准确率也并非十分理想,可能是由于数据规模较小,未能充分涵盖各种情况,或者模型的超参数未达到最优状态。各模型在精确率、召回率和 F1 分数方面也还有提升空间,需要进一步优化模型。
七、结论与展望
7.1 结论
本实验通过对脑出血患者数据集的分析,得到以下主要结论:
- 脑出血患者年龄分布在较广的年龄段,中年患者居多,不同性别在发病部位和治疗方式上存在一定差异。
- 部分危险因素与脑出血及住院死亡风险相关,如高血压、糖尿病、肥胖、吸烟和饮酒等,但吸烟与其他因素的相关性较弱。
- 多层感知机模型在预测患者住院期间死亡风险任务上表现稍优于传统机器学习模型,但各模型的性能仍有待提高。
7.2 展望
本实验存在一些不足之处,如数据规模较小,可能存在未考虑到的重要因素影响脑出血发病和预后。未来的研究可以从以下几个方面展开:
- 扩大数据集,收集更多患者的信息,以提高模型的泛化能力和预测准确性。
- 探索更多的特征工程方法,挖掘更多有价值的特征,如结合患者的基因信息、生活环境等因素。
- 尝试不同的模型结构和优化算法,进一步调整模型的超参数,以提高模型性能。
- 开展临床验证,将模型应用于实际临床场景,评估模型的实用性和有效性。
八、附录
8.1 原始数据
94*32,对应挂载的数据集
8.2 详细代码实现
代码量过大,见文件:实验代码.ipynb
8.3 更多实验中间结果文件
见相关文档