临床数据挖掘中应用的OLAP技术

2011-12-23 08:43王道
科技新时代·e医疗 2011年8期
关键词:立方体数据仓库数据挖掘

王道

本文讨论了数据仓库的设计,在线交易处理系统(OLAP)的概念,以及从OLTP中提取数据的问题。同时也阐述了OLTP的数据模型,以及在这些空间模型中的量值和纬度的概念。

医疗管理部门、医疗监测部门、医院、医疗保险公司等机构每天都可能要处理数百万条的医疗数据,因此都需要使用到医疗卫生保健数据。这些医疗机构对处理这种医疗数据是比较熟悉的,不过却不擅长对这些数据进行深入的分析。临床医疗数据的数据量、复杂性和安全性对临床医疗数据的分析造成了很大的挑战。值得一提的是,处理医疗数据和分析医疗数据之间的存在着巨大差异。

临床数据挖掘系统是基于信息共享平台的SOA开放式构架,为医疗机构提供智能化临床数据挖掘与管理决策支持功能。对于信息的展示方式,临床数据挖掘系统采用报表、各类统计图、趋势分析图和仪表盘(Dashboard)等技术,把重要的决策支持信息整合在一起,便于综合判断决策。同时,临床数据挖掘系统需要从数据仓库的构建开始。

医疗数据的特点及数据仓库的构建

数据仓库存储的是大量的医疗数据,医疗数据具有如下特点。

1. 医疗数据的隐私性(Privacy)

医疗数据不可避免的涉及到患者的一些隐私信息,当这些隐私信息使患者在日常生活中遭遇到不可预料的侵扰时,就产生了侵犯患者隐私的问题。医疗数据挖掘者有义务和责任在保护患者隐私的基础上进行科学研究,并且确保这些医疗数据的安全性和机密性。

2. 医疗数据的多样性

由于医疗数据是从医学影像、实验数据以及医生与患者的交流中获得的,所以原始的医疗数据具有多种形式。医疗数据的多样性是它区别于其它领域数据的最显著特征。

3. 医疗数据的不完整性

医疗数据的搜集和处理过程经常相互脱节,这使得医疗数据库不可能对任何疾病信息都能全面的反映。

4.医疗数据的冗余性

医疗数据库是一个庞大的数据资源,每天都会有大量的记录存储到数据库中,其中可能会包含重复的、无关紧要的、甚至是相互矛盾的记录。

此外,医疗数据还具有时间性特征。

数据仓库是支持决策过程的、面向主题的、集成的、与时间有关的、持久的数据集合,它以传统的数据库技术作为存储数据和管理资源的基本手段,以统计分析技术作为分析数据和提取信息的有效方法,以人工智能技术作为挖掘知识和发现规律的科学途径,是与网络通信技术、面向对象技术、并行技术、多媒体技术、人工智能技术等相互渗透、互相结合与综合应用的技术。

创建数据仓库,是从已有数据出发的数据仓库的设计方法,称之为“数据驱动”的系统设计方法,它的基本思路是:利用以前建设的数据库系统的数据,按照分析领域对数据及数据之间的联系重新考虑,组织数据仓库中的主题,利用数据模型有效的识别数据和数据仓库中的主题数据的“共同性”(即建立主题间相互联系的属性)。

构建一个数据仓库需要完成抽取主题、组织数据、获取与集成数据和建立应用。湖南省第二人民医院的临床数据挖掘与管理决策支持系统将在数据仓库上展开。

在线分析处理系统(OLAP)

通常情况下,临床医生和医疗管理者等医疗数据的最终使用用户都不得不依赖于程序来将自己的需求翻译成程序查询语言后,才能使用医疗数据。由于数据提取过程非常复杂,因此临床医生和医疗管理者很少能够直接访问到原始数据。

OLAP数据库在结构和使用方法上与关系数据库有所不同。关系数据库在结构上主要围绕“表”、“视图”和“查询”这些关系数据库中的基本数据术语来解决相关的数据库问题。与其形成对照的是,OLAP数据库的结构围绕着维度和量值来设计解决相关的数据库问题。关系数据库的首要问题是保存数据,OLAP数据库的设计是以快速和有效的方法来重新获取数据。

OLAP数据库的使用界面与关系数据库的使用界面是完全不同的。多数普通的OLAP使用者界面是Excel表格,可以自动将数据排列到表格的行和列中。大多数临床和医疗管理者是熟悉Excel的,且有一定的电子制表软件的使用经验,经过短期的培训就可以使用OLAP系统。

OLAP数据库中,自己的设计方法是最重要的。一个好的OLAP数据库的设计首先要定义更多的方法来报告项目,这些项目应保持正确性和一致性。例如,一个“内科医生访视”项目可以定义为仅包括诊室内的访视,也可以包括整个医院内或者急诊部门的访视。一旦定义的项目达成统一,就可以通过选择合适的CPT编码定义量度,使用者今后将使用“内科医生访视”量度,而不用担心它的定义。为了创建这些定义,需要彻底理解这些数据和可能使用的数据,这些在设计OLAP数据库时是最基础的。

OLAP数据库通常比关系数据库更容易升级,体现了它适应数据增长的能力。关系数据库的大小依赖于记录的数目,而OLAP数据库的大小则由将被报告的数据信息类型来定义。另外,OLAP数据库也可以事先集合数据,来完成使用者希望询问的一些数据结合的结果。这些事实表明,OLAP数据结构比关系数据结构有更有效的储藏能力,OLAP模型可以适应包括百万条记录在内的数据库,也可以在几秒钟内响应查询要求。

OLAP数据库可以被看作是一个“立方体”,因为维度是可以被组合的。立方体结构推近了数据的分组和摘要,而关系数据库则不能产生这种效果。所有立方体的参数基于组成立方体的量度和维度。使用者不需要担心分组、集合、计算总数或者其他的数据库操作,而仅仅需要掌握立方体的设计过程。

设计OLAP立方体

1. 如何构建一个立方体

一个OLAP立方体是基于维度和量度设计的。在立方体建立之前,维度就已经建立了,而且一些“共享维度”可以在很多立方体中共享。一旦共享维度设计好,立方体就可以从实际表中构建了。量度是从实际表中识别,维度表是通过在数据库设计中确定的外键连接实际表。计算量度可以使用立方体中的基础量度演算出来。多重的立方体可以结合到一个“虚拟立方体”,允许含有多重的“商业元素”。最后,创建立方体的安全性也非常重要,以保证只有授权用户才可以使用立方体。

2. 创立立方体维度

维度是从创建在数据库中的维度表中设计的。每个维度表包括一个主键,用来连接实际表的维度,也包含用来创建层次和属性的维度的信息。

在多数情况下,维度都被设计成共享维度,这意味着它们可以被许多立方体共享。如果维度表在关系数据库中恰当的确定,它们就可以直接装载成共享维度,然后由定义层次和少许的附加效果来确定。所有维度必须在创建立方体之前完成。

3. 设计立方体

当维度表装载完成后,就要创建立方体。立方体的中心是连接各个维度表的实际表。当指定完实际表后,就可以增加维度表。如果共享维度表已经创建了,它们就更容易增加,而且可以自动连接到实际表。

当立方体创建完成时,实际表已经被指定了,从实际表的量度将被引用到立方体设计的量度部分。维度通过设计器维度部分的右键增加,现有的维度可以被选择并加入到立方体。立方体编辑器中可以使用关键词将维度表连接到实际表,但是如果维度表关键词的名字与实际表字段不相配时,必须手工连接。注意这个连接并不依照外键自动创建,实际上立方体编辑器是将维度表的字段和实际表相应的名字创建连接。这可以解决不必要或者不正确的连接。

立方体建立后,它们就开始处理数据了。这里的处理有两步——“集合体设计”和实际的立方体创建进程。集合体设计可以用来改善立方体的性能,但同时也增加了处理需要的时间和立方体使用的磁盘空间。正确的解决方法是在这两项中进行平衡。

OLAP在数据挖掘中的应用

1. 提取、转移和下载数据

第一步是从OLTP系统(联机事务处理系统)中提取数据,转移到包含分析数据仓库的数据库中,并以可以使用的格式装载到数据仓库中。

2.“清洁”数据

未编辑或者未加工的数据经常包括大量的不完整性数据,对分析结果没有用处。

因此,在对数据进行编辑之前,要对数据进行处理,来保证数据进入数据库环境时是合适的。需要纠正的错误包括:去除空值、在字段内去除空格、修改日期、创建正确的数据类型、为相同的服务合并相同的要求、去除多重的患者号码。

3. 统一分析数据仓库中的数据

一旦数据装载到数据仓库中,数据仓库就被定义成OLAP立方体需要的维度和量度。

4. 发展查询表

除了数据库的标准要求外,还有许多附加表必须加入到分析数据库中,以提供有用的报告,包括IBNR要素、提供者查询表等等。每个表必须完整的加入到数据仓库,以便在报告时能够包括完整的信息。

5. 数据挖掘

最后,数据挖掘技术可以通过发现数据的模式处理大量数据,包括许多维度,并使用很多运算法则来识别一些因素。

临床数据挖掘系统采用报表、各类统计图、趋势分析图和仪表盘(Dashboard)等技术,把重要的决策支持信息整合在一起,便于综合判断决策。同时,临床数据挖掘系统需要从数据仓库的构建开始。

在多数情况下,维度都被设计成共享维度,这意味着它们可以被许多立方体共享。如果维度表在关系数据库中恰当的确定,它们就可以直接装载成共享维度,然后由定义层次和少许的附加效果来确定。

猜你喜欢
立方体数据仓库数据挖掘
基于数据仓库的数据倾斜解决方案研究
内克尔立方体里的瓢虫
图形前线
数据挖掘综述
软件工程领域中的异常数据挖掘算法
数据仓库系统设计与实现
基于R的医学大数据挖掘系统研究
折纸
k元n立方并行容错路由
数据复用在存储数据仓库中的运用