首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习预知“猝死”

这是现感的第14篇文章

作者:Anya 编辑:Sylvia

全文3100个字,看完需要10分钟哦~

一个发生在凌晨4点的上海的故事

叙述人:@潇|37岁 救护车随车医生|上海宝山区

我是一名救护车随车医生。去年接到一位心脏病人,60岁,面色苍白满头大汗,车开出去五六分钟就突然不省人事,赶紧给他电击除颤。电了两次,心电图终于正常。

病人醒了问,“刚才谁打我了?好疼。”

家属说:“不打你你就走了。”

这是最近刷爆朋友圈的文章《凌晨4点的上海》中的一个小故事,它每天都在ICU病房上演。残酷的是,大多数心脏骤停的病人连这句“好疼”都没有机会说出口,就带着遗憾离开了这个世界。

在美国,心脏骤停案例的死亡率高达80%;而在中国,这个数字更加触目惊心——心脏骤停的抢救成功率仅为不到1%。心脏骤停一旦发生,医术再精湛的医生都很难将患者从死亡的边缘拉回来。可是,面对心脏骤停,我们真的就束手无策了吗?在悲剧发生前,我们能做些什么来与命运抗争呢?

科学研究发现,心脏骤停的病人实际上在几个小时之前就已经显露出了发病征兆——病人一般会感觉胸口疼(男士为主),气短(女士为主),晕厥,心悸等(有这种感觉的小伙伴们要注意好好休息啦)。其实这些发病征兆都可以通过医疗数据监测在各项指标中反应出来。

有了这些数据,我们可以利用数据科学技术建立早期预测模型:通过建模,提前干预有潜在危险的对象来降低心脏骤停所致的死亡率。今天跟小性感一起了解一下数据科学家们是如何与NorthShore University HealthSystem合作实现这一想法的吧。

简单来说,数据科学家们在构建模型时使用了支持向量机(SVM,Support Vector Machine)和逻辑回归,筛选出预测指标并建立模型;他们还用到了交叉验证法(cross-validation)对模型进行训练和验证;最后科学家们将新研究出来的模型与医院现有的预测系统MEWS进行对比,发现新的模型比原有的预测系统预测地更早且更准!

提前预知患者发生心脏骤停的概率,一方面可以尽最大可能拯救患者的生命,另一方面也可使医院保证抢救所需设备和资源的提供,以防遇到关键时刻医疗资源却紧缺的情况。希望该模型可以在不久的将来被应用于临床实践中,让我们拭目以待吧!

找数据,如大海捞针

万事开头难,仅是第一步选取数据就难倒英雄汉。科学家们在NorthShore University HealthSystem的电子医疗记录中提取了2006-2011年间13万个病人的数据,发现心脏骤停的患者只占0.05%;在23万余个医疗案例中,仅有815个是心脏骤停——这样零星的数据给预测带来了极大的困难

电子医疗系统中的数据包含的信息有:过去的诊疗记录,病人的身高体重,实时生命体征等等。科学家们整理了心脏骤停的病人的各项指标数据,制作了如下图表:横轴是病人进入急诊室之前的150个时间点,纵轴则是病人们在这个时间点相对应指标的中位数。这个图表清晰地反映出了病人在心脏骤停之前不同时间点上各项指标数据的变化趋势。

△ 所有病人心脏骤停前的

各项指标中位数变化趋势

另外,不同指标的测量频率也不同。科学家们又选取了一个病人心脏骤停前几个不同时间点的5项指标(从上到下依次为:心率,收缩压和舒张压,体温,以及二氧化碳含量),绘制了下面的图表。红色的竖线代表着病人心脏骤停的时间。我们可以看出,心率和血压测量频繁而有规律,但相比之下二氧化碳含量这类指标的测量频率就大大下降。指标之间的差异使得预测模型指标的选择显得尤为重要。

△ 某病人心脏骤停前的五项指标观测

科学家们经过讨论决定采取两步法来解决这个问题: 第一步是衡量这些变量的趋势和短时特征;在得到了结果之后,第二步则是利用标准分类法,如SVM和逻辑回归(文章后面会详细解释哦)对心脏骤停的病人进一步分类

Machine Learning, 就是这么精准

数据科学家们使用了分类的方法来预测患者在未来的h小时内是否会出现心脏骤停。进行预测的时间记为TP,而心脏骤停发生的时间则为TE;TE和TP的差值为h,用以判断心脏骤停可以提前几小时被预测;同时,引入工具变量Yi来表示心脏骤停是否发生:

下面的图是对上述方法的形象解释,蓝色的星星表示心脏骤停发生(Yi=1),红色的星星表示事件并未发生(Yi=0)。在本次分析中,将预测时间和心脏骤停的时间差值h设为 1,2,3,4这四个数(下图中h是2小时),也就是说,我们有四个不同的分类问题。

△ 分类方法示意图

明确问题后,要选择效果最佳的分类方法。基本的分类方法有两种:支持向量机(SVM)和逻辑回归。支持向量机是机器学习算法的一种,基本原理是找到超平面的支持向量来进行分类;而逻辑回归则是一种线性回归模型(两种模型的公式都比较复杂,用到了大量的计算原理,小性感们这里就不做过多解释啦,感兴趣的小伙伴们可以戳链接研究)。

两种方法要选哪一种呢?科学家们选用了F1值作为评价标准。F1是一种衡量测试精确度的方法,数值落在0和1之间,0是最坏的情况,而1则说明模型非常准确。F1的计算公式如下,其中,查全率是被正确预测的心脏骤停与所有心脏骤停案例的比值。

科学家们经过对比两个模型,最后发现,SVM模型分类更精准,而逻辑回归模型得到的结果更加好阐释,两种模型各有利弊。

训练模型,让它更懂你

为了得到可靠稳定的模型,要对模型参数进行训练和验证,数据科学家们用到了交叉验证(cross-validation)的方法。交叉验证就是将原始数据分成两个部分,一部分做为训练集(training set),用来对分类器(classifier)进行训练,得到一组模型参数;而另一部分做为验证集(validation set 或 test set),用来测试训练得到的模型,以此来判断分类器的性能指标。

科学家们这里使用五折交叉验证(5-fold cross-validation)来测试算法的准确性。他们将数据集分成5份,轮流将其中4份作为训练数据,1份作为测试数据进行试验。每次试验都会得出相应的正确率或差错率,5次试验的正确率或差错率的平均值作为对算法精度的估计。

△ 五折交叉验证示意图

选新欢,还是旧爱?

数据科学家建立好模型后还需要对新模型和医院现有的MEWS预测系统进行评价和比较,了解各自的预测效果。究竟SVM、逻辑回归和MEWS系统哪个表现更好呢?

首先让我们来认识四项指标——Recall(查全率),FPR(False positive rate,假阳性率),ROC(Receiver operation characteristics,受试者工作特征)和AUC(Area under the curve,曲线下面积。其中,Recall是预测正确的比值,而FPR与之相反,是预测错误的比值;因此Recall值越高越好,FPR值越低越好。

△ Chris Albon做的

数据科学小抄表(2/300张)

(感兴趣可以戳后台找小性感拿链接或者找大数据文摘的幻化版哟)

下图中,横轴表示预测相较于心脏骤停的时间,纵轴表示Recall或FPR的值。从图中可以看出,SVM模型和逻辑回归模型的预测表现明显好于现有预测模型MEWS;同时,SVM模型的FPR值远远低于逻辑回归模型(Logistic),即使SVM模型的Recall值略高于后者,但二者差异并不显著。因此SVM模型是三者中最优秀的,使用机器学习方法可以使预测提前,好处多多。

△不同模型RECALL和FPR对比

下面的图则是对比了SVM和MEWS在四个预测提前时间下的ROC曲线,即受试者工作特征曲线,以假阳性概率(False positive rate)为横轴,真阳性(True positive rate)为纵轴。ROC曲线越靠近左上角,试验的准确性就越高。同时右侧图例表示各条ROC曲线下的面积即AUC,AUC大的预测效果更佳。

△ SVM和MEWS模型对比

可以看到,SVM模型的ROC四条曲线都集中在左上角,同时曲线下面积均大于同时间的MEWS曲线下面积,也验证了SVM预测效果的优越性,机器学习方法再一次胜出!数据科学家的努力都是值得的。接下来,数据科学家们还将继续优化模型,来实现最佳预测效果,并争取早日应用于临床实践。

结语

拯救生命,大概是数据科学最有意义的时刻了。重要的不只是感动,更多的是凭借我们微薄的努力可以为社会做些什么。希望与心脏骤停相关的数据科学研究能够尽快完善起来,不再让患者在凌晨四点的ICU里与死神搏斗,而是可以预知身体的不适,做生命的掌控者。

资料传送门

https://dl.acm.org/citation.cfm?id=2788588

对chris的数据小抄表感兴趣?戳后台小性感吧

新来的你,快戳图片认识一下我们吧

上周我们分享了用「线性回归模型」

预测长胖的奥秘的分析案例

如果你也对数据科学和公益的结合能产生的巨大能量感到好奇,

就请多多关注我们现感的推文哟,期待你加入进来一起做炫酷的事。

(喜欢的话戳一颗小心心❤️给Anya啦)

来认识一下小性感们吧↓↓↓↓

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180609G1QI5T00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券