Microsoft时序挖掘模型在门诊挂号预测中的应用

2012-03-11 14:01刘炳麟王志萍
中国卫生统计 2012年4期
关键词:数据仓库挂号时序

刘炳麟 王志萍

对时间序列数据进行分析的目的是为了预测未来。其分析方法有多种,本文介绍作为分析方法之一的Microsoft时序挖掘模型,在Excel环境下实现对时间序列数据的分析预测。本文将展示它在门诊挂号预测中的应用效果,可以作为医院门诊部制定工作计划、合理安排人、财、物资源的科学依据。

Microsoft时序算法

Microsoft时序算法是Microsoft SQL Server 2008 A-nalysis Services(SSAS)提供的回归算法,用于创建数据挖掘模型以便对预测方案中的连续列(如门诊挂号人次)进行预测。Microsoft时序算法包括两个独立的算法:ARTXP算法和ARIMA算法。ARTXP算法针对短期预测进行了优化,因此可预测序列中下一个可能的值,ARIMA算法针对长期预测进行了优化。

默认情况下,Microsoft时序算法在分析模式和进行预测时混合使用这两种算法。该算法使用相同的数据为两个单独的模型定型:一个模型采用 ARTXP算法,另一个模型采用ARIMA算法。因为ARTXP最适合于短期预测,所以在一系列预测的开始时十分重要。但是,随着预测的时间段不断向将来延伸,ARIMA就比较重要了。在进行前几步预测时只使用ARTXP,完成前几步预测后,结合使用ARIMA和ARTXP,随着预测步骤数的增加,预测越来越多地依赖 ARIMA,直至不再使用 ARTXP。

1.ARIMA

自回归移动平均模型(ARIMA),是由Box和Jenkins于20世纪70年代初提出的时间序列预测方法,基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列,这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。ARIMA数学模型由自回归(AR)模型和滑动平均(MA)模型组合而成,数学公式表示为:

Yt= φ1Yt-1+ φ2Yt-2+ … + φpYt-p+et- θ1et-1-θ2et-2- … - θqet-q

p为自回归模型的阶数,Yt是时间序列在t期的观测值,et是时间序列模型在t期的误差或偏差。

2.ARTXP

ARTXP结合了自动回归技术和决策树技术。在自动回归过程中,x在t的值(xt)是时间t之前的x一系列值的一个函数,例如 xt=f(xt-1,xt-2,xt-3,…,xt-n)+εt,其中xt是待研究的时间序列,n是自动回归的阶,通常小于该序列的长度,最后一项代表噪声。使用时间序列算法的目标是找到这个函数f。如果函数f是一个线性函数,则有如下的形式,xt=a1xt-1+a2xt-2+a3xt-3+…+anxt-n+εt,其中ai是自动回归系数。使用Microsoft时序算法创建的模型是一个自动回归模型,在该模型中,函数f对应一棵回归树。回归树按照属性拆分,相当于决策树,树的叶节点对应一个回归公式,用于创建数据挖掘预测模型。

ARTXP派生自以下事实,即自动回归树方法(一种ART算法)应用于多个未知的先前状态。ART算法的优点是所需资料不多,可用自变量数列来进行预测。但是这种方法要求数据必须具有自相关。

Excel环境下应用Microsoft时序挖掘模型

首先,下载Excel 2007数据挖掘加载项:SQL Server 2008 Data Mining Add-ins for Microsoft Office 2007,将Excel 2007数据挖掘加载项安装到计算机中。打开Excel 2007,可以发现菜单栏中增加了一个“数据挖掘”菜单。

真正使用此数据挖掘加载项,还需要满足如下条件:(1)计算机操作系统为Windows XP SP2以上或Windows 7等;(2)计算机中安装有SQL Sever 2008。

以下介绍使用Microsoft时序挖掘模型:

1.连接数据挖掘服务器和Analysis Services数据库

因为Microsoft时序挖掘模型工作模式是客户端和服务器模式即 C/S模式,Excel作为客户端,SQL Sever 2008作为提供数据挖掘模型和提供数据的服务器端,所以必须首先连接SQL Sever本地服务器,即在本机中安装SQL Sever 2008时设定的服务器名称,连接服务器的同时要连接到创建好的Analysis Services数据库,通过此数据库可以为数据挖掘模型提供要分析的数据。在通过点击连接子菜单中的“选择连接”,弹出一个对话框,单击对话框中的“新建”,输入服务器名称和已创建的Analysis Services数据库。

创建Analysis Services数据库有两种方式。一种是通过SQL Sever 2008创建多维数据仓库时创建,这种方式往往是为了分析多维数据仓库中的数据,即数据来自多维数据仓库。另一种是通过Excel 2007数据挖掘实例创建,在前面所述安装Excel 2007数据挖掘加载项时,微软提供了一个实例,通过Window XP的“开始”→“程序”→Microsoft SQL 2008数据挖掘外接程序→服务器配置实用工具,来创建一个Analysis Services数据库,但是此数据库只有结构,没有数据,是空的。这种方式用来分析来自于Excel工作表中的数据,即把要分析的数据输入工作表中进行分析。

2.数据准备

本文数据来自上面所叙述的第一种方式。通过SQL Sever 2008创建了我院门诊挂号数据仓库,门诊挂号的原始数据存储在此数据仓库中,新的数据不断增加到数据仓库中。在数据仓库中建立挂号数据立方体,此立方体包括两个维度,时间维度和门诊科室维度,一个事实表,门诊挂号人次事实表。

利用Excel的数据透视表作为数据立方体的数据前端展示工具。单击Excel 2007的“数据”菜单→获取外部数据子菜单中的“自其他来源“→”来自Analysis Services”,在弹出的对话框中输入前面所述的服务器名称,选择所要分析的Analysis Services数据库,将数据立方体的数据导入,以数据透视表的方式展示在Excel工作表中。本文选择了2008年至2011年上半年的历史挂号数据,来预测未来的2011年7月的挂号数据,分别选取了8个专业门诊。

Excel工作表中时间序列数据的格式要求为:第一列为时间数据,要有标题,时间格式,例如2008年1月应为200801或2008/1;其他列,标题列为科室名称,例如东院儿科门诊、东院耳鼻喉门诊等,数据为数字,例如各门诊科室的挂号人次。

3.创建时序模型

用鼠标单击“数据建模”子菜单中高级,单击“创建挖掘结构”,将导入到工作表中的几列数据选定作为创建挖掘结构的源数据,将Excel工作表中的时间数据列作为Key Time列。给创建的挖掘结构输入名称,保存。单击“将模型添加到结构”,选择刚刚创建的挖掘结构名称,在算法中选择“Microsoft时序”,将要预测的列改为仅预测,例如将标题为东院儿科门诊、东院耳鼻喉门诊等的数据列改为仅预测。最后输入模型名称,保存。

4.浏览时序模型

通过“浏览”功能菜单,可实现浏览创建好的时序模型。本文通过预测8个专业门诊2011年7月的挂号人次,显示Microsoft时序挖掘模型预测效果。图1为“浏览”后的预测效果。

图1 预测趋势图

图1中虚线为预测的部分,选择【显示偏差】复选框,可显示偏差范围,现以预测2011年7月以上几个专业门诊的挂号人次为例,展示预测效果。预测值和实际值比较见表1,东院免疫风湿门诊、东院神经科门诊、东院肝胆外科门诊预测值非常接近实际值,其他专业门诊实际值在预测偏差范围内,仅东院泌尿外预测值偏离了实际值,这是因为期间更换了科主任,有更多病人慕名而来。可以看出时序挖掘模型能较好地完成预测任务,为医院决策提供可靠的依据。

表1 2011年7月挂号人次实际值和预测值

Microsoft时序挖掘模型为医院管理者提供了一种决策工具,不仅用于预测门诊挂号人次,还可以预测科室收入、医院总收入、药库出入库数量等。

1.吕效国,刘凯峰,王占军.用自回归模型的预选方法预测门诊人数.中国卫生统计,2009,26(1):64.

2.Box GEP,Jenkins GM,Reisel GC.顾岚主译.时间序列分析-预测与控制.北京:中国统计出版社,1997:5-180.

3.谢邦昌,朱建平,来升强.Execl 2007数据挖掘完全手册.北京:清华大学出版社,2008:175-197.

4.朱凌云,等.医学数据挖掘技术、方法与应用.生物医学工程杂志,2003,20(3):559-562.

5.孙振球.医学统计学.第2版.北京:人民卫生出版社,2007:461-477.

猜你喜欢
数据仓库挂号时序
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
清明
基于数据仓库的数据倾斜解决方案研究
基于不同建设时序的地铁互联互通方案分析
移动『黄牛』
移动“黄牛”
基于FPGA 的时序信号光纤传输系统
探析电力系统调度中数据仓库技术的应用
数据仓库系统设计与实现
挂号中介服务“赔本赚吆喝”