华为杯第二十届中国研究生数学建模

出血性脑卒中临床智能诊疗模型研究

摘 要

        出血性脑卒中是非外伤性脑内血管破裂导致的急性疾病。出血性脑卒中起病急、进展快,急性期内高达45-50%的病死率和约80%的严重神经功能障碍率,给患者家庭及社会带来沉重的健康和经济负担。值得注意的是,血肿范围扩大和血肿周围水肿是预后不良的重要危险因素,因此,早期识别和控制可显著改善患者预后和生活质量。本文将围绕出血性脑卒中临床智能诊疗建模问题展开研究,探索患者血肿扩张风险、血肿周围水肿发生及演进规律,建模实现精准个性化的疗效评估和预后预测。

         针对问题一血肿扩张风险相关因素探索建模。第一部分利用影像检测时间点和血肿体积数据,旨在预测血性脑卒中患者发病后的48小时内是否会发生血肿扩张事件。首先,提取了关键特征,包括“各时间点流水号”和“HM_volume”。随后,进行了数据分布特征分析,并考虑了线性和非线性建模方法。接下来,利用这些特征构建了合适的模型,以拟合血肿体积与检查时间点的关系,从而准确预测出48小时内每0.1小时的血肿体积,以便进一步判断血肿扩张情况。第二部分以血肿扩张事件为目标变量,基于患者的个人史、疾病史、治疗史和影像检查等信息,旨在预测患者发生血肿扩张的概率。在这个过程中,经过了严格的数据完整性和可用性验证,筛选出与目标变量强相关的特征,并建立了高效的预测模型。通过对多个性能指标的综合比较,选择了最佳算法,以准确估计患者发生血肿扩张的概率。这项研究具有实际意义,可为脑卒中患者的早期干预和治疗决策提供有力支持。

        针对问题二血肿周围水肿的发生及进展建模。首先,采用极端树回归对所有患者水肿体积和对应时间进行拟合;其次,为得到患者所属亚组,基于FCM聚类算法对患者信息进行聚类,同时,引入PCA和t-SNE对聚类结果进行分析,选取最佳类簇数,对各类簇分组拟合回归,最终得到预测值与真实值的残差结果;然后,为分析不同治疗方法对水肿体积进展模式的影响,以7元组的方式表示治疗方法组合,计算每个元组内的平均方差、平均标准差以及第二次检查水肿变化平均值,然后分析各个治疗方式与第二次检查水肿变化平均值的相关性,得出不同治疗方法对水肿体积进展模式的影响;最后,通过7元组的方式计算第二次检查血肿变化平均值,进而分析治疗方式、血肿、水肿三者间的相关性,得到三者之间的关系。

        针对问题三出血性脑卒中患者预后预测及关键因素探索。首先,基于RFE和随机森林进行特征选择,然后基于三种相关性分析剔除相关性较低的特征;其次,设计一种基于OOF-XGBoost的mRS预测模型,有效提高模型泛化性;然后,分别对首次影像和增加随访结果的数据进行预测,分析对比预测结果;最后,基于shap分析预后特征关联性。

关键词:mRS预测;多项式回归;自组织映射神经网络;极端随机树;XGBoost;FCM;PCA;t-SNE;RFE;随机森林

  • 问题一的求解

问题一建模思路

血性脑卒中后,血肿范围扩大是预后不良的重要危险因素之一。因此,预测血肿扩张发生的概率以及对相关风险因素的探索,是出血性脑卒中临床智能诊疗建模中的重要环节。本题主要分为两个部分,第一部分为预测患者在48小时内是否发生血肿扩张以及时间点,第二部分为预测所有患者血肿扩张发生的概率。

第一部分:根据发病到首次影像检查时间间隔、各影像检查时间点以及对应的血肿扩张体积预测是否发生血肿扩张事件。通过分析,患者血肿体积随时间呈非线性变化,如果发生扩张事件,时间点很可能在两次影像检查点区间内,故采用多项式回归方程去拟合患者的血肿体积变化曲线,插值计算出48小时内的血肿体积,与阈值对比判断出是否发生血肿扩张。具体建模思路如下:

  1. 首先,从表1、表2中按照时间顺序提取“首次影像检查时间间隔”、“各时间点流水号”以及所对应的“HM_volume”字段信息。
  2. 然后,计算每个患者每次影像检查距离发病的时间,并转化为二维数组。
  3. 最后,统计数据分布特征,从非线性角度考虑适合的多项式回归方程拟合血肿体积与影像时间点的变化曲线,从而预测患者在48小时内的血肿体积变化情况(是否存在时间点所对应的血肿绝对体积增加≥6mL或相对体积增加≥33%)。

第二部分:通过患者的个人史、疾病史、治疗史及影像检查等信息预测患者发生血肿扩张的概率。患者血肿扩张事件的发生源于多方面,通过建模从患者多方面信息中发掘相关较强的因素,并利用模型对所有患者48小时内发生血肿扩张的概率进行预测。具体建模思路如下:

  1. 首先,按照患者ID提取所需的数据,并利用Python工具对数据进行探索性分析,并查看缺失值和异常值。
  2. 然后,利用相关性算法分析出与目标变量相关性较强的特征。
  3. 最后,构建合适的模型(自组织映射神经网络、支持向量机、随机森林、孤立森林、梯度提升树等)进行训练并依据准确率、精度、召回率和F1分数对比选择最优算法,从而预测出患者发生血肿扩张的概率。

数据预处理与相关性分析

数据集说明

        数据集中提供了160例出血性脑卒中患者的“ID”、“入院首次影像检查流水号”等相关信息,其中包括训练集100例,测试集60例。表1主要为患者列表及临床信息,表2主要为患者影像信息血肿及水肿的体积及位置,表3主要为患者影像信息血肿及水肿的形状及灰度分布。具体字段如表2-4所示,具有相同含义的字段不重复罗列。

序号

Features(基础信息)

Features(发病相关特征)

Features(治疗相关特征)

1

年龄(岁)

血压(毫米汞柱)

脑室引流(0/1)

2

性别(男/女)

发病到首次影像检查时间(小时)

止血治疗(0/1)

3

Ø脑出血前mRS评分

(0-6,有序等级变量)

降颅压治疗(0/1)

4

Ø高血压病史(0/1)

降压治疗(0/1)

5

卒中病史(0/1)

镇静、镇痛治疗(0/1)

6

糖尿病史(0/1)

止吐护胃(0/1)

7

房颤史(0/1)

营养神经(0/1)

8

冠心病史(0/1)

9

吸烟史(0/1)

10

饮酒史(0/1)

序号

Features(血肿及水肿的体积及位置)

1

每个时间点血肿总体积(10-3ml

2

每个时间点水肿总体积(10-3ml

3

Ø左右侧大脑前动脉

(ACA_L,ACA_R)

4

Ø左右侧大脑中动脉

(MCA_L,MCA_R)

5

左右侧大脑后动脉(

PCA_L,PCA_R)

6

左右侧脑桥/延髓

(Pons_Medulla_L,Pons_Medulla_R)

7

左右侧小脑

(Cerebellum_L,Cerebellum_R)

序号

Features

(血肿及水肿的形状及灰度分布)

1

血肿形状

2

血肿灰度特征

3

水肿形状

4

水肿灰度特征

数据预处理

数据集可能存在缺失值、异常值和分布差异等问题,无法直接进行建模。为了改善数据质量、提高后续模型预测结果的可靠性,必须对数据集进行预处理操作。结合题目要求,对数据预处理分为字段特征提取、数据清洗和数据标准化处理三个部分。

  • 字段特征提取

按照题中要求,从表1、表2中按照时间顺序提取“首次影像检查时间间隔”、“各时间点流水号”以及所对应的“HM_volume”字段信息。然后,计算每个患者每次影像检查距离发病的时间,并转化为二维数组,得到前100例患者所有影像检查时间点的血肿总体积、距离发病时间列表。共提取653条数据,具体如表5所示。

表5 前100例患者所有影像点及对应的血肿总体积、距离发病时间表(部分)

患者ID

流水号

HM_volume(10-3ml

距离发病时间(小时)

sub001

20161212002136

69714

2.5

sub001

20161213000009

74902

8.3

sub001

20161218000100

70952

132.1

sub001

20161223001020

62831

259.7

sub001

20161230000574

44029

425.5

sub002

20160406002131

47500

3

sub002

20160407000424

52271

14.9

sub002

20160409000953

47748

69.2

sub002

20160425000901

13055

448

sub002

20160523000682

20

1119.2

sub003

20160413000006

86396

2

sub003

20160413000428

106042

9.5

sub003

20160414001379

103263

39.6

……

  • 数据清洗

        首先,通过数据探索性分析统计数据集中缺失值的分布情况,所提取的数据并未存在缺失值的情况,故不做处理。然后,为了确保后续预测结果的准确性,训练数据必须符合实际情况,利用箱型图查看数据集中的离群点,并且依照公式:平均值+-3*标准差来判断异常值。
        其中,大部分字段都为数值型,但“性别”和“血压”两个字段需要清洗处理。使用map函数将性别中的“男/女”分别转换为“0/1”,而“血压”字段拆分为“高压”和“低压”字段,结果仍然保持原有数值型。

  • 数据标准化处理

        数据的标准化(Normalization)将原始各指标数据按比例缩放,去除不同属性数据的单位限制,将其转化为无量纲的纯数值。StandardScaler是一种用于数据预处理的常用技术,它的主要目标是将数据转换为均值为0,标准差为1的标准正态分布(也称为标准化或Z-score标准化)。这个过程有助于消除数据中的尺度差异,使不同特征的值可以在相同的尺度上进行比较,有助于加快模型训练时的收敛速度和提高模型预测的精准度。StandardScaler的原理概述如下。

经过标准化处理后,每个特征的均值变为0,标准差变为1,从而使数据集的特征分布接近标准正态分布。

血肿扩张风险因素相关性分析

        为了提高模型预测的准确性,通过计算各个特征与“是否发生血肿扩张事件目标变量”之间的的相关系数,选择与相关性较强的影响因素,剔除绝对值相关性系数小于0.1的特征,减少数据冗余,提高模型的精度。

        Pearson相关系数是最常用的相关系数之一,是一种线性相关系数。将系数记为r,用来反映两个变量X和Y的线性相关程度。r值介于-1到1之间,绝对值越大表明相关性越强,r约接近于0,相关性越弱。若系数为负值,则呈负相关,系数为正,呈正相关,计算方式如下:

        当数据预处理完成后,选择有意义的特征加入模型进行训练。从两个方面考虑来选择特征:(1)特征是否发散:如果一个特征不发散,这个特征对于样本的区分没价值。(2)特征与目标的相关性:与目标相关性高的特征,应当优先选择,从数据集中各特征变量的相关系数矩阵热力图中可以体现,如图4-3所示。

根据特征选择的形式将特征选择方法分为3种:

Filter:过滤法,不用考虑后续学习器,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。

Wrapper:包装法,需考虑后续学习器,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。

Embedded:嵌入法,是Filter与Wrapper方法的结合。先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。

采用使用sklearn中的feature_selection库来进行特征选择。基于树模型的特征选择法树模型中GBDT可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型来选择特征。

基于多项式回归的血肿扩张预测模型

根据发病到首次影像检查时间间隔、各影像检查时间点以及对应的血肿扩张体积建立模型,预测是否发生血肿扩张事件。通过分析患者的血肿扩张总体积与影像检查时间的变化趋势,用二维坐标系构建两者的关系,可以发现每个患者的影像检查次数和时间点不一致,如图1所示。从线型关系变化的角度考虑,患者血肿体积随时间呈非线性变化,采用线性回归方程拟合变化会出现较大的误差,并且血肿扩张发生的时间点很可能在两次影像检查点区间内。

从数据特征整体分布的角度考虑,如果用一个模型拟合所有的数据,同样也会出现较大的误差,因为数据存在个体差异性,“年龄”、“性别”、“吸烟史”和“饮酒史”等字段会影响患者在发病后出现不同速率、方向的变化趋势。

综上所述,为有效找到患者准确的血肿总体积,采用多项式回归的方法拟合患者的血肿体积变化曲线,值得注意的是,采用分组拟合的思想,为每位患者分别拟合独立的模型,保持个体差异性。最后,求解拟合的模型用插值的方式计算出48小时内的血肿体积,与阈值对比判断出是否发生血肿扩张。

需要完整文档请下载或联系以下vx

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

VIT19980106

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值