Literature
首页合作平台在线期刊中华医学实践杂志2005年第4卷第2期医院管理

关联规则在医院门诊子系统中的应用初探

来源:INTERNET
摘要:【摘要】就数据挖掘中关联规则的概念和作用进行了探讨,对关联规则中寻找频繁项集的Apriori算法作出了分析,并给出了关联规则在医院门诊中并发症的挖掘应用,获得了较好的应用效果。【关键词】数据挖掘关联规则Apriori门诊并发症PreliminaryapplicationofassociationrulesinTheout-patientdepartmentof......

点击显示 收起

    【摘要】  就数据挖掘中关联规则的概念和作用进行了探讨,对关联规则中寻找频繁项集的Apriori算法作出了分析,并给出了关联规则在医院门诊中并发症的挖掘应用,获得了较好的应用效果。

  【关键词】  数据挖掘 关联规则 Apriori 门诊 并发症

  Preliminary application of association rules in The out-patient department of hospital

  Wan Renxia,Chen Ruidian

  The College of Mathematics and Computer Science,Fuzhou University,Fuzhou350002.
   
  【Abstract】 This paper discusses the concept and the effect of association rules in data mining.Also it intro-duces the Apriori algorithm in searching frequent itemsets.Based on the algorithm,It gives out the applications of  checking out the complications in the out-patient department of Hospital and acquires good effects.

  【Key words】 data ming association rules apriori out-patient department complication

  面对海量的存储数据,如何从中发现有价值的信息或知识是一项非常艰巨的任务。数据挖掘就是为了满足这种要求而迅速发展起来的。数据挖掘是指从大型数据库或数据仓库中提取隐含的、先前未知的、对决策者有潜在价值的知识和规则。数据挖掘是人工智能和数据库发展相结合的产物,是目前国际上数据库和信息决策系统最前沿的研究方向之一,已引起了国际人工智能和数据库等领域专家与学者的广泛关注,其中在事务数据库中挖掘关联规则(As-sociation Rules)是数据挖掘领域中的一个非常重要的研究课题,关联规则是Rabesh Agrawal等人于1993年首先提出的,最近几年里在数据挖掘研究领域对关联规则挖掘的研究开展得比较积极和深入。门诊是医院医疗工作的重要组成部分,是直接对病人进行诊断、治疗和开展预防保健工作的场所,是医院接触病人时间最早、人数最多、范围最广的部门,随着医院信息系统(Hospital Information System,HIS)在医院的广泛应用,特别是电子病历、一卡通等新技术在门诊系统中的广泛应用,一方面方便了病人就医,提高了医院的运作效率,同时,也使每天产生的医疗数据大幅提高。由此,门诊中积累大量的医疗数据,如何利用数据挖掘技术从这些门诊数据中找出有价值的知识和规则已成为一个非常重要的研究课题,本文将就关联规则在医院门诊子系统中的应用作一简浅讨论。

  1 挖掘关联规则的基本概念

  1.1 关联规则挖掘问题的形式化描述 设I={i 1 ,i 2 ,...i  m }是由m个不同的项目组成的集合,给定一个事务数据库D,其中的每一个事务T是I中一组项目的集合,即TI,T有一个唯一的标识符TID。若项集XI且XT,则事务T包含项集X。一条关联规则就是形如X⌒Y的蕴含式,其中XI,YI,X∩Y=。关联规则XY成立的条件是:(1)它具有支持度s,即事务数据库中至少有s%的事务包含X∪Y;(2)它 具有置信度c,即在事务数据库D中包含X的事务至少有c%同时也包含Y。关联规则的挖掘问题就是在事务数据库D中找出具有用户给定的最小支持min_sup和最小置信度min_conf的关联规则。

  1.2 常用的概念 项的集合称为项集(itemset),包含k个项的项集称为k-项集。项集的出现频率是包含项集的事务数,简称为项集的频率、支持计数或计数。项集满足最小支持度min_sup,即项集的出现频率大于或等于min_sup与D中事务总数的乘积。如果项集满足最小支持度,则称它为频繁项集(frequent itemset)。频繁k-项集的集合通常记作L  k 。1.3 挖掘关联规则问题可以分解为以下两个子问题 (1)找出所有频繁项集:根据定义,这些项集出现的频繁性至少和预定义的最小支计数一样;(2)频繁项集产生强关联规则:根据定义,这些规则必须满足最小支持度和最小置信度。

  2 Apriori算法介绍

  在关联规则挖掘中最著名的算法便是Apriori算法。Apriori算法主要工作在于寻找频繁项集。通过先计算所有的候选1-项集的集合C 1 。找出所有的频繁1-项集L 1 。然后根据频繁1-项集L 1 确定候选2-项集的集合C 2 。从C 2 中找出所有的频繁2-项集L 2 。再根据频繁2-项集L 2 确定候选3-项集的集合C 3 。从C 3 中找出所有的频繁3-项集L 3 。如此下去直到不再有候选项集。算法:Apriori
  输入:数据库D;最小支持度阈值min_sup。输出:Result=D中的所有频繁项集。方法:
    Result:={};k:=1;
    C 1 :=所有的1-项集;
    While(Ck)do 为每一个Ck中的项集生成一个计数器; for(i=1;i;i++) begin
  对第i个记录T支持的第一个Ck中的项集,其计数器加1; end;
  Lk:=Ck中满足min_sup的全体项集; Result:=Result∪Lk;
  Ck+1:=所有的(k+1)-项集中满足其k-子集都在Lk里的全体; k:=k+1;enddo

  结合频繁项集的向下封闭性(即频繁项集的子集必须是频繁项集,它是宽度优先算法)这一重要性性质,Apriori的候选产生-检查方法将大幅度压缩候选项集的大小,并导致很好的性能。

  3 基于Apriori算法的门诊并发症的数据挖掘

  Apriori算法的基本思想是把数据库D中的记录集看作发掘对象,通过多次地扫描数据库D,寻找出所有频繁项集。基于Apriori算法的门诊并发症的数据挖掘,首先需采集病人病情、诊断等信息数据,然后对数据进行预处理,生成原始信息表,再对信息表进行挖掘,得到挖掘模式或模型,最后要对挖掘出的模式或模型进行解释和评估。挖掘流程下图所示。算法在Oracle9i+Delphi6.0的环境下编程实现。

  3.1 数据准备 数据准备阶段主要是病人数据的收集准备工作。门诊中有大量的相关数据,门诊诊断信息、病人自然属性、费用等,其中有些是与挖掘任务无关的信息。数据准备阶段是要搜集并整理与门诊并发症相关的病人数据,如病历ID、病名、就诊时间、病人代码、确诊情况等。

  3.2 数据预处理 数据预处理主要包括数据的理解,属性选择,连续属性离散化,数据中的噪声及丢失值处理,实例选择等。数据预处理的目的是提供可以进行数据挖掘和知识发现的数据。关联规则数据挖掘预处理的任务是确定条件属性,建立信息表。

  (1)属性选择。数据挖掘对象是门诊病人的各项病情数据,挖掘目标是发现与并发症相关的规则知识和预测知识,所以,条件属性的选择应该是能够说明病人的并发症的那些病情属性。经过属性选择可以找到如下一些属性:病历号,疾病名,就诊时间,病人就诊号,就诊科室。

    (2)连续属性离散化。病人信息的部分属性需要离散化,以便作定量分析。例如门诊病人看病一般发生在1天的行为,但还是有少许病人的门诊使用几天时间完成的,对于同一病人连续3天内的门诊概化为最初一天的门诊行为。

    (3)噪声及丢失值处理。数据库中噪声和缺值是一种常见现象。对病人数据中存在的噪声和缺失值的处理比较简单:删除噪声数据,以正常值代替缺失值。

  (4)不一致数据的处理。即使是同一种病,不同医生在对其的命名可能会不同,从而造成了不一致数据,如“安定剂中毒”,有的诊断表中就会写成“安定中毒”、“安定剂意外,中毒”等,在数据挖掘前,必需转化为一致的数据。

  另外,有些记录可能会包括几个挖掘数据,如在同一条记录的疾病属性下记录了诸如“糖尿病,视网膜病”等值。根据一条记录只记录一种病的挖掘要求,必须将这样的记录相应的拆成几条记录。

    3.3 数据转换 数据转换的目的是将数据转换成适合于挖掘的形式。这里常用的方法是数据概化。如对于病名中耳炎,在病人的记录中常呈现为分泌性中耳炎、化脓性中耳炎、卡他性中耳炎等等,挖掘时都需概化为中耳炎。

    3.4 数据挖掘 由于门诊中涉及的病种很多,对于有些病(如擦伤等)研究其并发症是没有什么意义的。因此,挖掘前合理地选择挖掘数据(一般是在专家的指导下)对整个挖掘过程将会产生积极的影响,大大提高挖掘效率。在数据挖掘阶段,先用前述基于Apriori算法扫描数据库,得到最小支持度阈值min_sup的全体频繁项集,再由频繁项集导出规则知识,最后,对挖掘结果加以解释并转换成易于理解的显式知识。

    3.5 挖掘示例 现围绕糖尿病进行并发症的挖掘,所用数据均来自福建省某市医院2003年3月1日~2004年7月7日之间的门诊数据(由于保密的原因,已对有些数据做了一定的处理),记录总数为112648条。

  扫描数据库(支持度设为0.03%),统计糖尿病及其可能的病发症的支持度计数信息如下:糖尿病:1534;高血压:4296;眼部疾病:4396(视网膜病:794;白内障:3602);糖尿病+高血压:191;糖尿病+眼部疾病:178(糖尿病+视网膜病:101;糖尿病+白内障:77);高血压+眼部疾病:90(高血压+视网膜病:31;高血压+白内障:59)。记糖尿病为事务A,高血压为事务B,眼部疾病为事务C,视网膜病为事务C1,白内障为事务C2。则:
  support(A=>B)=P(A∪B)=191/112648=0.17%=support(B=>A);support(A=>C)=P(A∪C)=178/112648=0.16%=support(C=>A);
    support(A=>C1)=P(A∪C1)=101/112648=0.09%=support(C1=>A);
    support(A=>C2)=P(A∪C2)=77/112648=0.07%=support(C2=>A);
    support(B=>C)=P(B∪C)=90/112648=0.08%=support(C=>B);
    support(B=>C1)=P(B∪C1)=31/112648=0.03%=support(C1=>B);
    support(B=>C2)=P(B∪C2)=59/112648=0.05%=support(C2=>B);
    confidence(A=>B)=P(B|A)=191/1534=12.5%;confidence(B=>A)=P(A|B)=191/4296=4.4%;
    confidence(A=>C1)=P(C1|A)=101/1534=6.5%;confidence(C1=>A)=P(A|C1)=101/794=12.7%;
    confidence(A=>C2)=P(C2|A)=77/1534=5.0%;confidence(C2=>A)=P(A|C2)=77/3602=2.1%;
    confidence(A=>C)=P(C|A)=178/1534=11.6%;confidence(C=>A)=P(A|C)=178/4396=4.1%;
    confidence(B=>C)=P(C|B)=90/4396=2.0%;confi-dence(C=>B)=P(B|C)=90/4296=2.1%;
    confidence(B=>C1)=P(C1|B)=31/4396=0.7%;confidence(C1=>B)=P(B|C1)=31/794=3.9%;
    confidence(B=>C2)=P(C2|B)=59/4396=1.3%;confidence(C2=>B)=P(B|C2)=59/3602=1.6%;据上面数据可得如下形式的关联规则:
    A=>B[support=0.17%,confidence=12.5%];B=>A [support=0.17%,confidence=4.4%];
    A=>C[support=0.16%,confidence=11.6%];C=>A [support=0.16%,confidence=4.1%];
    A=>C 1 [support=0.09%,confidence=6.5%];C 1 =>A [support=0.09%,confidence=12.7%];
    A=>C 2 [support=0.07%,confidence=5.0%];C 2 =>A [support=0.07%,confidence=2.1%];
    B=>C[support=0.08%,confidence=2.0%];C=>B
  [support=0.08%,confidence=2.1%]; B=>C 1 [support=0.03%,confidence=0.7%];C 1 =>B [support=0.03%,confidence=3.9%];
  B=>C 2 [support=0.05%,confidence=1.3%];C 2 =>B [support=0.05%,confidence=12.6%];

  以上规则说明如下:(1)有0.17%的门诊病人同时患有糖尿病和高血压,患有糖尿病的病人有12.5%的可能会患有高血压,反之,患有高血压的病人有4.4%的可能会患有糖尿病;(2)有0.16%的门诊病人同时患有糖尿病和眼部疾病,患有糖尿病的病人有11.6%的可能会患有眼部疾病,反之,患有眼部疾病的病人有4.1%的可能会患有糖尿病;(3)有0.09%的门诊病人同时患有糖尿病和视网膜病,患有糖尿病的病人有6.5%的可能会患有视网膜病,反之,患有视网膜病的病人有12.7%的可能会患有糖尿病;(4)有0.07%的门诊病人同时患有糖尿病和白内障,患有糖尿病的病人有5.0%的可能会患有白内障病,反之,患有白内障的病人有2.1%的可能会患有糖尿病;(5)有0.08%的门诊病人同时患有高血压和眼部疾病,患有高血压的病人有2.0%的可能会患有眼部疾病,反之,患有眼部疾病的病人有2.1%的可能会患有高血压;(6)有0.03%的门诊病人同时患有高血压和视网膜病,患有高血压的病人有0.7%的可能会患有视网膜病,反之,患有视网膜病的病人有3.9%的可能会患有高血压;(7)有0.05%的门诊病人同时患有高血压和白内障,患有高血压的病人有1.3%的可能会患有白内障,反之,患有白内障的病人有12.9%的可能会患有高血压。

  4 结论

  本文将基于Apriori理论的关联规则应用于医院门诊的知识发现,尝试并发症的挖掘。除此之外,关联规则的数据挖掘技术还可以为医院提供其它更多潜在的、有价值的信息。随着数据挖掘工具和关联规则研究的不断发展,在不远的将来,必然可以取得更加满意的应用效果。

  参考文献

  1 Jiawei Han and Micheline Kamber.Data Minin:Concepts and Tech-niques.Morgan Kaufman,2001,91.

    2 史忠植.知识发现,北京:清华大学出版社,2002,58.

    3 David Hand.Heikki Mannila Padhraic Smyth.Principles of Data Min-ing.Massachusetts Institute of Technology,2001,71.

    4 肖劲松,林子禹,毛超.关联规则在零售商业的应用.计算机工程,2004,30(3):62.

    5 王向阳,崔林,褚玉林.基于粗糙集理论的医院院内感染数据挖掘.洛阳工学院学报,2002,23(2):34.

    6 廖由萍,柏翠玲.医院门诊挂号管理系统的开发.医学信息,2004,17(1):38.

  作者单位:350002福建福州福州大学数学与计算机科学学院

作者: 万仁霞 陈瑞典 2005-8-11
医学百科App—中西医基础知识学习工具
  • 相关内容
  • 近期更新
  • 热文榜
  • 医学百科App—健康测试工具