文档介绍:医疗大数据的疾病关联分析
 
 
 
 
 
   
 
 
 
周洪
摘要
随着医疗卫生信息化的推进和发展,医疗信息系统已经从基础的财务收费,全面覆盖到药品、临床、电子病历时,初始时计划选择Apriori算法,但在后期编码时发现该算法在构造候选集、筛选候选集挖掘出频繁项集,需要多次扫描原始数据,当原始数据较大时,磁盘I/O次数太多,效率比较低下。后通过搜索相关资料,发现FP-growth算法。该算法基于Apriori構建,但采用了高级的数据结构减少扫描次数,只需要对原始数据进行两次扫描,大大加快了算法速度。
其算法思想以及实现步骤如下:
(1)对于每个频繁项,构造它的条件投影数据库和投影FP-tree。
(2)对每个新构建的FP-tree重复这个过程,直到构造的新FP-tree为空,或者只包含一条路径。
(3)当构造的FP-tree为空时,其前缀即为频繁模式;当只包含一条路径时,通过枚举所有可能组合并与此树的前缀连接即可得到频繁模式。
最终,决定选择FP-growth算法作为此次数据分析的算法模型。
在算法实现工具方面,出于掌握难易度、可分布式进行计算等方面考虑,本小组选择Mahout这一轻量级数据挖掘软件。它的关联规则挖掘中就包括了FP Growth算法。
3数据分析实现
我们先将数据库中的疾病数据导出,利用Mahout内置的FP-growth模块,对原始数据进行关联频繁项分析,由于原始数据的量不大,我们没有扩展使用Mahout集成的Mapreduce模式进行并行计算,通过对输出的hdfs序列文件进行反序列化后我们就能正常查看结果数据。
上述步骤最后得出的文件为关联关系分析后的各频繁项以及相应支持度统计数,为方便后续关联关系分析,我们基于原始result文件开发了辅助分析程序,可根据需求设定相应的最小支持度和最小置信度阈值,最终输出符合阈值设置的关联关系。如图1所示。
4疾病关联分析
通过基于大数据的挖掘分析技术,我们希望通过存数据分析的手段找出疾病诊断之间关联规则,并于现有医学知识进行验证,以期发现其中的规律。这些规则可能会揭示数据库中所含信息和一般规律,可以作为对新的病例诊断的参考依据。
通常我们在做关联规则发现的时候都会设定支持度和置信度阈值最小支持度和最小置信度,而关联规则发现则是发现那些支持度大于等于最小支持度并且置信度大于最小置信度的所有规则。支持度和置信度的意义在于,支持度是一个重要的度量,如果支持度很低,代表这个规则其实只是偶然出现,基本没有意义。因此,支持度通常用来删除那些无意义的规则。而置信度则是通过规则进行推理具有可靠性。用c(X->Y)来说,只有置信度越高,Y出现在包含X的事务中的概率才越大,否则这个规则也没有意义。根据“,”的输出结果,我们可以很快的发现其中有11条结果明确的疾病并发症关系或病种的包含关系。如图2。
剩余4条记录中,有三条是和胃炎相关的,见图3。
那我们可以就胃炎与十二指肠球部溃疡、胃息肉、食管炎基于医学上的知识,进行进一步的分析。
胃炎:是多种不同病因引起的胃黏膜急性和慢性炎症,常伴有上皮损伤、黏膜炎症反应和上皮再生。胃炎是最常见的消化系统疾病之一[5]。