转载:数据挖掘常用算法及其在医学大数据研究中的应用
医院信息化的发展及云计算、大数据、物联网、人工智能等在医疗领域的应用,为医学数据的获取、存储及处理提供了极大便利。数据挖掘也随着计算机技术得到了广泛应用,从而提高了数据利用效率,拓展了知识发现的广度与深度。目前,医院已积累了大量医疗相关数据。医学大数据与数据挖掘的结合,能够帮助人们从存储的大体量、高复杂的医学数据中提取有价值信息,加速医学成果转化,为医疗行业开拓一个新的时代。介绍了医学数据挖掘中常用算法及其在医学大数据中的研究成果,以期为今后医学大数据的挖掘利用提供参考。
数据挖掘是指从数据库中,提取隐含在其中的人们事先未知、潜在的有用的信息和知识的过程。数据挖掘已有较多成熟方法,并在医学大数据挖掘中取得了一定成果。本研究对数据挖掘的常用算法及在医学大数据中的应用进行综述。
数据挖掘分类及常用算法
预测型数据挖掘预测型数据挖掘是从历史数据中发现的已知结果,推断或预测未知数据的可能值,有预测和回归两种类型。常用算法有线性回归、Logistic回归、K-NN算法、决策树(DT)、人工神经网络(ANN)、支持向量机(SVM)及各种集成算法等。
回归回归是指确定响应变量和一个或多个自变量之间依赖关系以构建预测模型。Kirkland等利用Logistic回归建立模型,对采集的病人临床指标等数据建立了疾病恶化预警模型,可对病人未来2-12小时可能出现的疾病恶化风险进行预测。Escobar等基于14家医院的电子病历数据,同样采用Logistic回归建立模型,用于病人非计划转入ICU的预测。
分类分类是指基于已知所属类别的历史数据的特征描述预先定义好的类别,构建预测类别的模型,再根据待查数据的相关特征与这些类别相应特征之间的相似程度,确定待查数据应划归入的类别,可用于预测性研究。Meng等[5]应用了Logistic回归、ANN及决策树三种分类算法建立了糖尿病预测模型。
描述型数据挖掘描述型数据挖掘是识别数据中的模式或关系,旨在探索被分析数据的内在性质,常用方法有关联规则、序列规则和聚类。
关联规则关联规则通过从大量数据中,发现数据之间某些未知的、潜在的且有实际意义的关联或联系,并以关联规则的形式表现出来。关联规则应用于医学研究,可以从医疗信息中揭示疾病发生、发展规律以及医学诊断、医学图像、症状与用药等某些内在联系,为疾病诊断和健康管理提供参考。李准等基于Apriori算法,对某综合性医院电子病历中不同的冠心病诊断结果与用药情况进行关联规则挖掘,发现不同药品对不同诊断的治疗效果及冠心病危险因素。Qin Li等将Apriori算法用于高血压、房颤、血脂异常等8项高风险因素与中风之间关联性挖掘,提供了可行的中风预防、早期诊断和早期治疗方式。
序列规则序列规则可挖掘相对时间或其他模式出现频率较高的模式,通过对时间序列数据挖掘,可获得与时间密切相关的信息,实现知识获取。王晨等将非线性时间序列分析中的算法引入胎儿心电信号处理,成功实现胎儿心电信号与母体生物电信号的分离,对提高胎儿心电监护有很好的辅助作用。冯冰等认为时间序列在预测传染病发病中较好的效果,并建立了两种季节时间序列模型对某市细菌性痢疾月发病率预测效果进行对比研究,预测效果与实际情况基本一致。
聚类分析聚类可将整个数据集分成几个数据组,属于同一组的实例尽可能地相似,而属于不同组的实例则尽可能不同,常用算法如K-means和TwoStep等。张勃等将K-means应用于冠脉光学相干断层成像的图像斑块分割,实现多区域斑块精确分割,为医生快速精确地读取图像和评估患者病情提供依据。TwoStep相比其他聚类的一个突出优点是,能够自动选择最佳分组数而无需预先设置,如杨美洁将TwoStep聚类算法用于电子病历中高血压患者数据聚类分析,得到了高血压重要的预测变量。
数据挖掘的过程
数据挖掘过程大致包括6个步骤:数据选择、数据清洗、数据赋值、数据转化、数据挖掘和结果解释与评估。数据选择包括数据源、数据类型、特征变量等的选择,其中,特征变量选择至关重要,许多分析建模探索往往始于数以百计甚至更多的变量,但通常来说,只有少数变量真正与目标变量有关,有助于降低模型训练时间和存储空间,提高模型的精度。研究者在建立预警模型时,以Logistic回归从众多变量中筛选了特异性较高的变量用于模型建立;Khiabani等[20]则以filter 和wrapper两种变量选择法分别从55个变量中筛选特征变量,用于前驱糖尿病预测研究,并将预测结果与全变量模型的预测结果进行了对比,发现经过特征变量筛选的预测模型的精确性优于全变量模型。
数据挖掘在医学大数据研究中的应用
数据挖掘在医学大数据研究中已取得了较多成果,通过文献检索,总结了三方面的应用现状。
疾病早期预警医疗领域往往需要更精确的实时预警工具,而基于数据挖掘的疾病早期预警模型的建立,有助于提高疾病的早期诊断、预警和监护,同时,也有利于医疗机构采取预防和控制措施,减少疾病恶化及并发症的发生。
疾病早期预警,首先要收集与疾病相关的指标数据或危险因素,然后建立模型,从而发现隐含在数据之中的发病机制和病情之间的联系。Forkan等采集日常监测的心率、舒张压、收缩压、平均血压、呼吸率、血氧饱和度等生命体征数据,以J48决策树、随机森林树及序列最小优化算法等建立疾病预警模型,用于远程家庭监测,识别未曾诊断过的疾病发生,并将监测结果发送到医疗急救机构,实现生命体征大数据、病人及医疗机构的完整衔接,以降低突发疾病及死亡的发生率。Easton等利用贝叶斯分类算法建立了中风后遗症死亡预测模型,认为中风后遗症死亡概率与中风发生后的时间长短成函数关系,有助于中风后遗症患者的后续监护。Tayefi等基于决策树算法建立了冠心病预测模型,该模型发现hs-CRP作为新的冠心病预测标志物,比传统的标志物(如FBG、LDL)更具特异性。
慢性病研究糖尿病、高血压、心血管疾病等慢性病正在影响着人们的健康,识别慢性病危险因素并建立预警模型有助于降低慢性疾病并发症的发生。Alagugowr等建立的心脏病预警系统,从心脏病大数据库中提取特征指标,通过K-means聚类算法识别出心脏病危险因素,又以Apriori算法挖掘高频危险因素与心脏病危险等级之间的关联规则。Ilayaraja等则以高频项集寻找心脏病危险因素并识别病人风险程度,该方法能够回避无意义项集的产生,从而解决了以往研究中项集数量多、所需存储空间大等问题。CH Jen等对慢性疾病并发症风险识别的研究分三个步骤,首先,选择健康人群体检数据和慢性病患者相关疾病数据,以带有序列前项选择的线性判别分析来寻找相关疾病的特征变量;然后,以K-NN对特征变量进行分类处理;最后,将K-NN算法的分类结果应用于慢性疾病预警模型的建立。Aljumah等先后以回归分析和SVM用于预测和判断糖尿病不同治疗方式与不同年龄组之间的最佳匹配,为患者选择最佳治疗方式提供依据。Perveen等对糖尿病的预测研究,采用患者人口学数据和临床指标数据,并分别用Adaboost集成算法、Bagging算法及决策树三种算法来建立预测模型,认为Adaboost集成算法的精确性更高。
辅助医学诊断医学数据不仅体量大,而且错综复杂、相互关联。对大量医学数据的分析,挖掘出有价值的诊断规则,将对疾病诊断提供参考。Yang等基于决策树算法和Apriori算法,对肺癌病理报告与临床信息之间的关联性进行了研究,为肺癌病理分期诊断提供依据,从而可回避诊断中需要手术方法获取病理组织。Becerra-Garcia等应用SVM、K-NN和CART三种算法对眼球电图进行信号预处理、脉冲检测和脉冲分类,为研究临床眼球电图检查中非自发扫视眼球运动的识别提供依据。彭玉兰等对某医院5年的乳腺超声数据进行了关联规则挖掘,建立乳腺病理诊断与超声诊断之间的关联规则,并开发了乳腺超声数据库数据检索系统,便于医生快速获得超声诊断和病理诊断的各种诊断信息和病例信息。
医学大数据挖掘已呈现广阔的发展前景和巨大的应用价值,将为疾病研究、临床及管理决策、医疗服务个性化及图像识别等众多领域带来更多支持。麦肯锡在其报告中指出,大数据分析可以帮助美国医疗服务业一年创造3000亿美元的附加价值,而美国医疗协会也称,改善医疗卫生事业的关键在于大数据。目前,医院大数据中心、区域性卫生信息平台、国家医疗大数据中心的建立以及卫生信息互联互通标准和共享规范的制定,为数据存储和共享、推动医学大数据的应用提供了更多支撑。未来,医学大数据挖掘将不断更新,探索新的研究领域,推动研究成果转化。
文章来源:《中国数字医学》杂志2018年第03期,作者及单位:孙雪松 王晓丽,上海市浦东卫生发展研究院。