基于电子病历的机器学习算法在心血管疾病测方面的应用论文

2020年12月1日11:04:29基于电子病历的机器学习算法在心血管疾病测方面的应用论文已关闭评论

基于电子病历的机器学习算法在心血管疾病测方面的应用论文

摘要

随着大数据时代的到来,医疗信息系统的不断完善和广泛应用,使得生物医学数据 呈现爆发式的增长,诸如医学影像、电子病历、生物特征标记、临床登记记录等医学数 据都具有潜在且十分重要的研究价值。但是基于统计学的医学研究方法受研究群体类别 和规模的限制,并不能高效地开展针对大规模医疗信息的数据挖掘工作,而面向大数据 的机器学习技术则可以有效地解决这一问题。因此本文引入机器学习技术,全方位、多 层次地整合了电子病历中的数据信息,深入分析和挖掘了有用的临床特征,建立了高血 压患者心血管疾病的发作风险预测模型,为临床上开展疾病预警工作提供了强有力的参 考。

主要研究内容包括以下几点:

  • 针对深圳市卫生信息平台收集到的几十万高血压患者的电子病历,经过患者人 群的筛选、数据的预处理、特征变量的构造及相应的统计分析后,使用XGBoost算法训 练得到由53个特征变量构成的冠心病风险预测模型,该模型AUC为967,准确率为 0.918o
  • 将该模型与传统的弗雷明汉模型进行对比,证明了基于大数据和机器学习算法 构建的风险评估模型在疾病预测方面具有更高的准确率和可靠性。之后又通过单因素变 量分析实验发现,传统的风险因素和模型提取到的临床特征在预测疾病发生概率时都表 现出了高度的非线性相关。
  • 为了增强模型的可解释性,又从特征变量,样本数据量和不同建模方法三方面 开展对比研究,进一步探究和讨论了影响模型性能的重要因素。

关键词:机器学习;XGBoost;疾病预测;电子病历

Abstract

With the advent of the era of big data, the continuous improvement and widespread application of medical information systems have led to the explosive growth of biomedical data, such as medical imaging, electronic medical records, biometric markers, clinical registration records have potential and important research value. However, medical research based on statistics methods is limited by the category and size of research community, so it cannot effectively perform data mining for large-scale medical information, while machine learning technologies oriented to big data can effectively solve this problem. Therefore, this paper introduces machine learning technology, omni-directionally and multi-angularly integrates data information in electronic medical records, in-depth analysis and mines useful clinical characteristics, and establishes a cardiovascular disease risk prediction model for hypertension patients, providing a powerful reference for clinical diagnosis.

The main research contents of this paper are as follows:

  • Based on the electronic medical records of hundreds of thousands of hypertensive patients collected by the Shenzhen Health Information Platform, after screening of the patient population, data preprocessing, construction of characteristic variables, and corresponding statistical analysis, the XGBoost algorithm was used to train a coronary heart disease prediction model composed of 53 characteristic variables, with the AUC of 0.967 and the accuracy of 0.91&
  • By comparing this model with the traditional Framingham model, it is proved that the risk prediction model created based on big data and machine learning algorithm has higher prediction accuracy and better performance than the traditional statistical models. Later, through univariate variable analysis experiments, it was found that both the traditional risk factors and the clinical features extracted from electronic health records showed a high degree of non-linear correlation in predicting the risk probability of disease occurrence.
  • In order to enhance the interpretability of the model, comparison studies were also performed which reflected the effects of training sample size, factor sets and modeling approaches on the prediction performances.

Key words: Machine learning; XGBoost; Disease prediction;

Electronic medical records

1绪论

1.1课题的研究背景及意义

近年来,全球信息技术革命伴随着云计算、大数据、人工智能、移动互联网、物联 网等新兴技术的蓬勃发展又迎来新一轮发展的高潮,同时为传统行业的发展变革也注入 了崭新的活力。在惠利民生的医疗健康领域,医疗数据的不断积累使得传统的医疗卫生 行业也逐渐向以网络信息技术为依托的智慧医疗阶段发展,加强医疗保健基础设施的建 设,提高生物医学信息系统的效率是现代社会最具挑战性的目标之一⑴。

“智慧医疗"诞生于IBM在2008年首次提出的“智慧地球叩勺概念,目的在于创建基 于健康档案的区域医疗信息平台,通过借助最先进的互联网、物联网技术,实现医疗信 息的互联互通、跨区域的共享合作、临床诊断的创新应用和诊断科学的发展进步。现阶 段,计算机处理数据的能力呈现数量级的快速增长,使得在医疗健康行业人工智能的应 用场景更加多样化,这其中涉及医学影像分析,病历与文献分析,辅助诊断治疗,药物 研发,慢病健康管理以及疾病预测等诸多方面。因此推动以患者为中心的医疗数据网络 的形成,借助计算机实现个人健康的实时监测与评估、疾病预警、慢病筛查、主动干预, 积极推动医疗健康真正进入智慧医疗的新时代。

心血管疾病(Cardiovascular diseases, CVDs)是包括印度在内的世界范围内致死率 和发病率最严重的的疾病之一,2020年将成为全球最大的疾病负担⑵。CVD包括冠心 病(Coronary Heart Disease, CHD)、充血性心力衰竭、中风、外周动脉疾病、颈动脉疾 病和主动脉疾病等多种疾病。这其中冠心病也称为冠状动脉疾病,是由于动脉粥样硬化 导致向心脏供应血液和氧气时血管变得狭窄或者阻塞,从而出现心绞痛、心肌梗塞、心 力衰竭和猝死等严重的临床症状⑶。来自世界卫生组织(World Health Organization, WHO)的最新调查显示,CVD是目前全球范围内最大的疾病负担和头号死因:每年死 于心血管疾病的人数都远超其他疾病。2016年,全球预估有1790万人死于心血管疾病, 占全球死亡总数的31%,其中85%死于心脏病和中风⑷。而在国内,心血管疾病的患病 率和致死率也一直不断上升,从1990年至2016年中国心血管病的死亡人数从250多万 上升到近400万人,其中每5例死亡的病人中就有2例是死于心血管疾病,死亡率居首 位,高于肿瘤及其他疾病。截止2018年,全国确诊患心血管疾病的人群已有2.9亿人之 多,其中脑卒中患者1300万人,冠心病患者1100万人,高血压患者更是达2.45亿人⑸。 居高不下的高发病率、高致残率和高死亡率,给社会、家庭和患者自身带来了沉重的经 济负担和心理负担。

随着计算机技术和人工智能(AI)领域的快速发展,机器学习技术为开展疾病预测 的风险评估工作开拓了崭新的思路。因为AI系统需要具备自己获取知识的能力,即从 原始数据中提取模式的能力,这种能力便称为机器学习(ML)。引入机器学习后使得 计算机可以解决涉及现实世界的诸多问题,并做出看似主观的决策⑹。心血管病患者经 过常规护理在其电子健康记录(EHR)中积累了大量数据,但是繁忙的临床环境使得这 些数据的集成和有效使用极具挑战性,因此数据本身并不具备更好服务临床决策的能 力。除此之外,许多基于生物医学数据的研究都来自常规的假设,即通过选定的一些预 选变量来探究其对心血管表型的影响,相比之下,基于AI的方法便可以在无假设的条 件下同时使用多个变量来驱动数据的挖掘和问题的发现,从而识别患者间表型的相似性 和差异性。因此标准化临床诊断、改善现有的治疗方法、找到新的药物靶标、实现以更 高速率提供数据驱动的高质量护理,是推动医疗领域创新的重要落实举措⑺。

本文基于上述出发点,对获取到的近几十万条临床电子病历数据进行分析处理,在 建模过程中通过最小化预测结果和真实结果之间的误差,进而在积累的大量数据中识别 潜在的风险变量,探究这些变量之间所有复杂的和非线性的作用⑻,建立了一个基于大 数据和机器学习算法的高精度CVD风险预测模型。

1.2国内外研究现状及发展趋势

本课题研究的热点问题是心血管疾病的风险预测,其中冠心病的风险评估是作为心 血管疾病一级预防的重要内容之一,旨在研究冠心病的危险因素与疾病发病率或死亡率 之间数量上的依存关系及其规律性,并以此来描述和评估研究对象发病或死亡的概率。 总体上心血管风险评估是根据心血管疾病的多种危险因素水平的高低和组合来预测个 体未来五年、十年甚至余生发生心血管病急性事件的概率。通过这样的方式,采取相应 的干扰措施来降低危险因素的影响,从而及时预防和减少此类临床事件的发生,提高整 个社会的健康化水平。

全球范围内针对心血管疾病的预防治疗工作早已开展,回顾传统的CVD风险预测 模型的发展可知,心血管病临床预测规则通常以风险评分为基础,试图找出心血管疾病 患病风险最大的人群,从而为临床医生进行疾病诊断提供有效的参考叨。最为著名且极 具权威性的研究是美国的弗雷明汉队列预测模型,它拥有世界上样本数量最多,观察时 间最长的人群家族的研究资料,研究对象涉及了三代人群。从1948年第一代研究队列 人群的建立至今,该研究已持续了近七十年之久,截止2019年5月为止,累计发表研 究成果文章达3842篇,文献发表的数量呈几何速度逐年增长。最早基于6年的随访结 果,发表于1961年的文章中首次提出了冠心病危险因素的概念,成为了此后心血管疾 病流行病学研究的重要奠基石a】。随后研究又相继报道了年龄、血压、胆固醇、吸烟、 肥胖等多种风险致病因素,建立了冠心病2年,10年及终生风险预测评分工具,对包括 心血管疾病领域在内的各个领域的研究都产生了极其深远的影响,随着时间和数据量的 积累,模型也不断地得到优化和改进⑴"。除此之外,在欧洲,QRISKZ, QRISK2Z1, SCORED等风险预测模型也纷纷推出并用于所在地区心血管疾病的预防诊治工作。 2007年,WHO针对中低收入国家/地区,提出了 WHO/ISH风险预测图,对该地区的居 民未来患心脏病和中风的风险进行预测,其危险因素包含年龄、性别、收缩压、吸烟、 总胆固醇、糖尿病等[⑹。但值得注意的是,受地域和研究队列人群种族的限制,各类 CVD风险模型的推广和使用均存在着一定的差异性和局限性。同时,这些CVD风险评 估模型都隐含假设了每个风险因素与CVD预测结果呈线性关系,这样可能会过度简化 它们之间的复杂关系,其中包括大量具有非线性相互作用的风险因素,因此并不利于探 究这类风险因素与最终导致的发病事件结果之间的潜在联系"I。

本课题研究的数据基础是电子病历,挖掘其中的生物医学文本信息,结合大数据和 机器学习技术,实现相应的病症诊断,疾病预测,风险建模等辅助医疗工作。这里的电 子病历(Electrical Medical Records, EMRs)也称计算机化的病案系统或者基于计算机 的病人记录,它使用现代化的电子设备(如计算机、医疗健康卡等)保存、管理、传输 和重现病人数字化的医疗记录,从而间接取代传统手写的纸张病历,加速了患者的医疗 信息在各医疗系统中的互联互通和随时提取的便利性[同。电子病历一般是由医务人员在 临床医疗活动中使用健康信息系统获取到的,该系统具有提供给用户访问完整准确的数 据、警示、提示和临床决策支持的能力。电子病历内容包含了详细描述患者健康状况的 文字、符号、图表、图形、数字和图像等数据,形式上也可具体划分为结构化和非结构 化的数据两种,其中结构化的数据诸如国际疾病分类编码(ICD),临床化验的结果、 药物使用的情况等,而非结构化的数据包含大量自由格式的文本,例如患者的主要症状、 病情进展记录和出院小结等a】。虽然结构化的数据在进行统计分析和机器学习任务之前 不需要复杂的数据处理,但大多数医疗数据都是以非结构化的形式存储[20],此外电子病 历中文本语言的描述方式包含大量医学术语、剂量统计和专业名称的缩写,使得这些特 征虽然便于记录患者的疾病、症状、检测和治疗结果,但却成为自动挖掘医学保健知识、 构建可以帮助医生进行临床决策支持系统的关键性障碍,因此提高电子病历的标准化水 平将更有利于提高信息决策的效率、医疗服务的质量以及疾病预测的可靠性。目前基于 电子病历进行疾病风险评估的方法主要有两种:使用结构化的数据进行疾病风险评估; 使用非结构化的文本数据进行疾病风险评估。

2009年,美国和澳大利亚两国已经开始推行电子医疗档案管理系统,旨在通过对电 子病历的档案收集实现数据的共享0],基于政策的鼓励和研究人员的努力探索,针对电 子病历的研究也不断取得新的进展。2013年,Pereira等人基于ICD・9诊断编码的自动 分类过程,提出了一种新的文本挖掘的方法,它使用已经处理过的电子病历,采用KNN 算法作为多分类器,实现了将每个实例分类映射为相应标准的编码形式,实验结果证明 了基于电子病历的文本挖掘有较好的可行性表现Ml。2014年Rapsomaniki等人随访研究 125万人的电子健康记录,着重探究并得到了血压水平与心血管疾病发病和致死风险之 间的影响:与理想血压者相比,血压水平的不断升高,患病风险也将随之增大,但收缩 压和舒张压在个体不同年龄阶段,针对急性和慢性心血管疾病中的表现却呈现不同的关 联关系㈡】。2017年,来自英国诺丁汉大学流行病学家StephenWeng博士团队,首次将 机器学习算法应用于患者电子病历的常规数据分析中。该团队利用随机森林、Logistic回 归、梯度提升和神经网络4种人工智能算法预测人类患心血管疾病的风险,“摸索”岀 传统模型结果中未出现的如房颤、种族差异等重要风险因子,研究结果证实:四种机器 学习算法构建的模型预测的AUC (74.5%-76.4%,即受试者工作特征曲线下的面积)均 高于医生根据美国心脏病学会/美国心脏病协会(ACC/AHA)指南的预测准确率72.8%,其 中表现最佳的是人工神经网络。因此与当前的心血管疾病预测方法相比,机器学习算法 可以更灵活、精准、有效地预测疾病的发病风险,成功降低假阳性患者的数量罔。

1.3论文的主要研究内容

本文针对高血压患者的电子病历数据,运用大数据和机器学习算法建立疾病预测模 型,目的是对该患者群体未来三年患冠心病的风险概率进行预测,实验结果证实了该模 型有较高的准确率和可靠性。论文完成的主要工作如下:

  • 针对深圳市收集到的几十万高血压患者的电子病历数据进行了提取和处理,在 确定了严格的人群筛选条件以后,对研究群体进行了详细的选择划分和分布说明。
  • 在明确了七万多人的研究群体后,进行了具体的数据预处理,特征工程,特征 变量的统计分析,特征选择等工作,确定最终建模所需的有用的特征变量53个。
  • 基于机器学习算法XGBoost,经参数调优和模型训练、预测,获得了 AUC为 967,准确率为0.918的高精度冠心病风险预测模型,对比传统的风险量表模型,预测 性能方面优势显著。
  • 通过模型输出的特征重要性排名,进而开展了针对单个特征变量的边际效应分 析实验,研究讨论了部分特征变量对模型最终预测结果的影响,增强了模型的可解释性, 为冠心病的防治工作提供有力的参考。
  • 从特征变量的构造、样本数据量的大小、不同建模方法的选取三方面出发,进 一步探究了影响模型性能的主要因素。

1.4论文的组织结构

本文是针对基于电子病历的机器学习算法在心血管疾病预测方面的应用开展研究, 论文主要分为六个章节进行展开,具体内容安排及组织结构如下:

第一章绪论部分,着重介绍了本课题的研究背景及意义,详细阐述了智慧医疗的发 展,当前心血管疾病的预防及诊治工作的严峻形势,国内外对此开展的研究工作的进展 及成果,引出了机器学习算法在开展疾病预测方面的可行性,最后介绍了本文的主要研 究内容和文章的段落结构。

第二章首先介绍了当前医疗大数据的特点,以及传统的疾病预测方法,同时引出了 本文采用的机器学习算法XGBoost.相关算法原理的介绍和模型相应的参数设置,确定 了评价模型性能的参考指标及对应的数学含义。

第三章是对本文数据集的获取途经、方法及特征变量提取构造过程的相关流程进行 介绍,这里主要介绍了原始数据集的来源,筛选条件及处理,特征变量的提取和构造方 法,为后面建模的顺利开展奠定坚实基础。

第四章主要是对基于机器学习算法构建的冠心病风险预测模型的实验结果的展示 和分析。主要从特征变量的统计结果分析、模型的训练及参数调优步骤、最优模型的确 定和程序运行结果的展示,以及将构建好的模型与三个传统的风险量表模型进行性能对 比等方面出发,进一步证实本文建立的预测模型的高准确率和高可靠性。

第五章首先对模型建立过程中权重排名较高的特征变量进行了展示和说明,通过边 际效应实验分析了部分风险因素对预测结果的影响。进而为了更好地解释该预测模型, 主要从特征变量的构造,样本的数据量和不同建模方法的选取三方面探讨了影响模型性 能的主要因素。

第六章主要是对整个研究过程进行了成果的总结,同时分析了实验过程中数据质量 方面存在的不足,规划了在下一步研究工作中的改进方案,同时对未来研究方向进行了 展望。

2相关研究基础与技术分析

2.1医疗大数据的特点

迫切需要提高医疗服务的质量和患者的服务水平,增强数据的可用性和可分析性, 是当前医疗大数据时代的三大驱动力[24】。医疗大数据的来源多种多样,例如临床登记记 录、电子健康记录、生物特征数据、患者病历报告数据、互联网、医学影像、生物标志 物数据、前瞻性的队列研究和大型的临床试验产生的数据等Bl©]。由于医疗数据的来源 不同、类型各异且规模巨大,因而对这些数据来源进行整合分析时数据的不完整性和复 杂性也随之增强a】。

基于医学研究的特殊性,医疗大数据也具有与其他学科的大数据明显不同的几个鲜 明的特征。首先,医疗大数据通常很难访问,因为医疗领域的大多数研究人员出于防止 数据被滥用、缺乏数据严控和监管的大环境、伦理学限制等因素的考虑,通常不会对自 己的数据进行开放式的共享,所以获取医疗大数据本身并不是一件容易的事情[27】。其次, 医疗大数据通常是基于协议(即固定形式)收集存储的,部分时候也会刻意简化原始数 据的提取过程,因此数据格式相对来说结构化陈]。再者,通常只有在保证相对安全的环 境才进行相应的医学实践,因此专业人员的参与、昂贵仪器的使用、患者群体的划分等 因素使得数据的采集成本也会有所增加。最后,与其他领域收集到的数据相比,针对医 疗领域采集数据的时效性和采集过程的不可逆性,使得数据的误差描述和丢失、数据记 录时的主观片面、文本信息的遗漏或编码错误等都会对数据本身产生不好的影响[沟。虽 然数据的复杂性加深了医疗数据挖掘及使用的难度,但现阶段,医疗大数据的潜在价值 还是在如下方面得到证明:(1)个性化医疗的交付;(2)临床决策支持系统的使用, 例如医学影像的自动分析和医学文本的挖掘;(3)使用移动设备定制诊断和治疗的决 策信息;(4)大数据驱动下的人口健康分析;(5)欺诈行为的检测和防范〔29]。

医疗大数据分析的目标是实现预测、建模和推理,而分类、聚类和回归是实现这一 目标常用的方法卩°】。其中,分类是一种监督学习的方法,可以看作是将数据集中的数据 对象按照不同的属性特征映射到固定的类别,随着数据量的积累,分类器的准确性也将 不断提高。分类算法一般包括Logistic回归、朴素贝叶斯、决策树、支持向量机、贝叶 斯网络和神经网络等。医学研究中针对某种疾病的预测就是典型的分类算法,基于收集 到的大量患者的医学信息数据作为特征变量以及相应诊断患某类疾病的诊断标识作为 样本的标签,就构成了基于分类器的监督学习的数据集。再通过选择合适的分类算法训 练学习器,达到相应的准确率和贴近医学常识的解释性时,就可以对该分类器进一步提 升优化了。聚类算法是一种无监督的学习方法,无监督的学习方法学习的数据没有相应 的类别标记。该算法通过使用距离度量来查找数据中的隐藏分组,它一般将数据根据数 据特征之间的相似性和差异性进行类别的划分,从而确保属于同一类别的数据间的相似 性尽可能大,不同类别的数据间的相似性尽可能的小。常见的聚类算法通常有K均值聚 类、均值漂移聚类、基于密度的聚类、凝聚层次聚类等。在医疗的临床研究中,通常通 过聚类分析的方式对患者的基本信息、血检指标、临床变量及特征指标等进行深入的分 析,有时为了研究某个特定的临床指标,也只需将其作为全新的特征放入,即可增加聚 类分析的准确率。回归是一种有监督的学习算法,用于量化因变量和一个或多个自变量 之间的依赖关系,产生一个将数据映射到呈连续型分布的实例预测值的函数,它反映了 特征属性的数据趋势,线性回归是其中最常用的方法,其应用实例包括对患者数据或决 策支持系统的纵向分析等卩I

2.2经典的疾病预测方法

疾病预测本质上就是根据疾病的发病特征、苗头及趋势规律,来对研究个体未来患 某种疾病的风险概率进行预先的观测预估,从而及时发现并采取相应的措施进行预警和 防范。在Heart上曾发表的一篇较为经典的文章综述中,作者通过心血管(CVD)风险 评分模型构建的实例来详细阐述了借助统计图构建疾病预测模型的六个详细的步骤[叽

  • 选择一组预测变量作为影响CVD潜在的因素纳入风险评分中;
  • 选择一个合适的统计学模型来分析预测变量和CVD之间的关系;
  • 从已有的预测变量中,选择足够重要的变量纳入到风险评分中;
  • 基于选择的重要性变量,构造风险评分模型;
  • 选择合适的评价指标来评估建立的风险评分模型;
  • 将验证成功的风险评分模型应用于临床实践,并进行详细的使用解释说明。

然而在现实世界中,由于医学数据的数据质量较差、数据维度较高、分布稀疏、数 据的时序性和不均衡性等导致疾病预测的发展仍然面临着较大的技术挑战。现阶段,疾 病预测的主要方法可以简单的划分为经典回归方法、机器学习方法和深度学习方法三大 类。

2.2.1基于经典回归方法的疾病预测

基于Cox比例风险回归模型和Logistic回归模型是在传统的疾病预测中应用较为广 泛两种回归的方法。这里的Cox比例风险模型是由英国的统计学家D.R. Cox在1972 年提出的一种半参数回归模型,它以生存结局和生存时间为应变量,将风险函数定义为 基准风险函数和相应协变量函数间的乘积,通过描述不同人群在不同时期的风险,来探 索危险因素对其生存的影响。因为模型兼顾了事件发生的时间和结果的双重考虑,因此 医学领域常采用Cox回归模型作为研究疾病发生、发展、痊愈及死亡的重要方法,也是 医学随访研究中应用最重要的多因素回归分析方法之一[辺。

DAgostino等人发表于2001年JAMA的文章中就利用Cox模型,针对弗雷明汉模 型在不同环境下的白种人和黑种人的预测准确性进行了验证。该研究中通过确定六个非 弗雷明汉队列研究人群的数据,但使用与弗雷明汉函数相同的变量,得出针对性别的 Cox回归函数,再根据风险因素和冠心病事件发生的特定患病率,作为评估每个队列的 最佳Cox预测效果。实验结果证实了弗雷明汉针对冠心病的预测在不同种族的人群中表 现良好,并且在重新校准后,在其他族裔群体的风险研究中应用推广的可行性也较强卩习。 2.2.2基于机器学习方法的疾病预测

尽管传统的回归分析在疾病预测领域得到了有效的证实和推广,但模型预测的准确 率和可解释性仍存在有诸多的不足。得益于机器学习在数据处理、特征选择方面展现岀 的强大优势有效地填补了这方面的不足,近年来被广泛应用于各医学研究中:基于患者 社交网络数据的医疗保健应用卩铁预测患者手术后的死亡率卩叫估计治疗结果的风险性

使用带有生理信号的电子病历数据预测病情的恶化程度旳等。

StylianouN等研究人员基于英格兰和威尔士地区的6.6万名烧伤患者的病例注册信 息表,开展了针对在烧伤护理中收集到的常规变量数据来评估其死亡率的研究,将已建 立的Logistic预测模型和不同的机器学习算法(人工神经网络、支持向量机、随机森林 和朴素贝叶斯)进行对比,使用受试者工作特性曲线下的面积(AUC)、灵敏度、特异 性和尤登指数等评测指标来进行模型性能的对比评估。结果证明了所有的方法均具有较 好的风险鉴别能力和相似的阳性预测值,但相比较而言,随机森林在阳性人群的预测、 敏感性和特异性的优化方面略胜一筹,人工神经网络总体的预测性能更好,但可解释性 ± Logistic优势明显师]。除此之外,在2017年,ParkE等人的研究团队将传感器和机器 学习算法有效地结合,开发了一套PDT神经系统检查系统,用于对肌无力患者进行的 神经学测试,该工具内含机器学习的分类器,应用信号处理和特征选择的方法来检测病 人的中风症状,涉及到的算法主要有支持向量机、随机森林和径向基函数神经网络 (RBFN),实验结果显示引入机器学习算法后分类器预测的准确率高达92.3%,有效 的特征选择对改善分类器的性能提升效果显著卩9】。

2.2.3基于深度学习方法的疾病预测

深度学习在2006年被正式提岀后,在随后的十几年时间内得到了巨大的发展,促 使人工智能领域也产生了革命性的突破,特别是在计算机视觉、语音识别、自然语言处 理等方面。利用深度学习的最新发展进行疾病的表型分析已经被广泛证明是一种通用且 实际的方法,在医疗健康领域的应用也已取得可喜的成果Ho】。例如疾病的死亡预测HU、 患者病历取消的识别舵]、皮肤癌的检测问和糖尿病的视网膜病变检测屮]等。

Varun等研究者在2016年利用深度学习技术,训练了针对图像分类优化的一种特定 类型的神经网络,称为深度卷积神经网络。通过对糖尿病患者的视网膜眼底照片图像进 行相应的等级评估,从而判断患者的病变类型和程度,筛选出有高发病率的风险人群。 实验结果显示:基于深度学习算法开展的针对可疑糖尿病性视网膜病变的检测具有高灵 敏度和高特异性,模型的算法表现和眼科医师的诊断是处于同等水平上的,在临床上的 推广实践也具有很强的前瞻性和可行性屮】。同年,Cheng Y等人基于30多万患者为期 四年的电子健康档案(EHR)中的时序数据,建立了一个四层的卷积神经网络(CNN) 模型来进行特征提取和表型分析,从而预测患者未来的患病风险HU为了更便利地分析 电子病历中临床事件之间的时序关系,Chio将基于门循环单元(GRU)构建的循环神 经网络(RNN)应用于带有时间戳的心力衰竭的初始诊断预测上,同时将模型与Logistic 回归、神经网络、支持向量机和K■近邻算法进行了分析比较,证明了基于RNN建立的 模型预测性能更好,AUC更高跑。

2.3机器学习技术分析

2.3.1 XGBoot算法原理介绍

本文的模型是基于机器学习算法XGBoost建立的。XGBoost是极端梯度提升 (Extreme Gradient Boosting)的简称,是基于决策树的集成机器学习算法,它以梯度提 升为框架。不同于传统的梯度提升决策树(GBDT) , XGBoost求解损失函数极值时使 用了牛顿法,对损失函数进行了二阶的泰勒展开,并在目标函数之外加入正则项整体求 最优解,用以权衡目标函数的下降和模型的复杂程度,避免过拟合旳。XGBoost凭借其 对抽象数据强大的分析处理能力,高效,灵活,准确的预测能力,因此成为当前机器学 习领域炙手可热的算法,同时被广泛应用于包括统计学习,数据分析,人工智能等多个 领域。

XGBoost的损失函数共有两部分组成,第一部分为梯度提升算法的损失,第二部分 为正则化项。此处的/是为了表现第7个样本兀的预测值必和真实的标签值必之间残差 大小的函数,即单个样本的训练损失,齐表示第k棵回归树,即第k个基学习器,0为 模型的参数。如式(2-2)所示,由于XGBoost是一个加法模型,即给定一个输入屯, 输出是对k棵回归树的预测值进行相加,因此模型预测得分必是每棵树打分的累加之 和。

G作为正则化项是定义模型复杂程度的函数,具体见式(2-3)所示,将全部k棵树 的复杂度进行求和,添加到目标函数中来防止模型过拟合。

定义一棵树的复杂度0,通常是由两部分组成:叶子结点的数量T和叶子结点权重 w』勺平方和,丫和2为人工设置的惩罚系数,因此针对该正则化项,前一部分体现了决 策树结构的复杂程度,后一部分则体现了决策树预测值的复杂程度。

XGBoost的算法思想是每次迭代增加一棵树,从而不断地使预测值更接近于真实 值,在进行第t次迭代时的目标也是为了使损失函数达到最小值。正如公式(2-4)所示, 在进行第t次迭代后样本i的预测结果是前t-1棵树的预测结果与第t棵回归树的相加之 和。在算法实现的过程中,使用了权重收缩和列采样的技术,防止模型过拟合。权重收 缩指的是在每训练一棵决策树之后都会对权重进行缩放,乘以系数m通过这样的方式 降低了之前决策树的影响,为树的生成留出更多的学习空间。列采样的做法与随机森林 相同,即每次寻找最佳分裂时只考虑部分随机抽样获得的特征分量。

同时XGBoost默认支持缺失值的存在,即算法本身在节点分裂时不考虑缺失值,直 接将数据作为稀疏矩阵放入模型训练。同时在模型内部,它为缺失值设定了默认的分裂 方向(树的构建过程中,选择能够最小化训练误差的方向为默认的分裂方向),即在训 练时,缺失值的数据将会被依次划入左子树和右子树中,分别计算训练的误差损失,最 终选择损失最小的作为该缺失值的分裂方向[47]。针对在训练中没有出现缺失值而在预测 过程中岀现缺失值的情况,算法会自动选择将缺失值的划分方向定义为右子树节点。

因此基于上述优点,使用XGBoost算法建模可以实现:在最短的时间内使用更少的 计算资源获得更好的结果。

2.3.2 XGBoot模型参数

针对XGBoost模型原理的介绍,在实际的建模及程序实现过程中,主要涉及如下的 参数设置:

  • 树的最大深度(max_depth):即每棵树的最大深度。该数值选取的越大,模型 越容易学习到具体样本的特性,但容易过拟合,从而影响训练的速度,但选取也不宜太 小,这样模型容易欠拟合;
  • 最小节点权重(min_child_weight):每个节点最小的样本数,决定了最小叶子 节点的样本权重和。如果树生长时到某一步所产生的叶子节点,其观测权重之和小于该 值,那么就可以放弃这一步的生长。因此该值也常用来避免模型过拟合,较大时可以避 免模型学习到局部的特殊样本,但值过高会导致模型欠拟合;
  • 每棵树子样本的比例(subsample):在每棵树中按照该值抽取相应比例的样本 用于训练,即该参数控制了对于每棵树随机采样的比例。减少该参数的数值,算法越保 守,模型可以避免过拟合,但太小也会导致欠拟合;
  • 弱分类器的数量(^estimators):构造的决策树的个数或弱学习器的数量;
  • 最小损失函数下降(gamma):在节点分裂时后只有损失函数的值下降了,才 会分裂该节点,因此该数值指定了节点分裂时所需要的最小损失函数的下降值。对于一 个叶子节点,当对它采取划分之后,损失函数的下降值大于该阈值时,该叶子节点继续 划分,反之则停止划分。因此该值的设置越大,算法越保守,但过大时容易欠拟合;
  • 学习速率(learning rate) : XGBoost在进行完每次迭代后,会将叶子节点的权 重乘上该学习速率,也对应于树的更新过程中所用到的收缩步长,其目的是为了削弱每 棵树的影响,以便模型后面有更大的学习空间。一般情况下,该值的设置会小一些,调 参范围一般分布在(0,1 ]的区间内。

2.3.3其他机器学习算法原理简介

在本实验的后续模型性能研究阶段,引入了若干类机器学习算法的训练及预测结果 作为对比分析,所以本节简要介绍其他几类机器学习算法的原理。

  • 感知器(Perceptron)作为最简单的前馈式人工神经网络,是一种用于线性可分 数据集的二分类判别模型,其输入是实例的特征向量,输出则对应的是实例的类别属性, 模型学习的过程旨在求出能将训练样本的数据在特征空间中实现线性划分的超平面,因 此基于误分类的损失函数,利用随机梯度下降法对损失函数进行极小化郎1。

感知器算法的实现步骤具体如下:

首先,选择N个分别属于W1类和W2类的样本构成样本的训练集,将训练样本写 成增广向量的形式,并对样本进行编号和规范化的处理,任取权向量初始值进行迭代;

其次,使用全部样本完成一轮迭代。对每次输入的样本,计算一次判别函数的对应 取值,根据结果的正误修正权向量,并将迭代次数加1。权向量的校正与否基于两种情 况进行:如果判别函数的值小于等于0,说明分类器对样本的分类发生错误,需要重新 校正权向量;当判别函数的值大于0,则说明分类器分类结果正确,权向量保持不变。

然后,分析分类结果,在迭代中发生分类错误的样本,进行下一轮的迭代过程,直 至全部的样本均获得了正确的分类结果,迭代结束;

最终,迭代结束时得到的权向量就是分类器算法的结果。

  • 支持向量机(Support Vector Machine, SVM)是一类通过监督学习的方式来实 现对数据的二元分类的广义线性分类器,其分类的决策边界是对学习到的数据样本求解 最大间隔超平面,通过构造这一划分超平面将样本分为两类。距离超平面最近的样本点 称之为支持向量,这些点到分割面的距离称之为间隔,通过最大化支持向量到分割面的 距离间隔,优化算法性能,从而增强分类器预测的可靠性〔49]。支持向量机的求解通常是 借助于凸优化技术,而核函数直接决定了支持向量机与核方法的最终性能。
  • Logistic回归(Logistic Regression, LR)是一种广义的线性回归分析模型,它 在原线性回归的基础上添加了 sigmoid函数,从而将原正负无穷的区间映射为0到1的 范围之内,对应到模型判别为正例的概率,因此常用于数据挖掘,疾病的自动诊断,经 济的趋势预测等领域。该算法本质上也是常见的二分类模型,通过输入未知类别对象的 属性特征序列得到该对象所对应的类别。它假设数据服从泊松分布,通过极大化似然函 数的方法,运用梯度下降来求解参数,达到将数据二分类的目的a】。

Logistic回归算法的一般流程为:

步骤一:寻找预测函数;

步骤二:构造损失函数;

步骤三:通过假设使得损失函数值达到最小化,在此前提下再算出各参数的数值。

  • 决策树(Decision Tree, DT)是一种根据数据的特征采用树状结构建立模型的 方法,它通常是由结点和有向边组成,结点有内部结点和叶结点两种类型,内部结点表 示属性上的测试,每一个分支代表一个测试输出,而叶结点表示一个类别。数据的预测 和训练都是从根节点开始逐级向下延伸,每一个非叶子节点上的数据都会按照当前节点 的特征属性划分为两个或多个子数据集,并分别交由下一级的节点处理,数据到达叶子 节点之后就不需要再继续划分,数据所在的叶子节点就是分类预测的结果。决策树对数 据的预测过程实质上时自上而下开展的,由每一级的非叶子节点按照自己的特征属性划 分规则进行数据分析,最后完成数据分类的过程,结构图如图2・1所示。

图2・1决策树算法结构原理图

构建决策树的过程一般包含特征的选择,决策树的生成和决策树的剪枝。在机器学 习中,决策树作为一种预测模型,代表了对象属性和对象值之间的一种映射关系,因此 学习决策树的过程,本质上是从训练的数据集中归纳一组分类规则mi。创建决策树算法 的伪代码如表2・1所示。

表2・1决策树算法思想的伪代码实现

输入:训练集合D、属性集合A

过程:函数 TreeGenerate(D> A)

1:生成节点,node

2: if D中的样本都属于同一个类别C:

return C

3: if A为空集或者D在属性A上的取值都相同:

return将类别标记为D中样本最多的类别

4:从A中找岀最优化分割属性a*

5:以属性a*划分数据集

6:创建分支节点

7: for每个划分的子集:

if D为空:

return分支节点标记为叶子节点,类别标记为D中样本数最多的种类

else:

调用函数TreeGenerate,并增加返回节点到分支节点中

8: return分支节点

输岀:以node为根节点的一棵决策树

  • K■近邻(K-Nearest Neighbor, KNN)简称KNN算法,它作为分类器的工作原 理是:存在一个样本数据的集合,也称为训练样本集,并且样本集中每个数据都有标签, 即已知样本集中数据及其所属分类的对应关系。在输入没有标签的新测试数据后,基于 某种距离度量,将新数据的每一个特征与样本集中数据对应的特征进行相互比较,从而 找到样本数据集中前K个与之最相似的数据,即最相似的K个实例(近邻)。在分类 任务中使用“投票法”,基于这K个最相似的数据中出现次数最多的类别标记,将其判 定为模型预测的新数据的所属类型[52]。
  • 随机森林(Random Forest, RF)是将多个决策树整合为一个分类器的集成学习 算法。它通过选取不同的分裂特征和训练样本,生成大量决策树组成的森林,当对未知 样本进行预测时,让森林中的每棵树都进行相应的决策过程,从而提升了单个决策树预 测的准确度,进而再通过统计所有的决策结果,将得票数最高的分类作为模型最终预测 的分类结果⑴]。

2.4模型性能的评价指标

对于涉及机器学习算法构建的所有模型,选定的训练集和测试集中的人群个数都是 相对独立且保持不变的。根据病人电子病历中的特征及数据集的分布,该实验可归结为 有监督学习中的二分类问题,即患病人群标签为1,作为正例样本,未患病人群标签为 0,作为负例样本。

一般情况下,基于机器学习算法构建的学习器大部分是针对测试集的样本数据对应 输岀一个实值或预测概率,然后将该预测值与一个分类阈值进行比较,最终对模型的预 测性能进行评估。这个实值或概率预测结果的好坏,直接决定了学习器的泛化能力。在 本文中,基于XGBoost算法构建的最佳模型预测出来的输出值是高血压患者在未来三年 可能患冠心病的风险概率。因为该模型本质上是一个二分类的学习器,产生的是一系列 的概率预测值。因此在确保了数据集正负样本平衡的前提下,将模型输岀的概率预测值 与提前设定好的分类阈值(0.5)进行比较,大于该阈值的则认为预测的结果为正例(即 患病),小于该阈值的则被判定为负例(即不患病)。

其次,将测试集的样本根据其真实对应的类别和学习器预测的类别进行互相组合, 进而得到分类结果的混淆矩阵,如表2・2所示。

表2・2二分类问题的混淆矩阵

真实的标签 预测的标签
负例样本(0) 正例样本(1)
负例样本(0) TN FP
正例样本(1) FN TP

TP (true positive):表示样本的真实类别为正例,最后预测得到的结果也为正例;

FP (false positive):表示样本的真实类别为负例,最后预测得到的结果却为正例;

FN (false negative):表示样本的真实类别为正例,最后预测得到的结果却为负例;

TN (true negative):表示样本的真实类别为负例,最后预测得到的结果也为负例。 根据该混淆矩阵,可以得到如下指标作为模型的性能度量指标:

  • 准确率(Accuracy):分类正确的样本数占样本总数的比例,如式(2-5)所示。

, TP + TN

Accuracy =

TP + FP + TN + FN (2-5)

  • 灵敏度(Sensitivity):真实的正例中被正确预测的比例,如式(2-6)所示。

TP
Sensitivity =

TP + FN (2-6)

⑶ 阳性预测率(PPV):预测的正例样本中被正确预测的比例,如式(2-7)所示。

⑷ 特异度(Specificity):真实的负例样本中被正确预测的比例,如式(2-8)所示。
(5)阴性预测率(NPV):预测的负例样本中被正确预测的比例,如式(2-9)所示。
(6) Fl值:模型精确率和召回率的一种调和平均,如式(2・10)所示。
Pr ecision * Re call

Fj - score 二 2 *

Pr ecision + Re call

最后,根据模型的预测结果对样例进行排序后,再逐个把样本作为正例进行预测, 每次计算得到“假阳性率”和“真阳性率”,分别作为横纵坐标轴来绘制得到“受试者 工作特征” (Receiver Operating Characteristic, ROC)曲线,该曲线显示的是当阈值不 断发生变化时,假阳性率和真阳性率的变化情况。由于不同的阈值设定导致不同的分类 器表现情况也可能略有不同,但在理想情况下,最佳的分类器所对应的ROC曲线应该 尽可能靠近坐标平面的左上角,这也就意味着该分类器在假阳性率很低的同时也获得了 较高的真阳性率。

因此,ROC曲线常作为评价学习器泛化性能的有力工具,而针对不同的ROC曲线

进行分类器性能比较时,常用的做法是选取ROC曲线下的面积(AreaUnder the Curve,

AUC),来作为分类器平均性能的评估指标。其更真实的含义是指随机给定一个正样本 和负样本,分类器输出的正样本的概率比分类器输岀负样本概率大的可能性,如式

(2-11)所示。

寸 了 Mx(M + l)

/ j rankt

AUC Positive 2

MxN (2-11)

M为正例样本的个数,N为负例样本的个数,代为正样本概率由高到低的排序。 由此可见,AUC值越大,分类结果越好,模型预测的性能也越可靠。

XGBoost模型实现过程中,最本质和关键的一步就是构建集成决策树。常用的分析 和探究该模型的方法是显示模型的特征重要性分数(Feature importance),这实际上是 衡量了特征变量在提升决策树模型构建中的价值。每个特征对于提升整个模型预测能力 的贡献程度越高,该特征的重要性排名及得分也将越高。因此,可以通过对比观察模型 的特征重要性排名,来探究高血压患者前期的哪些临床特征及表现对于影响其未来患冠 心病的风险效果显著。

2.5本章小结

本章主要对预测模型建立前相关的研究基础和背景调研进行了讲述,首先介绍了当 前医疗大数据的特点和疾病预测领域的研究方法,其次基于实验选取的机器学习技术进 行了详细的技术分析和算法原理的介绍,最后针对模型选取的相关性能评价指标的定 义、计算方法、数学含义进行了阐述。

3基于电子病历的数据获取和特征提取

3.1实验平台的搭建及运行环境

本文所有的研究都是通过云平台的方式连接登录远程的Linux操作系统,基于 Anaconda环境管理器下的Jupyter notebook网页版交互式工具,采用python3内核进行 相关的数据处理和建模分析。XGBoost模型依赖于"XGBClassifier"内核函数,其余几 种机器学习模型也分别依赖于 aPerceptronLogisticRegression" , “svm”,

"DecisionTreeClassifier " , RandomForestClassifier "和 KNeighborsClassifier "等内

核函数实现,这些均可以从Python software的sklearn库中免费获取[54][55]O

3.2数据集的来源及获取途径

本文数据集的主要获取途径是在确保信息安全的前提下,通过深圳国家超级计算中 心的远程服务器形式,登录获取到由深圳市卫生信息平台记录的高血压患者的电子健康 档案(EHRs)。该平台涵盖了八十三家公立医院和600多个社区卫生服务中心的临床 记录,每位有相关记录的患者都被分配得到了一个唯一的身份标识编号,以便患者在多 家医院和社区进行的临床诊断和随访记录可以进行及时的合并汇总。在这个平台上,可 以将EHRs划分为以下几个部分:

(1) 居民的基本信息:性别、出生年月、出生地、籍贯、婚姻状况、职业、家族史、 病史等。慢性病医疗记录:这些记录来自社区卫生服务中心,涵盖高血压、二型糖尿病、 肿瘤或老年患者,记录内容包括慢性疾病的确诊资料、身高、体重、体质指数(BMI)、 腰围、臀围、收缩压(SBP)、舒张压(DBP)、脉搏心率、空腹血糖(GLU)等;

(2) 门诊记录:门诊日期、门诊诊断名称及标识、手术标志、处方;

(3) 住院记录:入院日期、出院日期、住院诊断及病症、医嘱;

(4) 生化检验,临床检查。

每个表中的记录都可以通过个人身份标识的编号(P_ID)进行关联,所有数据都存 储在Oracle数据库的不同数据表中。首先,本文收集了 251791名注册高血压患者的900 多万份电子健康档案,这其中包括了 37776名冠心病患者。主要信息包括居民信息、高 血压病例、随访记录、门诊记录、住院记录、实验室检查、影像检查等数据。然后根据 以下内容删除不满足研究条件的患者:

  • 无随访记录的患者;
  • 无冠心病但有其他严重疾病如中风、心脏病、肾衰竭、癌症等的患者;
  • 患高血压前已确诊患冠心病的患者;
  • 在患冠心病前的三年内无随访、门诊或住院记录的冠心病患者;
  • 无冠心病且无3年以上随访、门诊或住院记录的患者。

最终得到了由24062例冠心病患者和47058例非冠心病患者构成的样本数据集,具 体的人群筛选流程如图3-1所示。

图3-1研究队列人群的筛选流程图

实验筛选研究的队列人群是有明确的高血压确诊时间和冠心病患病标识记录的患 者,且在进行了严格意义上的数据清洗处理以后,保证了研究个体在进行多个信息表的 关联时,时间节点上保持了高度的统一性。本文将每个患者的起始时间定义为医院首次 进行病历记录的时间,终点是病人首次确诊患冠心病的时间。在经过数据预处理,特征 选择之后,确定最终建模所用到的描述个体的特征变量共有53个,除了一些常规的基 线变量(性别、年龄、收缩压、心率、空腹血糖等)之外,本文还引入了对研究对象时 间尺度上的跟踪随访数据(患高血压的时长年限、住院的次数、随访期间各基线变量的 均值、方差、最大最小值等)。

3.3数据的预处理

数据的预处理阶段一般分为以下几个步骤:数据的探索、数据的清洗、数据格式的 转换、数据的标准化(依据算法可条件性的选择)等。进行数据预处理主要是为了满足 数据后续处理与建模的基本步骤要求,本质上是通过对噪声数据的清洗,以及为符合模 型要求而进行的基本数据变换。这里的噪声通常包括错误的数据记录,异常值的出现等, 而基本的数据变换除了常用的函数变换以外,还包括了二值化、哑编码、标准化、归一 化等方法内容。

原始的数据集包含近几百万条的电子病历信息,由于其数据量的巨大且特征变量类 型复杂,所以进行必要的数据预处理和特征变量的提取、选择和构造,对于模型的建立 和分析有至关重要的作用。不同的特征对模型的影响程度也略有不同,因此需要移除与 问题相关性较弱的特征,选择出对研究的问题更为有益的特征,这个过程即为特征选择。 特征选择在特征工程中是极为重要的步骤,往往直接决定了最终模型训练效果的好坏。 后续的实验结果也进一步表明:通过消除冗余和不相关的属性而选择重要的特征变量, 对改善模型性能影响显著。

特征是模型的输入,而不同的模型对输入也有不同的要求。基于现实世界中真实的 数据集可提取到非常多的特征,但并不是放入模型中的特征越多越好,只有确保放入模 型中的是有用的特征,才能提升模型的表现。通常基于以下两个方面进行特征的选择:

(1) 特征是否发散:如果特征的方差接近于0,那么意味着该特征几乎是不变的,不 发散的特征就无法探知它对模型结果的影响;

(2) 特征与目标的相关性:显示与目标相关性较强的特征变量在建模初期会被优先 选择放入模型中,而与目标几乎不相关的特征则暂且不会被考虑。

具体到特征选择的表现形式上,常见的特征选择方法有以下几种:

  • 过滤法(Filter)

该方法的主要思想是使用某种方式对构建的特征进行打分,也相当于对每一个特征 变量赋予一个权重值,然后按照权重的排序,对未达到标准的特征进行过滤。具体的打 分方法有:方差选择法、相关系数法、卡方检验法、互信息法等。

  • 包装法(Wrapper)

该算法的主要思想是将子集的选择看作是一个搜索寻优的过程,针对不同的特征组 合,分别进行相应的评价和比较。根据目标函数在集合中找到最优的特征组合,进而完 成特征变量的筛选。

  • 嵌入法(Embedded)

该方法主要使用机器学习算法进行模型的预训练后,得到各特征变量的权值系数, 再根据系数的大小排名进行相应的特征选择,因此类似于过滤法,但嵌入法更多依赖于 模型的选择,在选定模型的基础上,选择利于建模的最优特征。

在数据预处理阶段,针对原始数据集中所提供的各类信息表,进行了特征数量和缺 失率统计,删除了部分缺失比例较大,人群分布差异性明显的特征。同时,因为本文是 基于真实的医疗数据的研究,考虑到医疗数据的特殊性,所以针对异常数据的处理采取 的是直接删除的方式,又因为XGBoost模型本身对缺失值就有强大的数据处理能力,所 以在放入模型时对这部分缺失值并不做过多的处理。针对各类时间变量的记录,主要采 用特征组合的方式构造新的特征来取代之前冗余的特征变量,例如根据“出生日期”和 “高血压确诊日期”,将两者相减计算得出“确诊患高血压时的年龄(age) ”,依据 个体ID的标识号进行各信息表的匹配关联,根据患者高血压的确诊日期和最近一次接 受检查的时间,将两者相减得到患者“确诊患高血压的年限时长(htn_gap,以天计)”, 以时间节点的划分来进行占比的计算处理等。通过组合特征的方法可以提高特征的复杂 度,挖掘更有意义的特征变量,使预测模型可以更好地解决复杂的问题。

特别地,针对每一位列入研究队列的患者多个时间点积累的大规模的电子病历数 据,通过汇总形式进行统计分析,得到了更多跟时间节点密切相关的动态因素组成的特 征变量。例如,针对单个病人整个随访期间的记录,本文通过相应的数理统计函数可以 得到了个体随访期间SBP的均值(SBP_mean),病历记录中出现的最大、最小值

(SBP_max, SBP_min),进而又将整个随访时间段取最中间的时间点作为时间分割节 点,再次统计得到患者该中间时间点前后的两个随访时间段内SBP的均值,最大及最小 值(SBP_befbre (after) mean (max, min));针对个体不同时期的多次住院诊断记 录,统计所有的时间点得到病人总计的住院次数(IN_TIMES)、累计的住院天数

(in_days);结合病历中所有的住院诊断名称和诊断编码,汇总得到冠心病发病前期的 各种病症或症状表现,如高血压的确诊等级、高尿酸血症、痛风、头晕、心悸、肾、脑、 肺部疾病等。

基于本次实验的数据集数据记录格式,有关个体的诊断编码均采用了国际上通用的 ICD-10标准进行记录。非数值类型的变量,例如性别、记录诊断出现的各类临床症状 等做了标签化的处理,例如用1来代表男性,2来代表女性;所有基于临床症状表现提 取的变量都统一是二元形式,即如果患者确诊有此症状岀现则定义为1,否则定义为0。

3.4特征变量的提取与构造

在经过了严格的数据清洗及处理,排除了原始数据本身提取时的偏差性分布后,本 文主要从居民信息表,高血压随访表,门诊诊断表,门诊处方表和住院诊断表五个表中 提取相应的记录构成建模时的特征输入。具体的特征变量构成如下:

(1) 居民信息表:居民ID (作为各信息表进行关联匹配时的重要参考,但最终不作 为特征变量放入模型中)、性别、患病年纪(根据确诊日期和出生日期相减得到)、冠 心病的患病标识(患病的为1,未患病的为0,作为模型训练时的标签输入);

(2) 高血压随访表:居民ID、随访日期(累计患者多次随访日期可以进一步得到患 者总计的随访次数),随访的症状(中文文本记录)、收缩压、舒张压(因在人群中的 缺失值率和分布性差异过大最后并未放入模型中)、心率、空腹血糖、体质指数(因缺 失率较大而删除)、对单个患者在划定的特定时间区间内的多次随访记录进行分析合并, 依次可得到上述各指标的最大值、最小值、均值、方差等。同时对个体整个随访的时间 段进行了中间时间节点的划分,按照上述数学统计思路又进行了相应的特征构造;

(3) 住院诊断表:居民ID、住院和出院的日期(根据这两个指标可以进一步获得患 者住院的天数)、累计得到总的住院次数、总的住院天数、诊断名称和诊断编码(ICD-10 标识,根据这两个指标可以对患者在门诊诊断期间的症状进行统计,进而依次得到患者 高血压的患病等级、高尿酸血症、痛风、头晕、心悸、恶心、失眠、肾、脑、肺等疾病 症状表现);

(4) 门诊处方表:居民ID、处方时间、药品名称(对应中文药品名的记录,根据这 一指标可以进一步获得患者的用药记录,例如总的服药次数、降压药的服用次数及占 比)、降糖药的服用次数等(因数据缺失率较大,最后并未选取);

(5) 门诊诊断表:居民ID、门诊诊断的时间(根据这一指标进一步得到病人的门诊 次数)、门诊的诊断名称(可以获得确诊的高血脂和糖尿病的患病标识)。

3.5本章小结

本章主要介绍了建模前基于深圳市卫生信息平台记录的数据的获取,原始数据的清 洗处理和研究人群筛选条件及流程,数据集的预处理和特征变量的提取与构造等内容。 基于实验的研究目的,本文确定的研究人群是明确的高血压患病标识的人群,建模的目 的是为了预测这类患者未来三年患冠心病的风险概率。针对该人群的随访,门诊,住院, 用药等方面的记录进行了汇总、分析及有关特征变量的构造的详细介绍,确定最终建模 所需的有用变量。

4基于机器学习算法的冠心病风险建模

4.1特征变量的统计分析

为了更好地验证和说明放入模型中的特征变量的可靠性和有用性,建模前对最终确 定的53个特征变量进行了相应的统计学分析及验证,更进一步增强预测模型的说服力。 首先基于实验的研究目的,将数据集进行了患病人群和未患病人群的划分,在这两个独 立的数据集上,对于呈连续值分布的特征变量,主要统计了变量的均值和方差,对于离 散值分布的特征变量,主要统计的是在人群中有相应记录的人数和所占据的比例,对比 两个人群中统计结果,进一步确认数据的平衡性。统计结果按各特征变量的来源分类后 如表4・1、4-2> 4・3所示。

表基于住院诊断表提取的特征变量的统计分布

序号 特征变量 单位 患冠心病

(n=24062)

未患冠心病

(n=47058)

1 累计住院的总天数 n(%) 22.18(33.02) 18.07(28.40)
2 累计住院的总次数 n(%) 2.72(3.04) 2.36(2.81)
3 有住院诊断的标识 n(%) 7817(32.49) 11054(23.49)
4 住院诊断高血压三级 n(%) 1442(5.99) 2174(4.62)
5 住院诊断高血压二级 n(%) 809(3.36) 1196(2.54)
6 住院诊断高血压一级 n(%) 421(1.75) 615(1.31)
7 住院诊断慢性胃炎 n(%) 252(1.05) 258(0.55)
8 住院诊断肾疾病 n(%) 1629(6.77) 2537(5.39)
9 住院诊断睡眠障碍 n(%) 27(0.11) 15(0.03)
10 住院诊断脑部疾病 n(%) 1960(&15) 2406(5.11)
11 住院诊断高尿酸血症 n(%) 517(2.15) 722(1.53)
12 住院诊断痛风症状 n(%) 197(0.82) 245(0.52)
13 住院诊断出现头晕 n(%) 891(3.70) 883(1.88)
14 住院诊断肺部疾病 n(%) 484(2.01) 569(1.21)
15 住院诊断脑部疾病 n(%) 1726(7.17) 1610(3.42)
16 住院诊断其他疾病 n(%) 16(0.07) 26(0.06)
17 诊断患高血脂 n(%) 5442(22.62) 2112(4.49)
18 诊断患糖尿病 n(%) 5088(21.15) 2806(5.96)

表4・2基于高血压随访表提取的特征变量的统计分布

序号 特征变量 单位 患冠心病

(n=24062)

未患冠心病

(n=47058)

1 最近一次随访测得的收缩压 mm Hg 130.57(9.72) 132.12(10.95)
2 随访期间测得收缩压的最大值 mm Hg 136.22(11.80) 134.96(12.01)
3 随访期间测得收缩压的最小值 mm Hg 125.87(9.52) 130.06(10.88)
4 随访期间测得收缩压的均值 mm Hg 130.81(&51) 132.46(10.43)
5 最近一次随访测得的心率值 bpm 75.48(6.17) 74.70(6.36)
6 随访期间测得心率的最大值 bpm 77.29(6.81) 75.53(6.62)
7 随访期间测得心率的最小值 bpm 73.57(5.81) 74.07(6.12)
8 随访期间测得心率的均值 bpm 75.45(5.57) 74.80(6.07)
9 最近一次随访测得的空腹血糖值 mmol/L 5.47(0.81) 5.41(0.78)
10 随访期间测得空腹血糖的最大值 mmol/L 6.09(3.26) 5.95(3.07)
11 随访期间测得空腹血糖的最小值 mmol/L 5.03(0.59) 5.02(0.60)
12 随访期间测得空腹血糖的均值 mmol/L 5.47(0.81) 5.41(0.78)
13 中间时间点前测得的收缩压的最大值 mm Hg 134.50(11.96) 135.80(13.58)
14 中间时间点前测得的收缩压的最小值 mm Hg 128.94(10.54) 134.65(13.31)
15 中间时间点前测得的收缩压的均值 mm Hg 131.60(10.16) 135.21(13.20)
16 中间时间点后测得的收缩压的最大值 mm Hg 135.00(10.94) 133.34(10.83)
17 中间时间点后测得的收缩压的最小值 mm Hg 126.22(9.24) 129.41(10.10)
18 中间时间点后测得的收缩压的均值 mm Hg 130.50(8.29) 131.35(9.65)
19 中间时间点前测得的心率的最大值 bpm 75.92(6.71) 75.50(6.39)
20 中间时间点前测得的心率的最小值 bpm 74.23(6.11) 74.73(6.14)
21 中间时间点前测得的心率的均值 bpm 75.11(6.08) 75.11(6.11)
22 中间时间点后测得的心率的最大值 bpm 76.98(6.60) 74.80(6.44)
23 中间时间点后测得的心率的最小值 bpm 74.18(5.90) 74.19(6.26)
24 中间时间点后测得的心率的均值 bpm 75.62(5.70) 74.49(6.23)
25 中间时间点前统计的随访次数 n(%) 3.34(2.50) 2.56(1.97)
26 中间时间点后统计的随访次数 n(%) 3.94(3.79) 1.77(1.32)
27 中间时间点前后随访次数的比例 n(%) 1.47(1.88) 1.35(0.87)
28 最近三个月之内的随访次数 n(%) 1.45(0.73) 1.34(0.62)
30 最近六个月之内的随访次数 n(%) 2.10(1.32) 1.71(1.00)
31 随访记录中出现头晕 n(%) 1082(4.50) 24(0.05)
32 随访记录中出现心悸 n(%) 118(0.49) 0(0.00)

表4・3基于居民信息表提取的特征变量的统计分布

序号 特征变量 单位 患冠心病

(n=24062)

未患冠心病

(n=47058)

1 高血压的患病年龄 years 53.82(11.93) 47.25(11.68)
2 高血压的患病时长 years 7.27(5.42) 4.80(4.48)
3 性别(男性/女性) male(%) 13240(55.02) 27227(57.86)
4 冠心病的患病标识 n(%) 24062(100) 47058(100)

4.2模型的训练及调参

针对划分好的训练集(N-35648),主要采用五折交叉验证的方法对模型进行前期 的训练、超参数的确定和AUC指标的评估。五折交叉验证算法的主要思想是将训练集 的数据分成5个不重合的子集,测试误差可以估计为5次计算后的平均测试误差,在模 型训练的第7次测试时(7<i<5),训练集中的第Z子集用于测试,其他子集用于训练。

调参是XGBoost建模中的关键性一步,根据章节2.3.2对模型中参数的介绍可知, 参数设置的合理性和准确性是保证模型训练效果,防止过拟合,提高模型的预测准确率 的重要一步。因为XGBoost模型训练的难点之一就在于参数众多,所以一般的调参步骤 是根据经验先固定几个参数,然后对剩余的参数(一般为1到2个)进行网状搜索,然 后对其他的参数再重复上述操作。在本实验中,总结的调参步骤具体如下:

步骤一:在固定其他参数初始值不变的情况下,首先确定学习速率(在(0,1]的区间 范围内调整)和迭代次数,即每棵树节点权重的贡献和基分类器的数量。初始阶段可以 适当选择较大的学习速率,以便模型可以更快速地收敛,计算出最佳的迭代次数;

步骤二:进一步调整最小叶子节点的权重(在[1,8]的区间范围内调整)和树的最大 深度(在[3,10]的区间范围内调整),先大范围的粗调参数,在小范围的微调;

步骤三:对gamma这一数值进行参数调优(在[0,0.5]的范围内调整);

步骤四:调整子树的采样比例和建树时对特征的采样比例(均在[0.6,1]的范围内调 整);

步骤五:对正则化参数进行调优,选择L1正则化或者L2正则化;

步骤六:再次缩小学习速率,调整得到最佳值。

最终结合模型训练每次的结果确定最优的参数设置,程序运行截图如图4-1所示。

xgb = XGBClassifier(

learning_rate = G.05f n_estimators = 1G0O, max_depth = 10, min_child_weight = 3f gamma = 0.5# subsample =0.8』 colsample_bytree = 0.8$ objective = 1 binary:logistic'f nth read = 4, scale_pos_weight = 1, seed = 27)

modelfit(xgb_model』X_train, y_train)

图4-1 XGBoost模型参数设置的程序截图

因此本实验构建的XGBoost模型中,相应的参数设置如表4-4所示。

表4-4 XGBoos模型的参数设置

参数 取值
训练集的数据量 35648
测试集的数据量 35472
特征变量的维度 53
模型学习率 0.05
树的最大深度 10
基分类器的数量 1000
最小化损失函数 二分类Logistic回归
每棵树随机采样的比例 0.8
每棵树随机列采样的比例 0.8
最小叶子节点样本的权重和 3

4.3最优模型的选择及结果展示

本文从超过二十万例病人的临床电子病历数据中,通过研究条件的筛选、个人ID 的匹配,分析整合出了 71120例高血压患者的病例数据记录(43%F, 57%M)。这些记 录中包含医院里的住院诊断记录、门诊诊断和处方的记录、社区的居民信息记录、随访 记录等,时间区间从2001年横跨至2017年。然后运用机器学习算法对从数据集中选取 出来的特征变量进行分析建模,模型主要是对该人群在基准时间点以后的未来三年内患 冠心病的风险概率进行预测。基于该分析队列,随机划分相对独立的训练集(N-35648) 和测试集(NW5472),两组数据集中确诊患冠心病的患者分别为12028例和12034例, 作为模型建立和预测的正例样本。与此同时,实验中严格地控制了样本的正负样本比保 持在1: 2左右,男女性别比也稳定在1.3: 1附近,从而保证了数据的平衡性。具体的 数据样本分布见表4-5和表4-6所示。

表4・5两组数据集中人群的性别及正负样本分布

训练集

(N=35648)

样本数量 所占的比例 测试集 (N=35472) 样本数量 所占的比例
男性 20293 56.9% 男性 20174 56.9%
女性 15355 43.1% 女性 15298 43.1%
正例样本 12028 33.7% 正例样本 12034 33.9%
负例样本 23620 66.3% 负例样本 23438 66.1%

表4-6两组数据中基线变量的选取范围和统计平均值(此处,年龄代表诊断患高血压时的年龄)

基线变量 最大值 最小值 均值
训练集(N=35648) 平均随访时间:5.3年
年龄 84 21 49.25
收缩压,(mm Hg) 198 91 131.25
心率,(bpm) 134 40 75.05
空腹血糖,(mmol/L) 16.55 3.10 5.42
测试集(N=35472) 平均随访时间:5.5年
年龄 84 21 49.70
收缩压,(mm Hg) 199 91 131.51
心率,(bpm) 176 40 75.12
空腹血糖,(mmol/L) 18.62 3.40 5.46

模型训练的效果及在测试集上的性能表现,程序运行结果如图4-2和图4・3所示, 通过观察可以看到,在训练集上模型训练的AUC达到了 0.996,准确率达到了 0.974, 在测试集上的表现也同样优异,AUC达到了 0.967,准确率达到了 0.918,这说明基于 XGBoost算法建立的风险模型是成功的,具有较高的准确率和较强的可靠性。

图4-3 XGBoost在测试集中的性能表现

4.4与传统风险量表模型的结果对比

诸如弗雷明汉这样通过传统的统计学研究获得的风险量表模型,已被长期且广泛地 应用于预防和筛查心血管病高危人群中。为了更进一步凸显机器学习算法建模的可靠 性,这里选取了当前研究中有权威性的三个风险量表模型,进行模型性能的参考对照:

(1)弗雷明汉十年风险预测模型:由Framingham Heart Study团队在1998年提出的 冠心病十年危险评分量表,现已成为世界上公认的预测个体未来CHD发病风险和预防 管理决策的有效工具。该模型研究人群的年龄区间分布在30到74岁之间,简化后的模 型主要预测因素包括:性别、年龄、糖尿病、吸烟、血压的分层(SBP、DBP)、总胆 固醇的分层、高密度脂蛋白胆固醇(HDL-C)分层a】。相应的量表评价标准和分析计算 简要如图4・4、4・5所示。

Estimating Risk of CHD in JVJen

Age/year^ 30-34 35-39 40-44 45-4& 50-54 55-59 G0-&4 G5-G9 70-74
LDL Pts -1 D 1 2 3 4 5 G 7
Choi Pts [-1] [0] [1] [2] [3] [4] [5] [6] [7]

 

Diabetes Sfnoker
  LDL Pts Choi Pts LDL Pts Choi Pts
No 0 [0] No D [0]
Yes 2 [21 Yes 2 [2]

 

Blood Pressure
Systolic     Diastolic (mm Hg)    
(mm Hg) <80 80-84 85^89 9I3-9G ^100
<120 0 [D]pU        
12(^129   0 [OJpU      
130-139     1 [1]pts    
140-159     2    
^160          

图4・4弗雷明汉十年风险量表模型(男性)

EMfnating Risk of CHD in W/omen

Age/yeara 30-34 35-39 40-44 45-49 50-54 55-5S GD-&4 65-G9 70-74
LDL Pts   -4 D 3 6 7 8 S 5
ChcJ Pts 2】 [-4] [0] [3] [6] [71 [SI [Bl [刃

 

LDL-C Cholesterol
  (nwnol^L} LDL Pts (mg/dl) (mmal/L) LDL Pts
<too <2 53 -2 <16D <4 14
100-129 2.60-3 36 0 160 199 4 15-S.17 Pl
130-159 3P7M 14 0 200-239 5 [1]
160-190 4 16-4 92 2 240-279 5 22-7 24

 

HDL-C Key
(mg/dl) (mmobL) LDL Pts Choi Pts Color Relative Risk
-0 w gr&en Wry low
35-44 0.91-1 16 2 [2] gr&en-yellow Low
45-49 1.17-1.29 1 [1] yellow Moderate
50-59 1.30-1.55 0 [0] yellow-red High
囲0 R 56 -2 [罚  

 

Diabetes Smoker
LDL Rs Choi Pts LDL Pts Choi Pts
Wd D [0] No Q [0]

Yes 2 [21

Blood Pressure

Systolic (mm Hg) Diastolic (mm Hg)
<80 30-64 S&-89    
<120 -3 {-3] pls      
12M29   0 [O]pts    
UCM39   0 [D]pts    
140-159     2 [2P*s  

图4・5弗雷明汉十年风险量表模型(女性)

(2)弗雷明汉两年风险预测模型:由Framingham Heart Study团队于2000年提出, 它在原模型的基础上根据最新研究成果建立了冠心病两年危险评分量表,进一步深化和 研究了有冠心病或心血管疾病病史的患者复发或随后发生冠心病事件的风险。该模型研 究人群的年龄区间分布在35到74岁之间,其主要风险因素包括:性别、年龄、糖尿病、 吸烟、SBP的分层、总胆固醇的分层、高密度脂蛋白胆固醇(HDL-C)分层go相应的 量表评价标准和分析计算简要如图4・6、4・7所示。

Points
  O 1 3 4 6 7 9 10
Age 35-39 40-44 45-49 50-54 55-59 6D-G4 65-69 70-74
Diabetes No   Yes      
Cigarettes No   Yes      
HpL-C
Total-C 25 3D 35 40 45 50 60 70 SO
IGO S 75543210
170 8 7 6 5 4 4 2 10
180 9 7 6 5 5 4 3 2 1
190 9 8 7 6 5 4 3 2 1
200 9 8 7 6 5 5 3 2 1
210 IO 876654 3 2
220 IO 9 8 7 65432
230 IO 98766432
240 IO 9877654 3
250 11 9 8. 8 7 6 5 A 3
260 11   9 g 7 6 s 4 3
270 11 io   8 7   4
.2SO 11 10 9 8 8 7 6 5 4 |
290 九2 IO 9 9 8 7 6 5 4 |
300 ^12 11 1OH 9 87     4 |

图4・6弗雷明汉两年风险量表模型(男性)

SBP
If untreated If treated
<11O O O
110-114 ± X1O-124 2
115-124 2 ±25-13 A 3
125-134 3 3_35-lAa 4
135-154 445 54 5
15S-1G4 5 155-1G4 6
16S-184 & 1GS-194 7
185-194 7 X95-214 8
195-214 8 2H5-234 9
215-2B4 >235 IO
>235 IO

 

260 7 6 5 5 4 4 3 3 2 |
270 7 6 6 5 5 4 3 3 2 |
280 7 6 6 5 5 4 3 3 2 j
290 7 6 6 5 5 4 4 3 2 1
300 7 7 G 5 5 5 4 3 3 |

图4-7弗雷明汉两年风险量表模型(女性)

  • 中国多省市队列研究模型(CMCS) : 2003年研究人员基于中国11个省市35-64 岁队列人群建立了中国人群心血管病发病危险的预测模型,该模型采用前瞻性队列研究 的方法,利用预测模型计算不同危险因素水平与心血管病的发病概率。其主要风险因素 包括:性别、年龄、糖尿病、吸烟、SBP的分层、总胆固醇的分层、高密度脂蛋白胆固 醇(HDL-C)分层旳网。相应的量表评价标准和分析计算简要如图4・8所示。

图4・8中国多省市队列研究模型

本实验首先从现有的数据集中选取了符合上述模型研究条件的人群,因为涉及到人 群生活方式和血检指标的提取,所以最终筛选出的符合条件的群体数量并不庞大,但完 全确保了信息的完整性和真实性。研究人群的特征分布如表4・7所示,随后使用Python 语言实现这些量表模型的分析构建,将提取到的数据信息作为测试集依次放入各模型中 进行预测,将不同模型的预测表现进行比较,程序运行结果截图如图4・9所示,通过比 较AUC值的大小来评价该模型分类预测能力的好坏。

表4・7不同预测模型对应的研究群体的特征分布

模型分类 测试集 冠心病患者 糖尿病患者 吸烟者
弗雷明汉十年风 险模型 690 (男性:54% 女性:46%) 537 226 47
弗雷明汉两年风 险模型 679 (男性:54% 女性:46%) 530 225 47
中国多省队列研 究模型(CMCS) 503 (男性:54% 女性:46%) 371 165 33
XGBoost 模型 690 (男性:54% 女性:46%) 537 226 47

Boost算法建立的预测模型分 类效果更好,AUC值达到了 0.9644,其次是Framingham模型的两年风险预测模型,AUC 值为0.8113, Framingham十年风险预测模型和中国CMCS队列模型的预测精度相比较 而言略有下降,AUC值分别为0.7859和0.7745。因此可以说明,基于大数据和机器学 习算法建立的模型,相比较于传统的统计学模型,分类效果更好,预测的精度也更高, 模型的性能表现更优异。

4.5本章小结

本章主要针对建模用到的五十三个特征变量按照数据来源分类后,进行了相应的统 计分析,确保了数据分布的均衡性和可靠性。进而又对模型训练过程中的参数调优的具 体思路及优化结果进行了详细的介绍和说明,模型在训练集中的训练结果和测试集上的 预测表现进行了程序运行结果的展示。同时为了证明本实验建模结果的准确性,将基于 XGBoost建立的模型与三个传统的风险量表模型进行了性能对比,进一步证明了基于机 器学习算法建模的优越性和可靠性。

5风险建模的模型分析及结果对比

5.1主模型的模型解读及分析

5.1.1模型的性能评估及特征重要性排名

XGBoost模型的特征重要性分数(Feature importance),衡量了特征在模型构建提 升决策树中的价值,特征变量在模型构建决策树中用到的越多,它的重要性就相对越高。 本实验主要参考模型所呈现的特征重要性排名及分布,进一步分析选取和构造的特征变 量对最终模型预测的患病风险概率的影响。模型中特征变量的重要性排名,程序运行截 图如图5・1所示。因为模型的重要性排名对应输出的变量数目较多,因此对排名前35 的特征变量及其含义解释补充了表5-1,进行详细的介绍。

Feature importance

图5-1 XGBoost模型中特征变量的重要性排名

表5-1 XGBoost模型中特征重要性排名前35的特征变量

序号 特征 含义解释 特征重 要性得 分
1 htngap 患高血压的年限时长(天数) 3921
2 age 确诊患高血压时的年龄 2678
3 flupmidrate 中间时间点前后随访次数的比例 1578
4 GLU 最近一次随访测得的空腹血糖的值 1204
5 flupbeforecounts 中间时间点前的随访次数 1063
6 INTIMES 累计住院的总次数 886
7 flupaftercounts 中间时间点后的随访次数 881
8 GLUmax 空腹血糖的最大值 846
9 indays 累计住院的总天数 809
10 SBPmax 随访期间测得收缩压的最大值 762
11 SBPmean 随访期间测得收缩压的均值 723
12 GLUmin 随访期间测得空腹血糖的最小值 714
13 HEARTRATETIMESmean 随访期间测得心率的均值 674
14 SBP 最近一次随访测得的收缩压的值 668
15 num fbllowup 6month 最近六个月之内的随访次数 650
16 SBPmin 随访期间测得收缩压的最小值 646
17 num fbllowup 3 month 最近三个月之内的随访次数 632
18 SBPbefbremax 中间时间点前测得的收缩压的最大值 607
19 SBPaftermax 中间时间点后测得的收缩压的最大值 566
20 HEARTRATETIMESaftermax 中间时间点后测得的心率的最大值 501
21 SBPaftermin 中间时间点后测得的收缩压的最小值 493
22 SBPaftermean 中间时间点后测得的收缩压的均值 491
23 HEARTRATETIMES 最近一次随访测得的心率的值 428
24 SEXCODE 性别(男性/女性) 426
25 HEARTRATETIMESbeforemax 中间时间点前测得的心率的最大值 400
26 HEARTRATETIMESmax 随访期间测得心率的最大值 378
27 HEARTRATETIMESmin 随访期间测得心率的最小值 366
28 HEARTRATETIMESaftermean 中间时间点后测得的心率的均值 362
29 HEARTRATETIMESbefbremean 中间时间点前测得的心率的均值 341
30 SBPbeforemin 中间时间点前测得的收缩压的最小值 338
31 GLUmean 随访期间测得空腹血糖的均值 314
32 HEARTRATETIMESaftermin 中间时间点后测得的心率的最小值 300
33 HEARTRATETIMESbeforemin 中间时间点前测得的心率的最小值 277
34 SBPbefbremean 中间时间点前测得的收缩压的均值 248
35 gaoxuezhil 确诊已患咼血脂 225

结合图5-1和表5-1显示的XGBoost特征重要性排名可知,除去传统的危险因素, 例如年龄、高血压的患病年限、收缩压和空腹血糖之外,基于随访活动所建立与时间节 点相关的动态特征变量在风险预测中也发挥了重要的作用。例如,在不同时间段接受随 访的次数及占比,在医院就诊的次数和频率,随访期间测得的各种指标的异常值(最大 值、最小值),对模型构建的贡献也不容忽视。

5.1.2单特征变量对模型预测的影响

为了更进一步研究单特征变量对模型预测的影响,因此开展了针对单个变量的边际 效应分析实验,实验结果如图5・2所示。在散点分布图中,X轴显示了正负样本组的数 据特征分布,Y轴对应于XGBoost预测的风险概率,通过研究变量的变化和对应区间内 风险概率的变化来绘制拟合曲线,得到了相应的趋势曲线图,进而从侧面反映出放入模 型中的若干个连续变量对最终预测得到的患病风险的潜在影响。从图5-2中可以明显看 出个体确诊患高血压时的年纪(age),患高血压的年限时长(htn_gap),最近一次接 受检查时测得的心率值(HEART_RATE_TIMES ),在随访期间所测得的心率 (HEART_RATE_TIMES_max),收缩压(SBP_max)和空腹血糖(GLU_max)的最大 值,随访期间收缩压的均值(SBP_mean),前后时间段随访次数的比率(flup—midjate) 这八个连续变量与预测其患冠心病的风险概率之间显示出了高度的非线性相关。

图5・2当忽略其他因素时,单个连续的特征变量对模型预测概率的影响

首先,对于年龄来讲,个体确诊患高血压时的年龄越大,未来患冠心病的风险也将 越来越高,从图中可以明显看出两者是单调递增的。其次,本文的研究队列人群中,高 血压患者的患病时长大多分布在15年以内,所以在这一区间范围内,随着患病年限的 增加,风险值也将随之增大,但对于患病年限超过15年的患者来讲,因为数据量分布 不集中,所以模型预测的风险值逐渐趋于平缓。再者,最近一次检查中测得的心率也是 建模时考虑到的重要因素之一,基于该指标得到的模型的预测的风险概率普遍偏高,在 正常人心率分布的60〜lOObpm范围内,风险概率趋于平缓甚至略有下降,但超出这一 范围内时,患病的风险概率明显提高。最后,根据研究人群整个随访期间所测得的收缩 压,心率和空腹血糖的最大值结合模型预测可以看出,随着这些指标的不断增大,患病 的风险也在不同程度上均有所提高,当有较大的异常值出现时,风险概率也将相对应地 达到更大值。针对随访期间测得的收缩压的均值在数据集中分布的120〜145mmHg区间 范围内,风险概率的预测值达到了最大,在其他分布不均衡的范围内预测的概率相对较 低。而个体前后随访次数的比率随着临近发病前夕随访次数的增加,模型预测的风险概 率也随之增加,结合真实情况,这样的预测趋势是具有合理性的。

因此,这也提示我们对待高血压患者的随访记录工作应该切实有效地开展,密切关 注他们日常身体指标的各种异变,一旦有不同于以往的明显异常值出现时,应及时开展 更深入的检查和治疗,对预防和确诊心血管疾病的发生有重大意义。

5.2影响模型性能的主要因素

5.2.1特征变量对建模结果的影响

实验建模的初衷是为了通过机器学习的方法在大量的临床数据中挖掘出对预测冠 心病有显著影响和帮助的特征,因此如何构造和挑选出有用的特征变量放入预测模型中 供算法学习,对提高预测模型的准确性有很好的研究意义。同时为了尽可能排除缺失值 对模型预测的影响,考虑到收缩压(SBP)作为主要的风险因素,因此在原始数据集的 基础上筛选出SBP非空的人群,重新组成全新的训练集和测试集,探究不同特征变量的 选取对模型性能的影响。新构成的训练集20307个人,测试集22368个人,正负样本比 稳定在1: 1.1之间,在每次实验中,通过依次向模型中添加新的特征变量,进而不断提 高模型学习的特征维度,观察模型的评价指标准确率(Accuracy, ACC)和AUC值的 变化,从而探究模型性能的提升趋势,相应的实验结果如表5・2所示。

表5-2在固定了训练集和测试集人群数量不变的情况下探究特征变量的构造对模型性能的影响

选取的特征变量 特征数量 AUC ACC
收缩压(SEP),心率,age,性别(SEX CODE) 4个 0.7918 0.7167
添加糖尿病的判断(tangniaobingl) 5个 0.8097 0.7260
添加高血脂的判断(gaoxuezhil) 6个 0.8381 0.7479
添加住院诊断标识(in_flag) 7个 0.8454 0.7516
添加住院诊断的病症(14个) 21个 0.8475 0.7539
添加患高血压的年限时长(htngap) 22个 0.8596 0.7658
加入动态因素(4个) (SBP min, SBP max, HEARTRATETIMESmin, HEARTRATETIMESmax) 26个 0.8874 0.7952
加入均值数据(2个)

(SBP mean, HEART RATE TIMES mean)

28个 0.9089 0.8240
加入跟时间节点划分相关的特征(3个) (flup before counts, flup after counts, flupmidrate) 31个 0.9258 0.8484
加入中间时间点前后统计到的特征(12个) (SBP_befbre(after)_min(max.mean), HEART_RATE_TIMES_befbre(after)_min(max, mean) 43个 0.9322 0.8573
加入统计的随访次数(2个)

(num_fbllowup_3month, num_fbllowup_6month)

45个 0.9485 0.8805

在上述实验流程中,通过在基线变量的基础上依次添加糖尿病,高血脂病症的判断, 住院诊断的标识及相应的诊断症状,高血压的患病时长,动态因素影响的变量,与时间 节点划分相关的特征和统计到的随访次数等,可以得知:随着有意义的特征变量不断放 入模型中,模型预测的准确率和AUC值也不断得到了提高。因为随着特征维度的不断 增加,模型可以更全面地学习到更多有用的信息,对最终做出正确的判断提供有效的支 撑和参考。

5.2.2数据量对建模结果的影响

传统的基于统计学建立的疾病预测模型都依赖于大规模的研究队列,研究人群的规 模是影响所创建模型最终性能的重要因素之一。为了探究样本数据量对模型性能的影
响,因此本文中,在固定原始特征变量不变的情况下,尽可能排除抽取方式的随机性对 实验结果造成的误差,针对不同的样本集,每次随机抽取相对应的数据量,分别进行五 次风险建模的实验后,取模型在测试集中的表现,即评价指标(准确率和AUC)的平 均值作为最终模型性能的评价指标,实验结果如表5-3所示。

表5・3:不同数据量所对应的建模结果

数据量 准确率 AUC
200 0.780 0.767 0.850 0.832
0.745 0.807
0.740 0.823
0.770 0.840
0.800 0.839
2000 0.847 0.838 0.933 0.926
0.838 0.927
0.833 0.921
0.838 0.927
0.835 0.924
20000 0.869 0.869 0.943 0.943
0.868 0.943
0.869 0.943
0.868 0.942
0.870 0.943

上述实验结果表明,在特征变量的个数固定不变的情况下,随着研究人群规模的增 大,模型预测的准确性和可靠性也会相应得到提升。但另一方面也反映出,在给定的特 征变量较为有效和全面的情况下,即使样本数很少,机器学习算法相比较于大规模的人 群队列研究,也展现出了较强的优势(AUC>0.8) o

5.2.3建模方法对建模结果的影响

经过特征处理以后,针对提取到的描述个体患病特征的53个特征变量作为机器学 习算法模型的特征输入,在划分好的固定训练集(35648, 53)和测试集(35472, 53) 上进行模型的训练,验证及预测,探究基于不同的机器学习算法构建的预测模型在准确 率及AUC值的差别,汇总得到的实验结果如表5・4所示,程序运行结果如图5・3所示。

表5・4不同机器学习算法的建模结果比较

算法模型 AUC 准确率 Fl值 灵敏度 阳性预 测率 特异度 阴性预 测率
感知器

(Perceptron)

0.803 0.826 0.740 0.730 0.751 0.876 0.863
Logistic 回归 (Logistic Regression) 0.826 0.853 0.774 0.740 0.812 0.912 0.872
决策树

(DecisionTree)

0.887 0.899 0.851 0.851 0.851 0.923 0.924
K・近邻 (KNN) 0.887 0.899 0.851 0.851 0.851 0.923 0.924
支持向量机

(SVM)

0.894 0.907 0.862 0.855 0.869 0.934 0.926
随机森林

(Random Forest)

0.904 0.916 0.875 0.869 0.882 0.940 0.933
极端梯度提升

(XGBoost)

0.967 0.918 0.878 0.877 0.879 0.938 0.937

图5-3不同机器学习算法建模结果的程序运行结果图

通过对比了表5・4中若干类机器学习算法的建模结果可知:在此实验中,运用机器 学习技术建立的模型,预测的准确率及AUC值均取得了不错的结果:

  • 基于决策树,K・近邻,支持向量机,随机森林和XGBoost算法建立的模型预测 的准确率和AUC值普遍高于传统的感知器和Logistic回归算法;
  • 决策树和K■近邻算法构建的模型性能表现相似;
  • 基于集成方法的随机森林和XGBoost算法构建的模型准确率最高,但显然 XGBoost的AUC值更大,也就意味着模型的分类效果更好,对正例样本预测的准确性 更高,模型的稳定性更强;
  • 最有效的模型是基于XGBoost算法构建的主模型(AUC 0.967,准确率918), 在该模型测试验证的结果中,测试集的研究队列人群总数为35472,其中有12034人被 诊断为冠心病,模型准确地预测出了其中的10548人,未患冠心病的负例样本为23438 人,模型准确地预测出了 21985人,灵敏度为0.8765,特异度为0.938。

因此基于机器学习算法构建的冠心病风险预测模型是成功的,具有良好的稳定性、 较高的预测精度及运行的高效性,可以提前预警冠心病的患病风险,根据风险指标可给 予精准健康干预,模型具有较强的可操作性和实用性。

5.3本章小结

本章主要对基于XGBoost算法建立的冠心病风险预测模型进行了性能评估和特征 重要性排名的结果展示,通过边际效应分析了部分风险因素对预测结果的影响,同时为 了增强模型的可解释性,又分别从特征变量的构建,数据量的大小和不同建模方法的选 取三个方面进一步研究讨论了影响模型性能的主要因素,通过实验结果证明,随着放入 模型中的特征变量的增多,模型训练时数据量的增大,和不同机器学习算法的选取,建 模结果也会发生显著性的差异。

6总结与展望

6.1本文总结

本文主要运用大数据和机器学习算法,从针对心血管疾病的风险建模的角度出发, 基于深圳市庞大的高血压人群的电子病历数据,进行分析建模,最终实现对高血压患者 未来三年患冠心病的风险概率进行预测。与传统的基于统计学方法开展的疾病研究不 同,本实验基于电子病历数据构建的预测模型性能AUC值达到了 0.967,准确率达到了 0.918,有较高的准确率和稳定性。主要的研究成果从如下四个方面进行阐述:

  • 本文首先对深圳市几十万例高血压患者庞大的电子病历数据进行提取、筛选、 数据清洗等预处理后,又开展了相应的统计分析和特征工程等实验,对提取和构造的特 征变量进行了有效的特征选择,确定最终建模所需要的有用变量。
  • 基于提取和构造的特征变量,通过机器学习算法XGBoost,经参数调优训练得 到了高精度的冠心病预测模型,通过与其他三类目前极具权威性的传统的风险量表模型 进行对比,证明了本实验建立的模型具有更好的预测性能和预测精度。
  • 为了更深刻地理解和分析该风险预测模型,提高模型的可解释性,又进一步从 特征变量的构造,样本数据量和不同建模方法三方面探究和讨论了影响模型结果的主要 因素。实验结果证明了:与仅使用静态特征变量相比,从多个记录中获得的与时间节点 相关的动态特征对提升模型预测性能效果显著;模型训练中样本数据量的大小也是重要 的参考因素,但在保证了特征变量充足且有效的前提下,并不是影响建模结果的决定性 因素;不同的机器学习算法建立的模型,预测的准确率也有较大的差别,但总体上基于 集成方法的随机森林和XGBoost建模效果明显优于传统的非线性模型(如K・近邻、决 策树、支持向量机等)。
  • 针对单因素变量的边际效应研究发现,传统的风险因素和电子病历提取到临床 特征在预测冠心病的发病风险时都显示出了高度的非线性相关,结合模型在建立过程中 筛选出的贡献性较高的特征变量,这些风险因素的发现和挖掘对于研究和预防冠心病具 有重要的现实意义。

6.2未来展望

不管从保障数据质量和安全来源的层面出发,还是从推动技术革新早日落地的角度 来看,真正实现将机器学习和数据挖掘技术有效、可靠、全面地应用服务于医疗健康领 域,未来仍面临着诸多的挑战,但随着电子医疗系统的不断完善、新科技成果的不断涌 现,这些难题都有望得到更好地解决。随着深度学习技术给人工智能领域带来的巨大进 步与创新,神经网络在医学图像分析,医疗文本挖掘、疾病预测等方面也展现了强有力 的优势。在下一阶段,将深度学习技术应用于现有电子病历的文本挖掘中,构建相应的 图网络,解决机器学习中网络结构学习这一难点问题,实现医疗文本的分类及处理,进 而开展疾病的关联性诊断和预防,也具有很强的研究意义。

由于本文研究的数据集来源于现实中真实记录的电子病历数据,数据量的庞大、信 息收集环境的复杂性、多样性等因素导致数据本身存在病例信息缺失严重的问题,因而 提取到的特征变量存在一定的不完整性和偏差性。一些潜在的危险因素,如舒张压、体 质指数、医院的生化检测、血检指标等,由于在研究人群中缺失比例很大,为了建模的 可靠性考虑,最后并没有作为参考的特征变量放入模型中训练。所以如果后续可以及时 补充这部分数据信息,模型的性能一定可以得到更好的优化、提升和改善。

参考文献

  • Catarinucci L, De Donno D, Mainetti L, et al. An IoT-aware architecture for smart healthcare systems[J]. IEEE Internet of Things Journal, 2015, 2(6): 515〜
  • Shrivastava A K, Singh H V Raizada A, et al. C-reactive protein, inflammation and coronary heart disease [J]. The Egyptian Heart Journal, 2015, 67(2): 89〜
  • Imes C C, Austin M A. Low-density lipoprotein cholesterol, apolipoprotein B, and risk of coronary heart disease: from familial hyperlipidemia to genomics [J]. Biological research for nursing, 2013, 15(3): 292〜30&
  • World Health Organization( WHO). Cardiovascular diseases(CVDs) [EB/OL]. https://www.who.int/en/news-room/fact-sheets/detail/cardiovascular-diseases-(cvds)[accessed 2017-05-17]
  • 胡盛寿,高润霖,刘力生等.中国心血管病报告201&中国循环杂志,2019(3):2.
  • Goodfellow I, Bengio Y Courville A. Deep learning[M]. MIT press, 2016.
  • Shameer K, Johnson K W, Glicksberg B S, et al. Machine learning in cardiovascular medicine: are we there yet?[J]. Heart, 2018, 104(14): 1156〜
  • Weng S F, Reps J, Kai J, et al. Can machine-learning improve cardiovascular risk prediction using routine clinical data?[J]. PLOS one, 2017, 12(4): e0174944.
  • Woodward M , Tunstall-Pedoe H , Peters S A . Graphics and statistics for cardiology: clinical prediction rules [J]. Heart, 2017, 103(7): 538〜
  • Kannel W B , Mcgee D , Gordon T. A General Cardiovascular Risk Profile: The Framingham Study [J]. The American Journal of Cardiology, 1976, 38(1): 46〜
  • DAgostino R B, Russell M W, Huse D M, et al. Primary and subsequent coronary risk appraisal: new results from the Framingham study [J]. American heart journal, 2000, 139(2): 272〜
  • D'Agostino RB, Vasan RS, Pencina MJ, et al. General Cardiovascular Risk Profile for Use in Primary Care: The Framingham Heart Study [J]. Circulation, 2008, 117(6): 743.
  • Hippisley-Cox J, Coupland C, Vinogradova Y, et al. Derivation and validation of QRISK, a new cardiovascular disease risk score for the United Kingdom: prospective open cohort study [J]. BMJ, 2007, 335(7611): 136.
  • Hippisley-Cox J, Coupland C, Vinogradova X et al. Predicting cardiovascular risk in England and Wales: prospective derivation and validation of QRISK2[J]. BMJ, 2008,

336(7659): 1475〜1482.

  • Conroy R M, Pyorala K, Fitzgerald A P, et al. Estimation of ten-year risk of fetal cardiovascular disease in Europe: the SCORE project[J]. European heart journal, 2003, 24(11): 987〜
  • Mendis S, Lindholm L H, Mancia G, et al. World Health Organization (WHO) and International Society of Hypertension (ISH) risk prediction charts: assessment of cardiovascular risk for prevention and control of cardiovascular disease in low and middle-income countries[J]. Journal of hypertension, 2007, 25(8): 1578〜
  • Obermeyer Z, Emanuel E J. Predicting the future一big data, machine learning, and clinical medicine [J]. The New England journal of medicine, 2016, 375(13): 1216.
  • 颜延,秦兴彬,樊建平等.医疗健康大数据研究综述[J].科研信息化技术与应用, 2014(06): 5-18.
  • Dong X, Qian L, Guan Y, et al. A multiclass classification method based on deep learning for named entity recognition in electronic medical records[C]//2016 New York Scientific Data Summit (NYSDS). IEEE, 2016: 1 〜
  • Murdoch T B, Detsky A S. The inevitable application of big data to health care [J]. JAMA, 2013,309(13): 1351 〜
  • Pearce C,Bainbridge M. A personally controlled electronic health record for Australia]J]. JAMA, 2014, 21(4): 707〜
  • Pereira L, Rijo R, Silva C, et al. ICD9-based text mining approach to children epilepsy classification]J]. Procedia Technology, 2013, 9: 1351 〜
  • Rapsomaniki E , Timmis A , George J , et al. Blood pressure and incidence of twelve cardiovascular diseases: lifetime risks, healthy life-years lost, and age-specific associations in 1.25 million people[J]. The Lancet, 2014, 383(9932): 1899〜
  • Rumsfeld J S, Joynt K E, Maddox T M. Big data analytics to improve cardiovascular care: promise and challenges [J]. Nature Reviews Cardiology, 2016, 13(6): 350.
  • Gerard P. Slobogean, Peter V. Giannoudis, Frede Frihagen, et al.Bigger Data, Bigger Problems[J]. Journal of Orthopaedic Trauma, 2015, 29: S43-S46.
  • Lee C H, Yoon H J. Medical big data: promise and challenges[J]. Kidney research and clinical practice, 2017, 36(1): 3.
  • Scruggs S B, Watson K, Su A I, et al. Harnessing the heart of big data]J]. Circulation research, 2015, 116(7): 1115〜
  • Wang W, Krishnan E. Big data and clinicians: a review on the state of the science [J].

JMIRmedical informatics, 2014, 2(1): el.

  • Roski J, Bo-Linn G W, Andrews T A. Creating value in health care through big data: opportunities and policy implications [J]. Health affairs, 2014, 33(7): 1115〜
  • Sinha A, Hripcsak G, Markatou M. Large datasets in biomedicine: a discussion of salient analytic issues[J]. Journal of the American Medical Informatics Association, 2009, 16(6): 759〜
  • Deo R C. Machine learning in medicine [J]. Circulation, 2015, 132(20): 1920〜
  • Fisher L D?Lin D Y. Time-dependent covariates in the Cox proportional-hazards regression model [J]. Annual review of public health, 1999, 20(1): 145〜
  • D'Agostino R B, Grundy S, Sullivan L M, et al. Validation of the Framingham coronary heart disease prediction scores: results of a multiple ethnic groups investigation]J]. JAMA, 2001, 286(2): 180〜
  • Agarwal V , Zhang L , Zhu J , et al. Impact of Predicting Health Care Utilization Via Web Search Behavior: A Data-Driven Analysis[ J]. Journal of Medical Internet Research,
  • 18(9): e251.
  • Allyn J, Allou N, Augustin P, Philip I, Martinet O, Belghiti M, et al. A comparison of a machine learning model with EuroSCORE II in predicting mortality after elective cardiac surgery: a decision curve analysis [J]. PLOS One 2017; 12(1): e0169772
  • Koutsouleris N, Kahn RS, Chekroud AM, Leucht S, Falkai P, Wobrock T, et al. Multisite prediction of 4-week and 52-week treatment outcomes in patients with first-episode psychosis: a machine learning approach. Lancet Psychiatry 2016 Oct; 3(10): 935〜
  • Desautels T, Calvert J, Hoffman J, Jay M, Kerem X Shieh L, et al. Prediction of sepsis in the intensive care unit with minimal electronic health record data: a machine learning approach[J]. JMIR Med Inform 2016 Sep 30; 4(3): e2&
  • Stylianou N, Akbarov A, Kontopantelis E, et al. Mortality risk prediction in burn injury: Comparison of logistic regression with machine learning approaches]J]. Burns, 2015, 41(5): 925〜
  • Park E, Chang H J, Nam H S. Use of machine learning classifiers and sensor data to detect neurological deficit in stroke patients [J]. Journal of medical Internet research,
  • 19(4): el20.
  • Gehrmann S, Dernoncourt F, Li X,et al. Comparing deep learning and concept extraction based methods for patient phenotyping from clinical narratives [J]. PLOS

One, 2018, 13(2): e0192360.

  • Ranganath R, Perotte A, Elhadad N, Blei D. Deep Survival Analysis. arXiv preprint arXiv: 16080215& 2016
  • Dernoncourt F, Lee J Y, Uzuner O, et al. De-identification of patient notes with recurrent neural networks [J]. Journal of the American Medical Informatics Association, 2017, 24(3): 596〜
  • Esteva A, Kuprel B, Novoa R A, et al. Dermatologist-level classification of skin cancer with deep neural networks [J]. Nature, 2017, 542(7639): 115.
  • Gulshan V, Peng L, Coram M, et al. Development and validation of a deep learning algorithm for detection of diabetic retinopathy in retinal fundus photographs [J]. JAMA,
  • 316(22): 2402〜
  • Cheng X Wang F, Zhang P, et al. Risk prediction with electronic health records: A deep learning approach[C]//Proceedings of the 2016 SIAM International Conference on Data Mining. Society for Industrial and Applied Mathematics, 2016: 432〜
  • Choi E, Schuetz A, Stewart W F, et al. Using recurrent neural network models for early detection of heart failure onset[J]. Journal of the American Medical Informatics Association, 2016, 24(2): 361〜
  • Chen T,Guestrin C. Xgboost: A scalable tree boosting system[C]//Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining. ACM, 2016: 785〜
  • Tang J, Deng C, Huang G B. Extreme learning machine for multilayer perceptron [J]. IEEE transactions on neural networks and learning systems, 2015, 27(4): 809〜
  • Park E, Chang H J, Nam H S. Use of machine learning classifiers and sensor data to detect neurological deficit in stroke patients [J]. Journal of medical Internet research,
  • 19(4): el20.
  • Hosmer Jr D W, Lemeshow S, Sturdivant R X. Applied logistic regression[M]. John Wiley &Sons, 2013.
  • Barros R C, Basgalupp M P, De Carvalho A C, et al. A survey of evolutionary algorithms for decision-tree induction[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 2011, 42(3): 291 〜
  • Guo G, Wang H, Bell D, et al. KNN model-based approach in classification[C]//OTM Confederated International ConferencesnOn the Move to Meaningful Internet Systems11. Springer, Berlin, Heidelberg, 2003: 986〜
  • Breiman L. Random forests [J]. Machine learning, 2001, 45(1): 5〜
  • Pedregosa F, Varoquaux G, Gramfort A, et al. Scikit-learn: Machine learning in Python[J]. Journal of machine learning research, 2011, 12(Oct): 2825-2830.
  • Buitinck L, Louppe G, Blondel M, et al. API design for machine learning software: experiences from the scikit-learn prqject[J]. arXiv preprint arXiv: 1309.0238, 2013.
  • Wilson P W F , D'Agostino R B , Levy D , et al. Prediction of Coronary Heart Disease Using Risk Factor Categories [J]. Circulation, 1998, 97(18): 1837〜
  • 王薇,赵冬,刘静等.中国35〜64岁人群心血管病危险因素与发病危险预测模型 的前瞻性研究[J].中华心血管病杂志,2003,31(12): 902〜90&
  • 刘静,赵冬,王薇等.中国多省市心血管病危险因素队列研究与美国弗莱明翰心 脏研究结果的比较[J].中华心血管病杂志,2004, 32(2).

致谢

两年半的研究生生涯转瞬即逝,在圆满完成毕业设计的这一刻,内心感慨万千,一 路走来,有太多的老师、朋友、家人爱的陪伴和鼓励让我在科研这条道路上一路坚定前 行!有过气馁,有过怅然失意,有过强烈的自我怀疑和满满的挫败感,但科研道路从来 就不是一帆风顺,我很庆幸自己身边的导师们严谨治学的科研态度和耐心细致的谆谆教 导让我由一个科研小白入门,一路不断成长进步。从毕设论文的开题、中期汇报到最后 的论文定稿,非常感谢我的导师程雯老师给予的指导和关注,她待人温和友善,做事细 致认真,从论文布局到格式修改,再到内容完善都给予了频繁且多次的专业性指导。在 她的帮助下我顺利完成了自己的毕业设计,在此,向程老师致以最诚挚的谢意。

同时,我也很感激自己在深圳先进技术研究院的实习和科研实践经历,在此实习期 间我深刻体会到了只有保持脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚 持不懈、吃苦耐劳的实践精神,才能更快地适应实习生活,完成自身身份和心态的转变, 对自己建立更为清晰深刻的定位,从而更好地开展科研研究。感谢邮科院的老师们在研 一期间对我们的专业知识的传授和培养,也感谢实验室的老师,师兄师姐的温馨相处和 耐心答疑。大家都说可怕的是比你聪明的人比你还努力,其实也不尽然,在我看来,更 为可怕的是和你一样聪明的人和你一样努力,却比你努力的有方向。因为有了明确的目 标和清晰的人生规划,这样才使我们的努力付出显得更有意义。未来的人生道路还充满 各式各样的惊喜和无穷的可能性,希望自己可以一直永葆初心,怀揣着满满的爱与感动, 支持与鼓励,砥砺前行。

最后预祝自己毕业快乐,感谢辛勤养育我的父母,一直陪伴在我身侧的朋友,同学, 不断激励我奋进的老师,我将一如既往,坚定走好人生的每一步!