APP下载

基于HITON—PC算法的医院病案首页数据挖掘

2018-05-15易三莉杨静姚旭升谢颖夫贺建峰

软件导刊 2018年4期
关键词:因果关系数据挖掘

易三莉 杨静 姚旭升 谢颖夫 贺建峰

摘 要:使用HITON-PC算法分析某甲级医院2015年住院首案中记录的非胰岛素依赖型糖尿病及其它协同疾病之间是否存在因果性。HITON-PC算法是一种运用条件独立性检验处理高维数据的因果分析算法,将其应用于医学数据挖掘中,能高效得出变量之间的因果关系。非胰岛素依赖型糖尿病与冠状动脉粥样硬化、高血脂、高血压、高血压II期和高血压III期之间有着因果关系。通过因果关系分析,可以很好地从大量临床数据中发现疾病间的潜在因果性,为相关疾病的临床诊断提供辅助,具有很强的实用性。

关键词:数据挖掘;HITON-PC;因果关系

DOI:10.11907/rjdk.172708

中图分类号:TP391

文献标识码:A 文章编号:1672-7800(2018)004-0188-03

Abstract:HITON-PC is an algorithm of causal analysis, and it is used to analyze the causal relationship between non-insulin dependent diabetes mellitus(NIDDM) and its cooperative diseases in the medical record data; it is also an algorithm of causal analysis which conducts high-dimensional data employed conditional independence test. HITON-PC is applied in medical data mining and it can effectively determine the causality between variables in medical data mining. There are a lot of causal relationships among NIDDM, hyperlipidemia and hypertension. Causality analysis is a good way to detect the potential causality between diseases from a large amount of clinical data.It can provide an auxiliary method for the clinical diagnosis of related diseases and plays a practical role in medical data mining.

Key Words:data mining; HITON-PC; causal relationship

0 引言

近年來,大数据已成为科技界和企业界关注的热点,其可对数量巨大的数据作搜索、比较、聚类和分类等分析归纳,找出数据之间的关联性。相关分析的目的是找出数据集里隐藏的相互关系网(关联网),一般用支持度、可信度和兴趣度等参数反映相关性[1]。大数据分析具有较高的容错性,其目的在于发现整体数据中某些指标之间的相关性,然后用分析结论改善因果关系分析的前提假设,并运用大数据分析具有的预测功能解决现实社会中的实际应用问题[2]。

因果关系阐释了事物间的本质联系,在日常生活中,人们更多依靠经验判定事物间的因果关系,比如抽烟会导致肺癌。虽然目前因果关系还没有一个能被广泛接受的严格定义,对其到底是客观世界本身的属性,还是人的意识为理解世界而创造出来的主观概念,人们还未达成共识。但随着大数据时代的来临,人们依然希望能从已有数据中客观分析事物间的因果关系[3]。如何利用已有信息判定事物间的因果关系是科学领域的一个基本问题,

HITON-PC即是一个经典的因果分析方法,它能高效地分析高维数据的因果性[4]。

1 HITON-PC

1.1 HITON-PC算法概念

HITON-PC基于因果马尔可夫假设发现变量间的因果关系,应用条件独立性测试识别出变量间的强关联与持久关联。该算法可靠性的关键在于完全覆盖条件独立性测试,使持续的关联性可以被正确识别。然而,进行所有条件独立测试通常是不可行的,因为其运算量较大、效率低。因此,约束算法设计的一个主要目标就是减少条件独立性测试数量,同时生成可靠结果。HITON-PC即作为一种约束算法被提出,该算法可运用队列的方法减少条件独立性测试数量[5]。

1.2 HITON-PC算法实现步骤

HITON-PC算法步骤如下:

输入:集合D,用于存储预测变量集X={X1,X2,… ,Xm}和目标Z;maxkα为条件独立测试的显著性水平。

输出:集合PC,由Z的双亲和孩子组合{X1,X2,… ,Xm}的子集。

1:let PC=

2:let OPEN包含与Z相关的变量

3:while OPEN≠ do

4:从OPEN中移除第一个变量X

5:将X插入到PC的最后

6:for每个SPC\\{X} and S≤maxk do

7: if X和Z在显著水平α下独立于给定的S then

8: 从PC 中移除X并且回到while循环

9: end if

10:end for

11:end while

12:对于每个在PC中的变量X do

13:for 每个 SPC\\{X}和SPC

14: if X和Z在显著水平α下独立于给定的S then

15:从 PC 中移除 X

16: end if

17:end for

18:end while

19:output PC

(1)最初PC集为空(行1),创建OPEN列表用于保存与目标变量Z(行2)相关的预测变量。OPEN中的变量根据关联强度以降序排序,队列总是移除第一个变量(其在当前OPEN队列中具有最高的关联强度)。因此,OPEN作为优先队列运行。

(2)排序的目的是尽可能包括PC集合中会成为双亲或孩子的变量,以便算法可以更早且有效地修剪其它变量。HITON-PC利用预测变量与Z之间的关联强度作为第一准则,与Z相关性高的变量排名将靠前。另一个准则是判断预测变量和Z之间的条件依赖强度[6]。给定一对变量,这对变量有很多条件用来测试条件依赖性,并且使用最小依赖度排序。文献[5]、[7]中的关联强度即是一个简单而有效的标准。

(3)在初始化阶段之后,算法将包含和消除策略交织到OPEN队列中的变量,以达到扩展PC集的效果(行3~11)。

(4)在while循环的每次迭代期间,OPEN队列前的变量被删除后保存在PC集中(行4和5),然后消除步骤(行6~10)立即测试新添加的变量X是否独立于当前给定PC列表中的目标变量。一旦发现X与给定PC子集(不包括X)的目标变量无关,则从PC集中消除X,并且开始新的迭代。如果在PC队列中的每个子集小于或等于maxk变量,则X依赖于目标变量,且暂时保持在PC集中。

(5)当OPEN为空时,HITON-PC再次执行消除步骤,但此时要判断PC集中的每个变量是否满足条件(行12~18)。也即是说,对于当前PC集的每个变量X,如果有子集S,子集S储存小于maxk的变量,则符合条件变量,X独立于目标变量将会从PC集中消除;如果X不存在这样的子集,则X将永久保持在PC集中。注意,在该步骤期间,调节集合SPC\\{X},但SPC

2 HITON-PC复杂性

在HTION-PC算法中,花费的时间可大致分为两部分:①初始化时间(行2);②在while与for循环中进行的条件独立性测试时间。

3 HITON-PC算法在医学数据挖掘领域的应用

3.1 医学数据挖掘

医学数据挖掘是计算机技术、人工智能、统计学等与现代医疗相结合的产物,也是提高医疗服务质量和医院管理水平的需要,具有广阔的应用前景。与仅限于某一专项领域知识的医疗专家系统不同,医学数据挖掘面向整个医学数据库或医学信息集合提供知识和决策,是医疗决策支持系统的重要组成部分[8]。将数据挖掘理论应用于医学,通过对海量医学数据进行分析,总结各种医治方案的疗效,提取隐含其中的有价值的信息,可更好地为医院的决策管理、医疗、科研和教学服务,对于医生明确诊断、病患治疗以及疾病研究等都具有极其重要的意义[9]。

3.2 数据来源

数据源:2015年某三甲医院住院部首案的数据,提取出“主要诊断”中患有2型糖尿病疾病类型的个案,总共3 724例。疾病编码是依据国际疾病分类进行编码的,疾病名称有很多,在本次分析中只选取疾病数量大于300的疾病种类。

分析字段:“病案号”、“疾病编码”、“主要诊断”、“疾病编码1”、“其它诊断”、“疾病编码2”、“其它诊断2”、“疾病编码3”……

3.3 分析结果

分析环境:本文数据首先在IBM SPSS Statistics、IBM SPSS Modeler中进行数据预处理,然后将清洗后的数据纳入数据分析软件R Studio建模实现。

分析目的:分析2型糖尿病的协同疾病与2型糖尿病是否有因果关系。

数据经过HITON-PC算法分析之后,实验结果如表1所示。其中0为预测变量与目标变量之间没有因果关系,1为预测变量与目标变量之间有因果关系。

整理结果可知,2型糖尿病与冠状动脉粥样硬化、高血脂、高血压II期、高血压III期有因果关系。

变量之间的关系如图1所示,该图能全面反映出各变量之间的因果关系。

4 结语

数据挖掘技术的迅速发展为人们的生活带来了巨大便利,数据挖掘技术也被越来越多行业采用,并取得了很好的效果。HITON-PC算法是一种运用条件独立性检验处理高维数据的因果分析算法,将其应用于医学数据挖掘中,能高效得出变量之间的因果关系,从而发现疾病间的潜在因果性,为相关疾病的临床诊断提供辅助。随着理论研究的不断深入,数据挖掘技术在疾病诊断和治疗、医学科研与教学以及医院管理等方面必将发挥越来越重要的作用。

参考文献:

[1] 李国杰,程学旗.大数据研究:未来科技及经济社会发展的重大战略领域——数据的研究现状与科学思考[J].中国科学院院刊,2012,27(6):647-657.

[2] 孙海龙,于剑光.大数据环境下相关关系分析改善因果关系分析[J].科技展望,2016,26(20):12.

[3] Pearl J. Causality: models, reasoning,and inference[M]. England:Cambridge University Press,2000.

[4] ALIFERIS C F, STATNIKOV A, TSAMARDINOS I, et al. Local causal and Markov blanket induction for causal discovery and feature selection for classification Part I: algorithms and empirical evaluation[J]. Journal of Machine Learning Research,2010(11):171-234.

[5] LI J, LIU L, LE T D. Practical approaches to causal relationship exploration[J].Springerbriefs in Electrical and Computer Engineering,2015,35(1):13-24.

[6] TSAMARDINOS I, BROWN L E, ALIFERIS C F. The max-min hill-climbing Bayesian network[J].structure learning algorithm. Machine Learning,2006,65(1):31-78.

[7] ALIFERIS C F, STATNIKOV A, TSAMARDINOS I, et al. Local causal and Markov blanket induction for causal discovery and feature selection for classification part II:analysis and extensions[J]. Journal of Machine Learning Research,2010(11):235-284.

[8] 朱凌云,吳宝明,曹长修.医学数据挖掘的技术、方法及应用[J].生物医学工程学杂志,2003,20(3):559-562.

[9] 汪菊琴.医学数据挖掘综述[J].电脑知识与技术,2011,7(15):3495-3497.

(责任编辑:黄 健)

猜你喜欢

因果关系数据挖掘
玩忽职守型渎职罪中严重不负责任与重大损害后果的因果关系
论刑法中提前的因果关系与延后的因果关系
基于并行计算的大数据挖掘在电网中的应用
帮助犯因果关系刍议
一种基于Hadoop的大数据挖掘云服务及应用
数据挖掘的分析与探索
基于GPGPU的离散数据挖掘研究
《侵权责任法》中因果关系的认定——以因果关系的转致为视角