论文部分内容阅读
摘要:近十年来我国卫生信息化建设已取得了飞速的进展,信息系统应用水平不断提升,大量的医学信息被科学的记录下来,如何从这些医学数据资源挖掘出深层次的、隐含的、有价值的知识,就变得越来越重要。该文在对各种数据挖掘算法进行分析研究的基础上,选择IBM SPSS Modeler作为数据挖掘平台,以某社区医院电子病历作为数据源,利用不同的挖掘算法对电子病历系统中的数据进行研究。通过数据的采集、数据清理和数据筛选方法,结合常见的高血压病案,用不同的挖掘模型进行比较分析,总结出各种算法的特点及适用范围,得出适合这种常见病的挖掘模型,并给医务人员提供简单而有效的数据挖掘模型。
关键词:电子病历;数据挖掘;关联规则
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)05-0001-04
1 绪论
1.1研究背景
随着计算机技术和数据库技术的飞速发展,各种卫生信息系统在医学领域的广泛应用,由此积累下来的海量医学数据,在此海量的医学数据背后隐藏着许多重要的有用信息,怎样才能把深层次的、隐含的、有价值的知识从数据资源中把挖掘出来,这在当今日趋重要。在国内,数据挖掘技术在医疗服务领域的研究有所报道,但到目前为止,针对于不同的医学目标实现医学数据挖掘应用,怎样科学地选择合适的数据挖掘算法,此类方法学研究在国内尚还较少。
临床信息系统(CIS)中的电子病历系统是以病人为主导,包含所有横向的、纵向的医院信息和临床信息数据的系统。如何从这些数据集中使用不同数据挖掘技术挖掘出各种疾病的成因以及它们之间的相互关系、和各种疾病的发展规律,并总结各种治疗方案的诊疗效果,这对疾病的预防、诊断、治疗和医学研究意义非常重大。本文是基于SPSS Modeler软件平台的基础上对医学数据进行规则的挖掘和知识探索。
1.2 国内外数据挖掘的应用及研究现状
在国外,目前在金融领域、生物工程领域、企业分析以及网络信息搜索等许多领域数据挖掘技术都有了很好的应用[1]。国际知名调查机构通过技术调查,认为未来五年内数据挖掘和并行处理体系将挤在十大新兴技术投资焦点的前列,“数据挖掘和人工智能”将列在首位的。在我国,数据挖掘技术最早在如中国海关集团、人民银行、上海通用汽车等少数实力雄厚的国企或外资企业中得以充分应用。也有少数应用在经济上,如使用一般数量化模型如人工神经网络方法、回归分析法和时间序列方法在经济上对于股价指数进行预测。目前在国内,数据挖掘技术在医疗服务领域的研究已有一些成果,但至今为止,怎样科学地选择适当的数据挖掘算法,针对不同目标的实际应用挖掘,这方面的方法学在国内研究还较尚少。
1.3 研究意义
本研究以某社区医院电子病历作为数据源,对数据挖掘算法在电子病历系统中的应用进行了研究。结合常见高血压病案,通过使用不同的挖掘模型进行比较分析,总结出各种算法的特点及适用范围,得出适合这常见病的挖掘模型,并给医务人员提供简单而有效的数据挖掘模型。同时通过研究探索性电子病历数据挖掘技术的实现,也将进一步做更复杂的数据查询提供参考模式,这也给将来医务人员、科研工作者使用更高层次的数据分析方法解决诊疗水平提供有效的科学的途径,具有极其重要的现实意义。
2 数据挖掘综述
2.1 数据挖掘定义
从技术角度来解释,数据挖掘就是通过自动分化分析数据仓库的大量的、有噪声的、模糊的、不完全的实际应用数据,进行提取人们不知道的隐性的知识和规律,依托于数据库、数据统计和人工智能技术的发展,最大可能地利用已有信息和数据,归纳性推理,挖掘潜在规律[2]。数据挖掘技术主要由三个部分,即数据、算法和技术、建模能力组成。
2.2 常用的数据挖掘算法
2.2.1 神经网络
神经网络是由大量的简单的处理单元组成的,自适应非线性的大规模动力系统,是神经科学、统计学、计算机科学和物理学的交叉学科[3]。神经网络能够有良好的自适应、自学习和高容错能力,并具有分布式存储、并行处理以及联想等特点。目前在常用的多种训练算法和网络模型中,多层前馈型神经网络是应用最广泛的。
BP网络是一种由输入层、输出层和隐含层组成的单向传播的多层前馈网络,如图①所示,是目前在各行各业应用最多的一种模型。
2.2.2 决策树
决策树算法是属于的分类、回归和关联型算法,它主要用于对离散型和连续型的数据进行预测性的建模。
决策树的常用算法有:
1) CART算法
CART算法是一种二分递归分割技术,是结构简单的二叉树,它将总样本集分成两个子样本集,使每个非子结点都有两个分支[4]。
2 )CHAID算法
CHAID提供了一种在多个自变量中自动搜索能产生最大差异的变量方案。
CHAID过程:建立细分模型,根据卡方值最显著的细分变量将群体分出两个或多个群体,对于这些群体再根据其他的卡方值相对最显著的细分变量继续分出子群体,直到没有统计意义上显著的细分变量可以将这些子群体再继续分开为止。
3 电子病历分析数据集的建立
高血压是社区医疗中最为普遍和严重的疾病,其中高血压并发症多,病生理复杂,病症不明显,近年来发病率上升迅猛.社会经济危害性严重.从发展趋势上看尤其值得重视。下面以高血压形成病因作为研究对象,构建一套简单易行的计算机辅助医学数据挖掘系统解决方案。
数据集的预处理步骤主要由:数据集成(dataintergration)、数据清洗(dataClenanig)、数据消减(datareduetion)、和数据转换(datatransformation)几个步骤构成。数据处理是数据挖掘是否能正确得到结果的最重要的一步。本章主要从电子病历中提取原始数据,使用SQL SERVER软件和EXECL软件进行清理数据,筛选,根据数据挖掘所需的字段属性值来分离出不同的分析数据表,再使用SPSS Modeler 14.2软件对数据筛选,不断训练数据集,达到数据挖掘模型的要求。 3.1 数据来源
本数据来源于某社区医院慢性病档案管理系统采集的数据,其中储存的数据库文件为“社区医疗病历.mdf ”文件。本数据库包含有,有”病人”、“病史”、“医生”、“体格检查”、“医院名称”、“用户”“用户权限”、“权限类别”、“用户权限组”等13个数据表表格。本案例主要使用”病人”、“病史”、“体格检查”、“医生”这几个数据表来获取数据源。
3.2 数据预处理
通过SQL SERVER数据库管理系统把存放在Delphi数据环境中的原数据,生成社区医疗病历.mdf 数据库,为了在更好地清洗数据,本文把数据库再转换成EXECL表格。把需要的”病人”、“病史”、“体格检查”、“医生”表格分别转化“高血压分析表”表。
3.3 数据清洗
数据源是数据挖掘的关键,对采集的原始数据进行清洗,这样才能保证信息源的数据质量。首先把其中原数据库中的12个信息表处理成需要使用的两个电子表格“预测数据源”,“高血压预测”,删除不需要的字段,修改录入错,合并相同数据等,考虑到一些没必要的因素,对各个表中删除不必要的字段, 最终变成“预测数据源”表和“高血压预测”表;鉴于线性分析的要求,把高血压中的“初步诊断”字段修改为逻辑型或数据值。
3.4 数据集成和变换
使用SQL SERVER 2000,把这些表格转换成EXECL文件表格形式。
1) 转换数据源:把社区医疗病历数据库.mdf 文件换成EXECL表格研究所需要的数据表格进行研究。转换数据名为:医疗数据库,使用其中的“病人”,“病史”和“体格检查”数据中的数据源作为主要研究对象。
2) 数据分析:使用SPSS Modeler软件对数据表进行分析。经分析,发现原数据的几个表格数据不够连接,没有可比性,再返回EXECL表格进行数据处理,把体格检查表和病人表、病史表的数据源部分数据按“病人编号”排序复制成一个表格,删除“用药”这一列,如图2示:
3) 数据处理:把现“病史”这一列分解成几列,作为以后各个单项研究的基础,数据挖掘的需要,分别生成“预测数据源”表和“高血压相关分析”表。
3.5 数据获取
在EXECL表中对已处理的表应用于SPSS Modeler中作为数据源,其中使用FIND()函数,把原字段“初步诊断”中的结论转换成“布尔”型数据,过程如图3:
数据处理是数据挖掘是否成功或能否挖掘到有用数据结论的一个关键,本章利用数据库软件及表格处理软件对原数据进行采集、清理、排除的研究,得到挖掘SPSS Modeler所需要的数据源,为下一章进行挖掘模型做好准备。
4 几种常用挖掘算法在电子病历数据中的分析研究
4.1 人工神经网络法
4.1.1 建立临界值模型
4.1.1.1采用RBFP神经网络模型对高血压进行预测分析
此模型是用相关的数据来说明其他指标对高血压的成因影响。挖掘过程包括探索、数据准备、训练。
1)探索
表示神经元的数据字段包括:
[病人编号\
关键词:电子病历;数据挖掘;关联规则
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)05-0001-04
1 绪论
1.1研究背景
随着计算机技术和数据库技术的飞速发展,各种卫生信息系统在医学领域的广泛应用,由此积累下来的海量医学数据,在此海量的医学数据背后隐藏着许多重要的有用信息,怎样才能把深层次的、隐含的、有价值的知识从数据资源中把挖掘出来,这在当今日趋重要。在国内,数据挖掘技术在医疗服务领域的研究有所报道,但到目前为止,针对于不同的医学目标实现医学数据挖掘应用,怎样科学地选择合适的数据挖掘算法,此类方法学研究在国内尚还较少。
临床信息系统(CIS)中的电子病历系统是以病人为主导,包含所有横向的、纵向的医院信息和临床信息数据的系统。如何从这些数据集中使用不同数据挖掘技术挖掘出各种疾病的成因以及它们之间的相互关系、和各种疾病的发展规律,并总结各种治疗方案的诊疗效果,这对疾病的预防、诊断、治疗和医学研究意义非常重大。本文是基于SPSS Modeler软件平台的基础上对医学数据进行规则的挖掘和知识探索。
1.2 国内外数据挖掘的应用及研究现状
在国外,目前在金融领域、生物工程领域、企业分析以及网络信息搜索等许多领域数据挖掘技术都有了很好的应用[1]。国际知名调查机构通过技术调查,认为未来五年内数据挖掘和并行处理体系将挤在十大新兴技术投资焦点的前列,“数据挖掘和人工智能”将列在首位的。在我国,数据挖掘技术最早在如中国海关集团、人民银行、上海通用汽车等少数实力雄厚的国企或外资企业中得以充分应用。也有少数应用在经济上,如使用一般数量化模型如人工神经网络方法、回归分析法和时间序列方法在经济上对于股价指数进行预测。目前在国内,数据挖掘技术在医疗服务领域的研究已有一些成果,但至今为止,怎样科学地选择适当的数据挖掘算法,针对不同目标的实际应用挖掘,这方面的方法学在国内研究还较尚少。
1.3 研究意义
本研究以某社区医院电子病历作为数据源,对数据挖掘算法在电子病历系统中的应用进行了研究。结合常见高血压病案,通过使用不同的挖掘模型进行比较分析,总结出各种算法的特点及适用范围,得出适合这常见病的挖掘模型,并给医务人员提供简单而有效的数据挖掘模型。同时通过研究探索性电子病历数据挖掘技术的实现,也将进一步做更复杂的数据查询提供参考模式,这也给将来医务人员、科研工作者使用更高层次的数据分析方法解决诊疗水平提供有效的科学的途径,具有极其重要的现实意义。
2 数据挖掘综述
2.1 数据挖掘定义
从技术角度来解释,数据挖掘就是通过自动分化分析数据仓库的大量的、有噪声的、模糊的、不完全的实际应用数据,进行提取人们不知道的隐性的知识和规律,依托于数据库、数据统计和人工智能技术的发展,最大可能地利用已有信息和数据,归纳性推理,挖掘潜在规律[2]。数据挖掘技术主要由三个部分,即数据、算法和技术、建模能力组成。
2.2 常用的数据挖掘算法
2.2.1 神经网络
神经网络是由大量的简单的处理单元组成的,自适应非线性的大规模动力系统,是神经科学、统计学、计算机科学和物理学的交叉学科[3]。神经网络能够有良好的自适应、自学习和高容错能力,并具有分布式存储、并行处理以及联想等特点。目前在常用的多种训练算法和网络模型中,多层前馈型神经网络是应用最广泛的。
BP网络是一种由输入层、输出层和隐含层组成的单向传播的多层前馈网络,如图①所示,是目前在各行各业应用最多的一种模型。
2.2.2 决策树
决策树算法是属于的分类、回归和关联型算法,它主要用于对离散型和连续型的数据进行预测性的建模。
决策树的常用算法有:
1) CART算法
CART算法是一种二分递归分割技术,是结构简单的二叉树,它将总样本集分成两个子样本集,使每个非子结点都有两个分支[4]。
2 )CHAID算法
CHAID提供了一种在多个自变量中自动搜索能产生最大差异的变量方案。
CHAID过程:建立细分模型,根据卡方值最显著的细分变量将群体分出两个或多个群体,对于这些群体再根据其他的卡方值相对最显著的细分变量继续分出子群体,直到没有统计意义上显著的细分变量可以将这些子群体再继续分开为止。
3 电子病历分析数据集的建立
高血压是社区医疗中最为普遍和严重的疾病,其中高血压并发症多,病生理复杂,病症不明显,近年来发病率上升迅猛.社会经济危害性严重.从发展趋势上看尤其值得重视。下面以高血压形成病因作为研究对象,构建一套简单易行的计算机辅助医学数据挖掘系统解决方案。
数据集的预处理步骤主要由:数据集成(dataintergration)、数据清洗(dataClenanig)、数据消减(datareduetion)、和数据转换(datatransformation)几个步骤构成。数据处理是数据挖掘是否能正确得到结果的最重要的一步。本章主要从电子病历中提取原始数据,使用SQL SERVER软件和EXECL软件进行清理数据,筛选,根据数据挖掘所需的字段属性值来分离出不同的分析数据表,再使用SPSS Modeler 14.2软件对数据筛选,不断训练数据集,达到数据挖掘模型的要求。 3.1 数据来源
本数据来源于某社区医院慢性病档案管理系统采集的数据,其中储存的数据库文件为“社区医疗病历.mdf ”文件。本数据库包含有,有”病人”、“病史”、“医生”、“体格检查”、“医院名称”、“用户”“用户权限”、“权限类别”、“用户权限组”等13个数据表表格。本案例主要使用”病人”、“病史”、“体格检查”、“医生”这几个数据表来获取数据源。
3.2 数据预处理
通过SQL SERVER数据库管理系统把存放在Delphi数据环境中的原数据,生成社区医疗病历.mdf 数据库,为了在更好地清洗数据,本文把数据库再转换成EXECL表格。把需要的”病人”、“病史”、“体格检查”、“医生”表格分别转化“高血压分析表”表。
3.3 数据清洗
数据源是数据挖掘的关键,对采集的原始数据进行清洗,这样才能保证信息源的数据质量。首先把其中原数据库中的12个信息表处理成需要使用的两个电子表格“预测数据源”,“高血压预测”,删除不需要的字段,修改录入错,合并相同数据等,考虑到一些没必要的因素,对各个表中删除不必要的字段, 最终变成“预测数据源”表和“高血压预测”表;鉴于线性分析的要求,把高血压中的“初步诊断”字段修改为逻辑型或数据值。
3.4 数据集成和变换
使用SQL SERVER 2000,把这些表格转换成EXECL文件表格形式。
1) 转换数据源:把社区医疗病历数据库.mdf 文件换成EXECL表格研究所需要的数据表格进行研究。转换数据名为:医疗数据库,使用其中的“病人”,“病史”和“体格检查”数据中的数据源作为主要研究对象。
2) 数据分析:使用SPSS Modeler软件对数据表进行分析。经分析,发现原数据的几个表格数据不够连接,没有可比性,再返回EXECL表格进行数据处理,把体格检查表和病人表、病史表的数据源部分数据按“病人编号”排序复制成一个表格,删除“用药”这一列,如图2示:
3) 数据处理:把现“病史”这一列分解成几列,作为以后各个单项研究的基础,数据挖掘的需要,分别生成“预测数据源”表和“高血压相关分析”表。
3.5 数据获取
在EXECL表中对已处理的表应用于SPSS Modeler中作为数据源,其中使用FIND()函数,把原字段“初步诊断”中的结论转换成“布尔”型数据,过程如图3:
数据处理是数据挖掘是否成功或能否挖掘到有用数据结论的一个关键,本章利用数据库软件及表格处理软件对原数据进行采集、清理、排除的研究,得到挖掘SPSS Modeler所需要的数据源,为下一章进行挖掘模型做好准备。
4 几种常用挖掘算法在电子病历数据中的分析研究
4.1 人工神经网络法
4.1.1 建立临界值模型
4.1.1.1采用RBFP神经网络模型对高血压进行预测分析
此模型是用相关的数据来说明其他指标对高血压的成因影响。挖掘过程包括探索、数据准备、训练。
1)探索
表示神经元的数据字段包括:
[病人编号\