基于心脏病患病情况的评估模型研究.docx
《基于心脏病患病情况的评估模型研究.docx》由会员分享,可在线阅读,更多相关《基于心脏病患病情况的评估模型研究.docx(29页珍藏版)》请在冰豆网上搜索。
基于心脏病患病情况的评估模型研究
基于心脏病患病情况的评估模型研究
摘要:
当今社会,科学技术的高速发展给人们带来了许多便利,人们的生活水平得到提高和改善,然而不规律的作息时间正是许多人当下的生活写照,其弊端也逐渐显露。
最为突出的就是心脏病,是死亡率较高的一种疾病,不仅在我国,甚至是世界范围内都对心脏病有着重要的研究。
但是医疗研究是一个繁琐而又复杂的过程,对准确率的要求极为严格,在这种情况下,可以通过使用机器学习完成这个复杂的过程,利用它来研究预测和分析数据。
本文对心脏病患病情况作出研究,通过建立单一的评估模型——Logistic回归模型、K近邻分类、朴素贝叶斯、随机森林,根据模型的评估指标的对比,对模型进行评估分析,结果表明Logistic回归的效果最佳。
关键词:
心脏病;机器学习;评估模型;评估指标
Amodelstudybasedontheassessmentofheartdisease
Abstract:
Intoday'ssociety,therapidgrowthofscienceandtechnologyhasbroughtalotofconveniencetopeople,andtheirlivingstandardshavebeenimprovedandimproved.However,theirregularschedulesarejustaportrayalofmanypeople'slivesnowadays,andtheirdisadvantagesaregraduallyrevealed.Themostprominentisheartdisease,adiseasewithahighdeathrate.Notonlyinourcountry,butevenintheworld,thereareimportantstudiesonheartdisease.However,medicalresearchisacomplicatedandcomplicatedprocesswithextremelystrictrequirementsonaccuracy.Inthiscase,thiscomplexprocesscanbecompletedbyusingmachinelearningtostudypredictionandanalyzedata.Inthispaper,theincidenceofheartdiseasewasstudied.Byestablishingasingleevaluationmodel--Logisticregressionmodel,k-nearestneighborclassification,naivebayes,andrandomforest,bycomparingtheevaluationindicatorsofthemodel,theevaluationandanalysisofthemodelshowsthattheeffectofLogisticregressionisthebest.
Keywords:
Heartdisease;Machinelearning;Evaluationmodel;Evaluationindicators
1引言
1.1研究背景及意义
心脏病(heartdisease)是心脏疾病的总称,包括风湿性心脏病、先天性心脏病、高血压性心脏病、冠心病、心肌炎等各种心脏病。
心脏病是一种常见的疾病,发病的主要原因是因为心脏和血管发生病变,这是世界范围内引起公众健康关注的重大疾病,死亡率最高。
一医学杂志《美国心脏病学会》曾发布一篇研究报告,其研究内容与中国人的心血管健康有关,该报告指出有四分之三的中国人心血管健康状况很不好,这种情况应密切注意、引起重视,然而这已经不是第一次提醒中国人要注意心血管健康的问题。
世界卫生组织估计,全球死于心脏病的人数每年接近有1200万人。
美国和其他发达国家一半的死亡是由于心血管疾病。
心脏病是死亡率极高的一种疾病,它对人们的身体健康有着十分重要的影响。
心血管疾病的早期预测后可以帮助高危患者做出改变生活方式的决定,从而减少并发症。
由于缺乏健康意识和不良的消费生活方式,心脏病患者正在迅速增加,心脏病引起的死亡率极高,人们不断地探索防止和治疗心脏病的方法。
因此,进行心脏病的预测工作,使患者可以及早接受治疗,减少因心脏病而死亡情况的发生,这对于心脏病的研究工作起着重大的作用。
1.2国内外研究现状
1.2.1国外研究现状
PouriyehS,VahidS和SanninoG等人(2017)探讨和比较不同的数据挖掘分类方案,使用集成机器学习技术,预测心脏病的准确性。
采用了决策树(DT)、朴素贝叶斯(NB)、多层感知器(MLP)、k近邻(K-NN)、单连接规则学习器(SCRL)、径向基函数(RBF)和支持向量机(SVM)等不同的分类器。
在此基础上,将分类器、装袋、增强和叠加的集成预测应用于数据集。
实验结果表明,采用该方法的支持向量机性能优于其他方法。
[1]
JabbarMA(2015)认为机器学习和现代数据挖掘方法对预测和分类心脏病很有用。
希望开发一种有效的交替决策树方法来进行心脏疾病的早期诊断。
交替决策树是一种新型的分类规则。
它是决策树、投票决策树桩和投票决策树的推广。
我们已经将我们的方法应用于从海得拉巴不同医院收集的心脏病患者记录。
特征的优化提高了学习算法的效率。
实验结果表明,该决策支持系统具有较高的诊断准确率,在心脏病诊断中具有一定的实用价值。
[2]
1.2.2国内研究现状
岳千(2018)提出心脏病的类别众多、还受到各种因素的影响,当前亟待解决的问题就是怎样加强对心脏病的诊断。
根据上面所提到的,利用BP神经网络算法、支持向量机及随机森林建立心脏病诊断分类器,比较分析他们研究结果,从而得出最佳的分类器。
经过对支持向量机进行集成优化,分类器的分类性能有了明显的改善,这使得医生能够对病情做出更准确的诊断。
[3]
廉翔博(2019)认为如果仅仅依靠人工的提取、集成以及诊断是否患有心脏病,这是一个复杂的过程,甚至是其准确率和效率方面可能都达不到预期的效果。
为了解决这些问题,讨论心脏病的预测工作能否由计算机的辅助来实现,因而这里采用了机器学习的感知机算法来实现,对接受检测人群心血管疾病的有关特征进行分析,根据感知模型的研究分析来确定该疾病是否实现其最终的辅助诊断。
这个研究可以为人工诊断提供更精准更简便的辅助预测,提高其预测的成功概率,减少患者的死亡率。
[4]
王浩瑞(2018)提出机器学习被认为是一门学科,计算机在机器学习中起到的主要作用是根据数据集去构建机器学习算法的概率模型,人们可以进行模型预测和分析新数据,它是处理成千上万数据的一种有效方法,也是一种计算机智能的有效方法。
通过采用k近邻算法(KNN)来分析心脏疾病数据,实现心脏病的在线辅助诊断,该算法的重要性在于一方面可以提高疾病诊断的准确性、实用性;另一方面为辅助医疗人员,降低医疗人员的工作强度。
[5]
刘宇,乔木(2019)指出在临床诊断中会使用机器学习作为辅助手段,使用聚类算法、XGboost算法建立心脏病的预测模型,通过准确率、精确率、与召回率等指标来评价模型分类性能的效果。
实验结果证明,相比于其他算法,XGboost算法有更好的可行性和有效性,能够为医生的诊断提供重要的帮助,对医疗疾病的治疗有重要的意义。
[6]
陆家发,张国明,陈安琪(2017)选取来自UCI的心脏病数据集作为测试集数据,通过机器学习对深度学习技术进行疾病诊断分类,分别与随机森林、支持向量机以及神经网络分类进行对比,值得注意的是,深度学习技术对研究大医学数据的发展有巨大的潜力,并且被证明是非常有价值的。
[7]
张一宁(2019)通过使用感知机机器学习的算法检查心脏病数据,可以诊断出受测人是否患有心脏病,该系统不仅使受测人能够及时确定疾病的实际状况,还使医院医生更容易进行辅助治疗诊断。
[8]
邵峰峰(2015)通过建立心脏病的诊断模型,使用最大相关最小冗余特征选择算法选出与心脏病诊断相关的重要特征,并使用支持向量机建立分类模型。
根据实验结果进行对比,发现使用特征选择方法可以大大提高模型分类的准确性,同时也可以选择重要特征进行心脏病的诊断,因此该研究建立的诊断方法具有很好的概括性。
[9]
慕欣(2018)提出近些年来,数学、统计学在医学研究中十分常见,运用logistic回归,多元线性回归,逐步回归等方法对心脏病的数据进行研究,通过机器学习,随机抽取了10%的数据作为测试数据,接着将剩下的数据进行建模研究分析,对得到的预测分类结果和模型的准确率进行判断,最终结论为在医疗研究中模型具有临床的适用性。
另外还提出了在收集数据的过程中,存在一定的地域性因素,这也有可能影响了此次研究的结果,因此在之后的研究中要尽量避免这个因素。
[10]
综上所述,国内很多学者都意识到心脏病治疗的重要性,大部分研究都是通过机器学习来建立模型,如逻辑回归、k近邻分类、随机森林分类、决策树算法等,都表明通过机器学习的结果可以运用在医疗领域进行预测跟治疗。
1.3课题发展趋势
随着互联网的普及,科学技术的发展,数据时代已经来临,处在数据时代的我们也不能独善其身。
在社会的各个领域中,大数据计算已被广泛的运用,医疗领域也不例外。
在心脏病死亡率如此之高的今天,人们可以通过对数据挖掘、机器学习的深入研究,来辅助医疗诊断,这对于心脏病的预测与治疗是一个新努力方向。
1.4研究思路
从定性和定量分析的角度出发,依据现有的数据,从心脏病患者的性别、年龄、血压、胆固醇等解释变量入手,建立模型。
通过模型去对患者进行预测,结合预测的结果对比出最优效果的模型。
同时借鉴国内外文献,综合分析,提炼整合,进而提出自己的观点。
首先,通过图书馆、互联网等途径大量查找期刊、论文等资料,对资料进行分析、整合;其次,拟定论文提纲,确定论文的写作方向;最后,使用数据分析软件(例如SPSS和Python)对此进行了分析研究。
1.5研究方法
1.描述性统计
通过对心脏病患者的一些具有代表性的数据特征进行描述性统计,如性别、年龄、血压、胆固醇等因素,再进行梳理并归纳总结,提出问题。
2.文献研究法
从现有的书籍、报刊、各种信息、权威论文网站等方式获取与研究内容相关资料。
通过查找大量文献对各个内容进行对比和总结,了解国内外对心脏病患病情况的评估模型的相关研究,深度了解其研究现状,归纳总结出对本课题有用的观点、主张,然后根据这些观点对本文进行进一步的研究探讨。
3.定量分析法
通过收集心脏病患病的影响因素的相关数据,对数据进行统计整理,运用回归分析方法,建立经济模型,对当前心脏病患病情况的影响因素进行定量分析。
2数据描述
2.1数据集介绍
本文选用的数据集来自UCI的开源数据集Heart_Disease(https:
//archive.ics.uci.edu/ml/datasets/Heart+Disease),该数据集包含303个心脏病患病情况的样本数据,每个数据样本综合了13个与心脏病相关的个体指标特征,例如年龄、性别、血压、血糖、心率等,可以为每个人的心脏状况提供较完整的答案;此外还有包括了预测是否患有心脏疾病的目标,该数据集的特征及其具体解释如表2-1所示。
表2-1数据集的特征及解释
特征名称
含义
具体描述
1.age
年龄
数字表示
2.sex
性别
0=女性,1=男性
3.cp
胸部疼痛类型
0=典型心绞痛1=非典型心绞痛
2=非心绞痛,3=无症状
4.trestbps
静息血压
入院时以毫米汞柱为单位
5.chol
胆固醇
血清胆固醇(mg/dl)
6.fbs
空腹血糖
0=空腹血糖<120mg/dl
1=空腹血糖>120mg/dl
7.restecg
心电图结果
0=正常,1=患有ST-T波异常,2=根据Estes的标准显示可能或确定的左心室肥大
8.thalach
最大心跳数
达到最大心率(单位为:
次/秒)
9.exang
运动时是否心绞痛
运动引起的心绞痛(0=否;1=是)
10.oldpeak
ST抑郁
相对于休息运动引起的ST抑郁
11.slope
心电图ST段倾斜度
最高运动ST段的斜率(0=向上倾斜,1=平面,2=向下倾斜)
12.ca
透视检查血管数
萤光显色的主要血管数目(0-3)
13.thal
缺陷种类
1=正常,2=固有缺陷,3=可逆缺陷
14.target
是否患病
0=健康,1=患病
2.2分类特征值比
通过对性别(sex)、胸部疼痛类型(cp)、空腹血糖(fbs)、心电图结果(restecg)、运动时是否心绞痛(exang)、透视检查血管数(ca)、缺陷种类(thal)这些分类特征进行简单的描述性统计,得出数据样本的基本情况。
图2-1性别比例
如图2-1所示,在数据集中女性所占比重接近三分之一,男性所占比重大于三分之二,可见在整个数据集中的男性的数量多于女性,因此得出男女比例在数据集分布中不是很平衡。
图2-2胸部疼痛类型比例
如图2-2所示,在数据集中,典型心绞痛和非心绞痛是常见的胸痛类型,其中典型心绞痛所占的比例接近一半,也就是说有将近一半的患者有典型心绞痛的症状。
图2-3空腹血糖比例
空腹血糖是一个二元变量,其数值为1的是空腹血糖>120mg/dl,否则为0,如图2-3所示,大部分患者为空腹血糖<120mg/dl,需主要日常生活中的饮食习惯,控制饮食,还可以适当进行锻炼,增强身体健康。
图2-4心电图结果比例
如图2-4所示,在静息心电图结果中,左室肥厚最不明显。
图2-5心绞痛比例
如图2-5所示,超过60%以上的患者没有发生心绞痛,若有因运动引起的心绞痛需要重视,另外就是在运动的过程中要加以注意,尽量做到适量运动、选择正确的运动方式,避免造成心动过速。
图2-6ca比例
如图2-6所示,CA的最少类型为4,最多类型为0。
图2-7thal比例
如图2-7所示,thal最少的类型是0,最多的类型是2。
2.3分类特征值与目标值之比
图2-8性别与是否患病之比
如图2-8所示,可以发现在女性中只有四分之一未患有心脏病,患有心脏病的有四分之三,是未患病的三倍,相比较之下男性是否患有心脏病的比例较均衡,由此能得出女性容易患心脏病。
但是由于性别这一特征在样本中本是存在偏见、不平衡的,因此,得出大多数女性容易患心脏病是不正确的。
图2-9胸部疼痛与是否患病之比
如图2-9所示,胸部疼痛类型中非典型心绞痛、非心绞痛、无症状者更容易发生心脏病。
出现有非典型心绞痛、非心绞痛症状的人群,应及早去医院检查,查明原因,免得错过了最近治疗时机。
2.4连续特征值及患病情况的分布
对年龄(age)、静息血压(trestbps)、胆固醇(chol)这三个连续型特征做统计分析。
图2-10正态分布图
如图2-10所示,可得年龄、静息血压、胆固醇这三个变量的标准正态曲线呈正态分布,其中还可以得出年龄在50-60岁的人患有心脏病的可能性大于其他年龄阶段的人。
另外,根据是否患有心脏病这一目标来看,未患心脏病的有138名,患有心脏病的有165名,所占的比重接近一半,因此目标变量相对来说是均衡的。
3模型建立
机器学习(MachineLearning)涉及的是计算机通过研究人类日常的行为方式,从中获得经验和知识,重建现有知识结构并改善其结果,不断进行自我提升的过程。
机器学习主要是在成千上万的数据中发现数据运行的规律跟方式,以此提取出重要信息,主要被广泛应用于解决诸如分类、回归和聚类之类的问题。
机器学习一般包括监督、半监督、无监督学习问题,在监督学习问题中,将标签预先分配给数据输入目标,通过数据训练出模型,然后使用模型进行预测。
[11]
本文将通过机器学习,利用Logistic回归、K近邻分类、朴素贝叶斯、随机森林等算法对已有的心脏病数据集建立评估模型,根据评估指标的大小进行比较,得出各模型评估效果的好坏,以此获得最佳的评估模型。
3.1Logistic回归
逻辑回归是一种统计学上的回归分析方法,在一组数据中通过自变量预测出因变量,根据方程还能得出自变量与因变量之间具体的数量关系。
在logistic回归中,通常来说因变量是多元的。
逻辑回归主要用于预测和计算成功概率。
3.2随机森林
随机森林是新型的机器学习模型之一。
随机森林可提高预测的准确性,而不会明显的增加运算的复杂性。
随机森林对多重共线性不敏感,因此对丢失数据和不平衡的数据相对稳定,它对预测多达几千个解释变量非常有效,目前被称为最佳算法之一。
随机森林是由LeoBreiman提出,它主要是通过采样技术,有放回地从N个原始训练数据样本中随机重复抽取K个新样本组成新的数据集,然后创建了k个分类树,根据一系列自助样本构建随机森林,新数据的分类结果取决于在分类树中投了多少票。
其本质上是一种改善的决策树算法,由于将多个决策树进行了分组,因此每棵树的创建都是基于独立收集的样本,并且森林中的每棵树的排列都是一样的,所以对每棵树进行分类的能力以及它们关联的能力就决定了分类误差。
通常,特征的选择是随机的,每个节点以随机方式划分,并且比较在不同情况下产生的误差。
本质上可以检测到的预测误差,分类能力和相关性足以确定所选特征的数量。
一棵树的可分类性能很低,但是如果随机样本产生了任意数量的决策树,则可以通过每棵树对一个测试样本进行分类,从统计角度确定最可能的类别。
3.3K近邻分类
k近邻法(k-nearestneighbor,kNN)是基本的分类与回归方法之一,主要实践如下:
根据一个测试示例,通过在一定距离测量下进行训练,它找到最近邻k的实例点,并根据k最近邻的信息对其进行预测。
KNN的分类依据是测量不同属性值之间的距离。
它的的思路是:
如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
一般来说,K为20以下的整数。
在KNN算法中,选定的邻居是已经正确分类的对象。
该方法仅根据最近邻分类决策的一个或多个样本的类别确定子样本所属的类别。
3.4朴素贝叶斯
朴素贝叶斯法(NaiveBayes)是基于贝叶斯定理与特征条件独立假设的分类方法。
对于一组特定的训练数据,训练输入/输出的共同概率分布最初是基于特征条件的独立性的假设。
然后,基于该模型,将贝叶斯定理用于X的给定输入值,以找到具有最高反向概率的Y的输出值。
贝叶斯分类算法是一种使用概率统计知识进行分类的算法,是统计分类方法之一,在统计学中有着重要的作用。
在很多情况下,人们经常会把决策树、神经网络分类算与朴素贝叶斯分类算法这三者放在一起做比较。
在当前大数据的背景下,该算法被广泛地应用于大数据中,主要原因在于其精确率、时效性和多样性。
4模型评估与分析
4.1数据集预处理
众所周知,大多数数据都是分类的,而不是仅在某些特性值之间分类。
由于受不同维度的影响,机器学习不能直接应用数据集。
因此,应该对数据集进行预处理,使得机器学习的预测结果不会被数据特征所影响。
数据预处理主要是通过提高后续学习过程的精度和性能来提高数据的质量。
通常进行数据预处理主要有以下两个方法。
(1)标准化
数据的标准化(Standardization),是按比例将数据缩小,使之落入一个小的特定区间。
由于指标范围单位因指标体系而异,因此可以通过参与评估来计算指标,对指标进行标准化处理,可以通过变换函数来参与评估计算来收集数值。
所使用的公式为:
标准化后的结果符合标准正态分布,其中μ是数据的均值,σ是数据的标准差。
标准化使每一列数据平均值为0,方差为1。
(2)归一化
归一化包括将需要处理的数据(通过某种算法)限制为所需的数据。
进行归一化的主要目的是为了方便进行数据的后续处理,再者,是要确保程序运行时能够更快地收敛。
归一化的一个特殊功能是调用统一样本的统计分布。
0和1之间的归一化是统计的概率分布,而归一化是统计的坐标分布。
所使用的公式为:
其中Xmax是数据的最大值,Xmin是数据的最小值。
结果是将数据映射到区间[0,1]内。
4.2评估指标
在构建心脏病评估模型前,通常应将样本为m的数据集划分成测试集和训练集,其中用来建立评估模型的是训练集,用来验证评估结果的是测试集。
最广泛使用的测试方法是k折交叉验证方法,在这种方法中,采用分层采样数据集,每次将k-1个子集的并集用作训练集,将其余子集用作测试集以形成k个大小相似的互斥子集,因此将其重复k次,最后返回k次结果的平均值,图4-1为K折交叉验证法简图。
图4-1K折交叉验证法简图
本文采用5折交叉验证法,对数据进行随机分配,对测试集的心脏病患病情况进行预测评估,以敏感率(Sensitivity)、特异率(Specificity)、准确率(Accuracy)和F1Score作为评估指标,其中敏感率和特异率是心脏病诊断测试常用的指标。
从测试集的预测结果中获得正确结果的可能性有两种,即实际为正类的把它预测为正类,实际为负类的预测为负类;错误结果的可能性也有两种,即实际为正类的却被预测为负类,实际为负类的却被预测为正类。
通常情况下,使用TP、TN、FP、FN这四种来表示上述的四种情形。
根据表4-1(混淆矩阵表)所示,可以更清楚地了解这几个指标。
表4-1混淆矩阵表
预测类别
+
-
实际类别
+
TP
将正类预测为正类的数量
FN
将正类预测为负类的数量
-
FP
将负类预测为正类的数量
TN
将负类预测为负类的数量
运用以上指标分别对预测结果评估分析,下面给出它们的具体解释及计算公式:
(1)敏感率(Sensitivity)/召回率(Recall):
是指实际为正类的样本被真正预测为正类的比例,即,
;
(2)特异率(Specificity):
是指实际为负类的样本被预测为负类的比例,即,
;
(3)准确率(Accuracy):
准确率是我们最常见且最容易理解的评估指标,指的是数据中被预测正确的数除以样本总数。
总的来说,准确率越高,模型的评估效果越好,即,
;
(4)F1Score:
F1分数可以看作是一种调和平均数,它的最大值是1,最小值是0,即,
以上的指标之间是通过数值大小进行比较,若想要直观上比较的指标则可以通过ROC曲线。
正确率和错误率为ROC曲线中的两个主要指标,其中错误率(FPR)代表的是横坐标轴,含义为将本身为负类的错误预测为正类的个数占所有的负类样本数据的比率,也就是负样本中的错判率。
真正率(TPR)代表的是纵坐标轴,是在模型中正确预测为正类的样本占所有真实为正类样本数据的比率。
可以使用多种不同的评估逻辑来构建回归模型,以计算ROC曲线上的点,但是这样效率很低,因此还可以基于AUC值的大小对模型的分类性能进行评估。
AUC值(AreaUnderCurve)是ROC曲线下方区域的面积。
如果分类器的性能很完美,那么AUC的值为1,但是实际上不存在如此理想的模型,所以AUC值的范围通常都在0.5到1之间,因此使用AUC指标评估模型分类