劉炳麟 王志萍
對時間序列數(shù)據(jù)進(jìn)行分析的目的是為了預(yù)測未來。其分析方法有多種,本文介紹作為分析方法之一的Microsoft時序挖掘模型,在Excel環(huán)境下實(shí)現(xiàn)對時間序列數(shù)據(jù)的分析預(yù)測。本文將展示它在門診掛號預(yù)測中的應(yīng)用效果,可以作為醫(yī)院門診部制定工作計劃、合理安排人、財、物資源的科學(xué)依據(jù)。
Microsoft時序算法是Microsoft SQL Server 2008 A-nalysis Services(SSAS)提供的回歸算法,用于創(chuàng)建數(shù)據(jù)挖掘模型以便對預(yù)測方案中的連續(xù)列(如門診掛號人次)進(jìn)行預(yù)測。Microsoft時序算法包括兩個獨(dú)立的算法:ARTXP算法和ARIMA算法。ARTXP算法針對短期預(yù)測進(jìn)行了優(yōu)化,因此可預(yù)測序列中下一個可能的值,ARIMA算法針對長期預(yù)測進(jìn)行了優(yōu)化。
默認(rèn)情況下,Microsoft時序算法在分析模式和進(jìn)行預(yù)測時混合使用這兩種算法。該算法使用相同的數(shù)據(jù)為兩個單獨(dú)的模型定型:一個模型采用 ARTXP算法,另一個模型采用ARIMA算法。因?yàn)锳RTXP最適合于短期預(yù)測,所以在一系列預(yù)測的開始時十分重要。但是,隨著預(yù)測的時間段不斷向?qū)硌由欤珹RIMA就比較重要了。在進(jìn)行前幾步預(yù)測時只使用ARTXP,完成前幾步預(yù)測后,結(jié)合使用ARIMA和ARTXP,隨著預(yù)測步驟數(shù)的增加,預(yù)測越來越多地依賴 ARIMA,直至不再使用 ARTXP。
1.ARIMA
自回歸移動平均模型(ARIMA),是由Box和Jenkins于20世紀(jì)70年代初提出的時間序列預(yù)測方法,基本思想是:將預(yù)測對象隨時間推移而形成的數(shù)據(jù)序列視為一個隨機(jī)序列,用一定的數(shù)學(xué)模型來近似描述這個序列,這個模型一旦被識別后就可以從時間序列的過去值及現(xiàn)在值來預(yù)測未來值。ARIMA數(shù)學(xué)模型由自回歸(AR)模型和滑動平均(MA)模型組合而成,數(shù)學(xué)公式表示為:
Yt= φ1Yt-1+ φ2Yt-2+ … + φpYt-p+et- θ1et-1-θ2et-2- … - θqet-q
p為自回歸模型的階數(shù),Yt是時間序列在t期的觀測值,et是時間序列模型在t期的誤差或偏差。
2.ARTXP
ARTXP結(jié)合了自動回歸技術(shù)和決策樹技術(shù)。在自動回歸過程中,x在t的值(xt)是時間t之前的x一系列值的一個函數(shù),例如 xt=f(xt-1,xt-2,xt-3,…,xt-n)+εt,其中xt是待研究的時間序列,n是自動回歸的階,通常小于該序列的長度,最后一項(xiàng)代表噪聲。使用時間序列算法的目標(biāo)是找到這個函數(shù)f。如果函數(shù)f是一個線性函數(shù),則有如下的形式,xt=a1xt-1+a2xt-2+a3xt-3+…+anxt-n+εt,其中ai是自動回歸系數(shù)。使用Microsoft時序算法創(chuàng)建的模型是一個自動回歸模型,在該模型中,函數(shù)f對應(yīng)一棵回歸樹。回歸樹按照屬性拆分,相當(dāng)于決策樹,樹的葉節(jié)點(diǎn)對應(yīng)一個回歸公式,用于創(chuàng)建數(shù)據(jù)挖掘預(yù)測模型。
ARTXP派生自以下事實(shí),即自動回歸樹方法(一種ART算法)應(yīng)用于多個未知的先前狀態(tài)。ART算法的優(yōu)點(diǎn)是所需資料不多,可用自變量數(shù)列來進(jìn)行預(yù)測。但是這種方法要求數(shù)據(jù)必須具有自相關(guān)。
首先,下載Excel 2007數(shù)據(jù)挖掘加載項(xiàng):SQL Server 2008 Data Mining Add-ins for Microsoft Office 2007,將Excel 2007數(shù)據(jù)挖掘加載項(xiàng)安裝到計算機(jī)中。打開Excel 2007,可以發(fā)現(xiàn)菜單欄中增加了一個“數(shù)據(jù)挖掘”菜單。
真正使用此數(shù)據(jù)挖掘加載項(xiàng),還需要滿足如下條件:(1)計算機(jī)操作系統(tǒng)為Windows XP SP2以上或Windows 7等;(2)計算機(jī)中安裝有SQL Sever 2008。
以下介紹使用Microsoft時序挖掘模型:
1.連接數(shù)據(jù)挖掘服務(wù)器和Analysis Services數(shù)據(jù)庫
因?yàn)镸icrosoft時序挖掘模型工作模式是客戶端和服務(wù)器模式即 C/S模式,Excel作為客戶端,SQL Sever 2008作為提供數(shù)據(jù)挖掘模型和提供數(shù)據(jù)的服務(wù)器端,所以必須首先連接SQL Sever本地服務(wù)器,即在本機(jī)中安裝SQL Sever 2008時設(shè)定的服務(wù)器名稱,連接服務(wù)器的同時要連接到創(chuàng)建好的Analysis Services數(shù)據(jù)庫,通過此數(shù)據(jù)庫可以為數(shù)據(jù)挖掘模型提供要分析的數(shù)據(jù)。在通過點(diǎn)擊連接子菜單中的“選擇連接”,彈出一個對話框,單擊對話框中的“新建”,輸入服務(wù)器名稱和已創(chuàng)建的Analysis Services數(shù)據(jù)庫。
創(chuàng)建Analysis Services數(shù)據(jù)庫有兩種方式。一種是通過SQL Sever 2008創(chuàng)建多維數(shù)據(jù)倉庫時創(chuàng)建,這種方式往往是為了分析多維數(shù)據(jù)倉庫中的數(shù)據(jù),即數(shù)據(jù)來自多維數(shù)據(jù)倉庫。另一種是通過Excel 2007數(shù)據(jù)挖掘?qū)嵗齽?chuàng)建,在前面所述安裝Excel 2007數(shù)據(jù)挖掘加載項(xiàng)時,微軟提供了一個實(shí)例,通過Window XP的“開始”→“程序”→Microsoft SQL 2008數(shù)據(jù)挖掘外接程序→服務(wù)器配置實(shí)用工具,來創(chuàng)建一個Analysis Services數(shù)據(jù)庫,但是此數(shù)據(jù)庫只有結(jié)構(gòu),沒有數(shù)據(jù),是空的。這種方式用來分析來自于Excel工作表中的數(shù)據(jù),即把要分析的數(shù)據(jù)輸入工作表中進(jìn)行分析。
2.數(shù)據(jù)準(zhǔn)備
本文數(shù)據(jù)來自上面所敘述的第一種方式。通過SQL Sever 2008創(chuàng)建了我院門診掛號數(shù)據(jù)倉庫,門診掛號的原始數(shù)據(jù)存儲在此數(shù)據(jù)倉庫中,新的數(shù)據(jù)不斷增加到數(shù)據(jù)倉庫中。在數(shù)據(jù)倉庫中建立掛號數(shù)據(jù)立方體,此立方體包括兩個維度,時間維度和門診科室維度,一個事實(shí)表,門診掛號人次事實(shí)表。
利用Excel的數(shù)據(jù)透視表作為數(shù)據(jù)立方體的數(shù)據(jù)前端展示工具。單擊Excel 2007的“數(shù)據(jù)”菜單→獲取外部數(shù)據(jù)子菜單中的“自其他來源“→”來自Analysis Services”,在彈出的對話框中輸入前面所述的服務(wù)器名稱,選擇所要分析的Analysis Services數(shù)據(jù)庫,將數(shù)據(jù)立方體的數(shù)據(jù)導(dǎo)入,以數(shù)據(jù)透視表的方式展示在Excel工作表中。本文選擇了2008年至2011年上半年的歷史掛號數(shù)據(jù),來預(yù)測未來的2011年7月的掛號數(shù)據(jù),分別選取了8個專業(yè)門診。
Excel工作表中時間序列數(shù)據(jù)的格式要求為:第一列為時間數(shù)據(jù),要有標(biāo)題,時間格式,例如2008年1月應(yīng)為200801或2008/1;其他列,標(biāo)題列為科室名稱,例如東院兒科門診、東院耳鼻喉門診等,數(shù)據(jù)為數(shù)字,例如各門診科室的掛號人次。
3.創(chuàng)建時序模型
用鼠標(biāo)單擊“數(shù)據(jù)建模”子菜單中高級,單擊“創(chuàng)建挖掘結(jié)構(gòu)”,將導(dǎo)入到工作表中的幾列數(shù)據(jù)選定作為創(chuàng)建挖掘結(jié)構(gòu)的源數(shù)據(jù),將Excel工作表中的時間數(shù)據(jù)列作為Key Time列。給創(chuàng)建的挖掘結(jié)構(gòu)輸入名稱,保存。單擊“將模型添加到結(jié)構(gòu)”,選擇剛剛創(chuàng)建的挖掘結(jié)構(gòu)名稱,在算法中選擇“Microsoft時序”,將要預(yù)測的列改為僅預(yù)測,例如將標(biāo)題為東院兒科門診、東院耳鼻喉門診等的數(shù)據(jù)列改為僅預(yù)測。最后輸入模型名稱,保存。
4.瀏覽時序模型
通過“瀏覽”功能菜單,可實(shí)現(xiàn)瀏覽創(chuàng)建好的時序模型。本文通過預(yù)測8個專業(yè)門診2011年7月的掛號人次,顯示Microsoft時序挖掘模型預(yù)測效果。圖1為“瀏覽”后的預(yù)測效果。

圖1 預(yù)測趨勢圖
圖1中虛線為預(yù)測的部分,選擇【顯示偏差】復(fù)選框,可顯示偏差范圍,現(xiàn)以預(yù)測2011年7月以上幾個專業(yè)門診的掛號人次為例,展示預(yù)測效果。預(yù)測值和實(shí)際值比較見表1,東院免疫風(fēng)濕門診、東院神經(jīng)科門診、東院肝膽外科門診預(yù)測值非常接近實(shí)際值,其他專業(yè)門診實(shí)際值在預(yù)測偏差范圍內(nèi),僅東院泌尿外預(yù)測值偏離了實(shí)際值,這是因?yàn)槠陂g更換了科主任,有更多病人慕名而來。可以看出時序挖掘模型能較好地完成預(yù)測任務(wù),為醫(yī)院決策提供可靠的依據(jù)。

表1 2011年7月掛號人次實(shí)際值和預(yù)測值
Microsoft時序挖掘模型為醫(yī)院管理者提供了一種決策工具,不僅用于預(yù)測門診掛號人次,還可以預(yù)測科室收入、醫(yī)院總收入、藥庫出入庫數(shù)量等。
1.呂效國,劉凱峰,王占軍.用自回歸模型的預(yù)選方法預(yù)測門診人數(shù).中國衛(wèi)生統(tǒng)計,2009,26(1):64.
2.Box GEP,Jenkins GM,Reisel GC.顧嵐主譯.時間序列分析-預(yù)測與控制.北京:中國統(tǒng)計出版社,1997:5-180.
3.謝邦昌,朱建平,來升強(qiáng).Execl 2007數(shù)據(jù)挖掘完全手冊.北京:清華大學(xué)出版社,2008:175-197.
4.朱凌云,等.醫(yī)學(xué)數(shù)據(jù)挖掘技術(shù)、方法與應(yīng)用.生物醫(yī)學(xué)工程雜志,2003,20(3):559-562.
5.孫振球.醫(yī)學(xué)統(tǒng)計學(xué).第2版.北京:人民衛(wèi)生出版社,2007:461-477.