对急性肝功能衰竭数据进行预测

背景描述

肝硬化是指疤痕组织替代健康的肝组织。这会阻止肝脏正常工作。肝硬化是长期的(慢性肝病或急性肝衰竭)。在严重的情况下,肝脏受损严重,以至于停止工作。这称为肝衰竭。

根据病理组织学特征和病情发展速度,肝衰竭被分为四类:急性肝衰竭(ALF)、亚急性肝衰竭(SALF)、慢加急性(亚急性)肝衰竭(ACLF)和慢性肝衰竭(CLF)。

目前在我国,引起肝衰竭的主要病因仍然是肝炎病毒(主要是乙型肝炎病毒,约占80-85%),其次是药物或肝毒性物质(如酒精、化学制剂等);而在欧美国家,药物是引起急性、亚急性肝衰竭的主要原因,酒精则常导致慢性肝衰竭。另外妊娠急性脂肪肝、自身免疫性肝病、寄生虫感染等也可导致肝衰竭的发生。


数据说明

数据来自Kesci。

自1990年以来,JPAC健康诊断和控制中心对印度成年人进行了全国范围的调查。该中心利用训练有素的人员,通过直接访谈、检查和血液样本收集了各种人口和健康信息。数据集包括来自 2008-2009 年和 2014-2015 年调查中 8785 名 20 岁或以上成年人的选定信息。

数据理解

理解每个字段的含义,通过基于业务的观察,对字段进行分类,好处是大致能判定该字段与最终做预测字段存在什么样的关系。至于相关性的强弱,则需要进一步的计算。



项目目的

找到相关性比较大的变量,对急性肝衰竭ALF进行预测。

评价标准

虽然项目要求中并未给出具体评价标准。但ALF作为一个二分类变量,适合使用precisio_recall_curve和ROC曲线作为评价标准。且ROC曲线不受样本不均衡的影响。




一、数据的预处理


数据缺失预览

导入数据后发现,众多字段存在缺失值。同样都是疾病诊断结果指标的肝炎、慢性疲劳、高血压、等缺失比较多。一般认为这些指标与ALF相关性值会比较大。不能一律删除,不能不处理,也不能一概填充平均值或中位数。

几个近似的,如高血压、最高血压、最低血压;体重、升高、体重指数等存在差异比较大的缺失情况。比价必须结合实际情况对字段进行特定处理。

首先必须删除对本项目目的没有太多作用的字段。个人认为素质指标下的所有对本项目目的没有太大作用。

缺失值的填充

1.填充经过线性回归后得出的值。 针对部分字段的值之间存在着某种较强相关性。例如,体重和腰围都有,但是没有身高。如果用平均值或者中位数填入,可能不具有现实意义,和真实值相差太多。通过没有缺失值的个案计算出方程,预测缺失值。

2,填充平均值或中位数。 例如体重、身高、腰围中两个及以上缺失,填充相同年龄相同性别的平均值。

3,通过二分类。 最低血压、最高血压可根据是否为高血压选取高血压段或正常血压下的平均值,是否为高血压则通过最高血压和最低血压有有无超出阈值进行分类得出。

血脂异常和胆固醇的缺失值,由于个案数量不多,约1%,直接删除。

肝炎和家族肝炎、慢性疲劳缺失的可删除。


没有缺失值 且 舍去素质指标 的数据

导入spss建立线性回归。


以体重、身高和腰围为例。一般认为这三种存在着比较大的线性关系。

导致腰围变化的原因中,体重和身高起到了82.5%的作用。体重和身高的变化导致腰围的变化显著性明显,p<0.001;腰围和体重正相关,和身高负相关。Durbin-watson值为1.983,变量之间互相独立。VIF为1.264,远小于5,多重共线性很小。残差基本符合正态分布。回归方程可建立:

腰围=102.656+0.787*体重-0.407*身高

同理:

身高=174.4+0.663*体重-0.614*腰围

体重= -118.947+0.582*身高+1.041*腰围


填充身高、体重、腰围、最高最低血压、高血压缺失值

筛选出最终用于分析的数据


舍去素质指标项集部分生化功能指标 且 填充完缺失值 并 删除肝炎、慢性疲劳缺失值的数据

二、数据探索分析

计算所有特征与目标值ALF的相关系数。初步了解那些字对最终肝衰竭起到比较大的影响作用。


切分数据集,把ALF含有缺失值的划分到最终预测集data_ALF_test。ALF含有缺失值的划出15%做测试集。

由于ALF变量值为0或1,适用逻辑回归分析或KNN分析。

在不确定哪些特征较为关键,设多个阈值,分别是0.01,0.05,0.06,0.1,0.15,0.2;

训练模型

特征选择

虽然已经手动对特征值进行了筛选,去除了一些素质指标。但保留的特征,依然不是每个都和目标值有强相关。例如有些特征值本身的方差很小,对其引入之后对结果影响不大。

使用逻辑回归,寻找最合适的阈值

使用逻辑回归分析,从以上值来看,阈值在0.15时,特征选取 年龄、最高血压、PVD、高血压、糖尿病、肝炎、慢性疲劳 时,模型评分最高。

使用KNN分析,寻找最合适的阈值和K值



在相同的阈值下, 对K值进行修改,选取临近1-30个目标,发现在阈值为0.05时,K值设置为11时,能达到最高的评分。错误率最低。

经过上一步的模型训练,找到了最优的参数,接下去就是进行模型评估了。

模型评估

KNN表现


阈值选择0.05,K值选择11


阈值选择0.05,K值选择15

基于对于预测的目的的理解,医疗工作者更希望的是能在有限的诊断数据条件下,判定患者患病的可能性。也就是宁可错杀,不能有漏网之鱼。在更接近患病的可能的时候,对患者说明患病,让其做更详细的检查为上上之选。

也就是模型精确度更高,召回率也更高。对比了下同样阈值选择0.05时,K值选择15,精确度、召回率更高,模型也更稳健。

逻辑回归表现

阈值选择0.05

逻辑回归f1评分、精确率和召回率都不及KNN分析。

三、预测ALF值

KNN分析更适合做本项目的预测。

最后将ALF缺失的data_ALF_test最终测试集标准化,然后筛选阈值为0.05时候的特征。K值调为15。得出结果。


四、项目评价

ROC曲线

虽然我们已经知道了阈值大于0.05时,22个特征会对ALF的结果产生影响。但是我们并不知道每个特征作为影响因子,ALF变量对它们的敏感度如何。


原已告知的ALF值的 ROC曲线

从图中我们可以看出,ALF对年龄、高血压、最高血压、肝炎、糖尿病、腰围、PVD、饮酒、慢性疲劳敏感度较高,且这些诊断变量的诊断正确性在50%以上(或称敏感度),并且p<0.05,具有统计性意义。


预测ALF结果的ROC曲线

预测ALF结果的结果变量对诊断变量的敏感性排名和和之前的相似,且本曲线中PVD更高,只是在诊断变量诊断结果的正确性上大了点。




总结:

在现有的数据中。人的年龄、高血压、最高血压、肝炎、糖尿病、腰围、PVD、饮酒、慢性疲劳对ALF的最终确诊起到了关键性的影响。每单独项都有50%以上的影响力针对ALF。ALF对年龄敏感性最高,肝炎是第二大影响因子,高血压和糖尿病影响力也相对较高。当年龄高于70.5岁,腰围大于89,同时是高血压、糖尿病、肝炎、PVD患者,平时爱喝酒,会大大增加患急性肝衰竭的可能性。

综上所述,为了避免ALF的发生,避免肝炎病毒的侵袭,养成良好的生活习惯,少喝酒、避免慢性疲劳可减少ALF的发病几率。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,254评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,875评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,682评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,896评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,015评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,152评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,208评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,962评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,388评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,700评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,867评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,551评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,186评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,901评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,689评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,757评论 2 351