臨床數(shù)據(jù)挖掘系統(tǒng)中的OLAP技術(shù)
掃描二維碼
隨時隨地手機(jī)看文章
本文將討論一下數(shù)據(jù)倉庫的設(shè)計,在線交易處理系統(tǒng)(OLAP)的概念,以及從OLTP中提取數(shù)據(jù)的問題。同時也闡述了OLTP的數(shù)據(jù)模型,以及在這些空間模型中的量值和緯度的概念。
醫(yī)療管理部門、醫(yī)療監(jiān)測部門、醫(yī)院、醫(yī)療保險公司等機(jī)構(gòu)每天都可能要處理數(shù)百萬條的醫(yī)療數(shù)據(jù),因此都需要使用到醫(yī)療衛(wèi)生保健數(shù)據(jù)。這些醫(yī)療機(jī)構(gòu)對處理這種醫(yī)療數(shù)據(jù)是比較熟悉的,不過卻不擅長對這些數(shù)據(jù)進(jìn)行深入的分析。臨床醫(yī)療數(shù)據(jù)的數(shù)據(jù)量、復(fù)雜性和安全性對臨床醫(yī)療數(shù)據(jù)的分析造成了很大的挑戰(zhàn)。值得一提的是,處理醫(yī)療數(shù)據(jù)和分析醫(yī)療數(shù)據(jù)之間的存在著巨大差異。
臨床數(shù)據(jù)挖掘系統(tǒng)是基于信息共享平臺的SOA開放式構(gòu)架,為醫(yī)療機(jī)構(gòu)提供智能化臨床數(shù)據(jù)挖掘與管理決策支持功能。對于信息的展示方式,臨床數(shù)據(jù)挖掘系統(tǒng)采用報表、各類統(tǒng)計圖、趨勢分析圖和儀表盤(Dashboard)等技術(shù),把重要的決策支持信息整合在一起,便于綜合判斷決策。同時,臨床數(shù)據(jù)挖掘系統(tǒng)需要從數(shù)據(jù)倉庫的構(gòu)建開始。
醫(yī)療數(shù)據(jù)的特點及數(shù)據(jù)倉庫的構(gòu)建
數(shù)據(jù)倉庫存儲的是大量的醫(yī)療數(shù)據(jù),醫(yī)療數(shù)據(jù)具有如下特點。
1. 醫(yī)療數(shù)據(jù)的隱私性(Privacy)
醫(yī)療數(shù)據(jù)不可避免的涉及到患者的一些隱私信息,當(dāng)這些隱私信息使患者在日常生活中遭遇到不可預(yù)料的侵?jǐn)_時,就產(chǎn)生了侵犯患者隱私的問題。醫(yī)療數(shù)據(jù)挖掘者有義務(wù)和責(zé)任在保護(hù)患者隱私的基礎(chǔ)上進(jìn)行科學(xué)研究,并且確保這些醫(yī)療數(shù)據(jù)的安全性和機(jī)密性。
2. 醫(yī)療數(shù)據(jù)的多樣性
由于醫(yī)療數(shù)據(jù)是從醫(yī)學(xué)影像、實驗數(shù)據(jù)以及醫(yī)生與患者的交流中獲得的,所以原始的醫(yī)療數(shù)據(jù)具有多種形式。醫(yī)療數(shù)據(jù)的多樣性是它區(qū)別于其它領(lǐng)域數(shù)據(jù)的最顯著特征。
3. 醫(yī)療數(shù)據(jù)的不完整性
醫(yī)療數(shù)據(jù)的搜集和處理過程經(jīng)常相互脫節(jié),這使得醫(yī)療數(shù)據(jù)庫不可能對任何疾病信息都能全面的反映。
4. 醫(yī)療數(shù)據(jù)的冗余性
醫(yī)療數(shù)據(jù)庫是一個龐大的數(shù)據(jù)資源,每天都會有大量的記錄存儲到數(shù)據(jù)庫中,其中可能會包含重復(fù)的、無關(guān)緊要的、甚至是相互矛盾的記錄。
此外,醫(yī)療數(shù)據(jù)還具有時間性特征。
數(shù)據(jù)倉庫是支持決策過程的、面向主題的、集成的、與時間有關(guān)的、持久的數(shù)據(jù)集合,它以傳統(tǒng)的數(shù)據(jù)庫技術(shù)作為存儲數(shù)據(jù)和管理資源的基本手段,以統(tǒng)計分析技術(shù)作為分析數(shù)據(jù)和提取信息的有效方法,以人工智能技術(shù)作為挖掘知識和發(fā)現(xiàn)規(guī)律的科學(xué)途徑,是與網(wǎng)絡(luò)通信技術(shù)、面向?qū)ο蠹夹g(shù)、并行技術(shù)、多媒體技術(shù)、人工智能技術(shù)等相互滲透、互相結(jié)合與綜合應(yīng)用的技術(shù)。
創(chuàng)建數(shù)據(jù)倉庫,是從已有數(shù)據(jù)出發(fā)的數(shù)據(jù)倉庫的設(shè)計方法,稱之為“數(shù)據(jù)驅(qū)動”的系統(tǒng)設(shè)計方法,它的基本思路是:利用以前建設(shè)的數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù),按照分析領(lǐng)域?qū)?shù)據(jù)及數(shù)據(jù)之間的聯(lián)系重新考慮,組織數(shù)據(jù)倉庫中的主題,利用數(shù)據(jù)模型有效的識別數(shù)據(jù)和數(shù)據(jù)倉庫中的主題數(shù)據(jù)的“共同性”(即建立主題間相互聯(lián)系的屬性)。
構(gòu)建一個數(shù)據(jù)倉庫需要完成抽取主題、組織數(shù)據(jù)、獲取與集成數(shù)據(jù)和建立應(yīng)用。湖南省第二人民醫(yī)院的臨床數(shù)據(jù)挖掘與管理決策支持系統(tǒng)將在數(shù)據(jù)倉庫上展開。
在線分析處理系統(tǒng)(OLAP)
通常情況下,臨床醫(yī)生和醫(yī)療管理者等醫(yī)療數(shù)據(jù)的最終使用用戶都不得不依賴于程序來將自己的需求翻譯成程序查詢語言后,才能使用醫(yī)療數(shù)據(jù)。由于數(shù)據(jù)提取過程非常復(fù)雜,因此臨床醫(yī)生和醫(yī)療管理者很少能夠直接訪問到原始數(shù)據(jù)。
OLAP數(shù)據(jù)庫在結(jié)構(gòu)和使用方法上與關(guān)系數(shù)據(jù)庫有所不同。關(guān)系數(shù)據(jù)庫在結(jié)構(gòu)上主要圍繞“表”、“視圖”和“查詢”這些關(guān)系數(shù)據(jù)庫中的基本數(shù)據(jù)術(shù)語來解決相關(guān)的數(shù)據(jù)庫問題。與其形成對照的是,OLAP數(shù)據(jù)庫的結(jié)構(gòu)圍繞著維度和量值來設(shè)計解決相關(guān)的數(shù)據(jù)庫問題。關(guān)系數(shù)據(jù)庫的首要問題是保存數(shù)據(jù),OLAP數(shù)據(jù)庫的設(shè)計是以快速和有效的方法來重新獲取數(shù)據(jù)。
OLAP數(shù)據(jù)庫的使用界面與關(guān)系數(shù)據(jù)庫的使用界面是完全不同的。多數(shù)普通的OLAP使用者界面是Excel表格,可以自動將數(shù)據(jù)排列到表格的行和列中。大多數(shù)臨床和醫(yī)療管理者是熟悉Excel的,且有一定的電子制表軟件的使用經(jīng)驗,經(jīng)過短期的培訓(xùn)就可以使用OLAP系統(tǒng)。
OLAP數(shù)據(jù)庫中,自己的設(shè)計方法是最重要的。一個好的OLAP數(shù)據(jù)庫的設(shè)計首先要定義更多的方法來報告項目,這些項目應(yīng)保持正確性和一致性。例如,一個“內(nèi)科醫(yī)生訪視”項目可以定義為僅包括診室內(nèi)的訪視,也可以包括整個醫(yī)院內(nèi)或者急診部門的訪視。一旦定義的項目達(dá)成統(tǒng)一,就可以通過選擇合適的CPT編碼定義量度,使用者今后將使用“內(nèi)科醫(yī)生訪視”量度,而不用擔(dān)心它的定義。為了創(chuàng)建這些定義,需要徹底理解這些數(shù)據(jù)和可能使用的數(shù)據(jù),這些在設(shè)計OLAP數(shù)據(jù)庫時是最基礎(chǔ)的。
OLAP數(shù)據(jù)庫通常比關(guān)系數(shù)據(jù)庫更容易升級,體現(xiàn)了它適應(yīng)數(shù)據(jù)增長的能力。關(guān)系數(shù)據(jù)庫的大小依賴于記錄的數(shù)目,而OLAP數(shù)據(jù)庫的大小則由將被報告的數(shù)據(jù)信息類型來定義。另外,OLAP數(shù)據(jù)庫也可以事先集合數(shù)據(jù),來完成使用者希望詢問的一些數(shù)據(jù)結(jié)合的結(jié)果。這些事實表明,OLAP數(shù)據(jù)結(jié)構(gòu)比關(guān)系數(shù)據(jù)結(jié)構(gòu)有更有效的儲藏能力,OLAP模型可以適應(yīng)包括百萬條記錄在內(nèi)的數(shù)據(jù)庫,也可以在幾秒鐘內(nèi)響應(yīng)查詢要求。
OLAP數(shù)據(jù)庫可以被看作是一個“立方體”,因為維度是可以被組合的。立方體結(jié)構(gòu)推近了數(shù)據(jù)的分組和摘要,而關(guān)系數(shù)據(jù)庫則不能產(chǎn)生這種效果。所有立方體的參數(shù)基于組成立方體的量度和維度。使用者不需要擔(dān)心分組、集合、計算總數(shù)或者其他的數(shù)據(jù)庫操作,而僅僅需要掌握立方體的設(shè)計過程。
設(shè)計OLAP立方體
1. 如何構(gòu)建一個立方體
一個OLAP立方體是基于維度和量度設(shè)計的。在立方體建立之前,維度就已經(jīng)建立了,而且一些“共享維度”可以在很多立方體中共享。一旦共享維度設(shè)計好,立方體就可以從實際表中構(gòu)建了。量度是從實際表中識別,維度表是通過在數(shù)據(jù)庫設(shè)計中確定的外鍵連接實際表。計算量度可以使用立方體中的基礎(chǔ)量度演算出來。多重的立方體可以結(jié)合到一個“虛擬立方體”,允許含有多重的“商業(yè)元素”。最后,創(chuàng)建立方體的安全性也非常重要,以保證只有授權(quán)用戶才可以使用立方體。
2. 創(chuàng)立立方體維度
維度是從創(chuàng)建在數(shù)據(jù)庫中的維度表中設(shè)計的。每個維度表包括一個主鍵,用來連接實際表的維度,也包含用來創(chuàng)建層次和屬性的維度的信息。
在多數(shù)情況下,維度都被設(shè)計成共享維度,這意味著它們可以被許多立方體共享。如果維度表在關(guān)系數(shù)據(jù)庫中恰當(dāng)?shù)拇_定,它們就可以直接裝載成共享維度,然后由定義層次和少許的附加效果來確定。所有維度必須在創(chuàng)建立方體之前完成。
3. 設(shè)計立方體
當(dāng)維度表裝載完成后,就要創(chuàng)建立方體。立方體的中心是連接各個維度表的實際表。當(dāng)指定完實際表后,就可以增加維度表。如果共享維度表已經(jīng)創(chuàng)建了,它們就更容易增加,而且可以自動連接到實際表。
當(dāng)立方體創(chuàng)建完成時,實際表已經(jīng)被指定了,從實際表的量度將被引用到立方體設(shè)計的量度部分。維度通過設(shè)計器維度部分的右鍵增加,現(xiàn)有的維度可以被選擇并加入到立方體。立方體編輯器中可以使用關(guān)鍵詞將維度表連接到實際表,但是如果維度表關(guān)鍵詞的名字與實際表字段不相配時,必須手工連接。注意這個連接并不依照外鍵自動創(chuàng)建,實際上立方體編輯器是將維度表的字段和實際表相應(yīng)的名字創(chuàng)建連接。這可以解決不必要或者不正確的連接。
立方體建立后,它們就開始處理數(shù)據(jù)了。這里的處理有兩步——“集合體設(shè)計”和實際的立方體創(chuàng)建進(jìn)程。集合體設(shè)計可以用來改善立方體的性能,但同時也增加了處理需要的時間和立方體使用的磁盤空間。正確的解決方法是在這兩項中進(jìn)行平衡。
OLAP在數(shù)據(jù)挖掘中的應(yīng)用
1. 提取、轉(zhuǎn)移和下載數(shù)據(jù)
第一步是從OLTP系統(tǒng)(聯(lián)機(jī)事務(wù)處理系統(tǒng))中提取數(shù)據(jù),轉(zhuǎn)移到包含分析數(shù)據(jù)倉庫的數(shù)據(jù)庫中,并以可以使用的格式裝載到數(shù)據(jù)倉庫中。
2.“清潔”數(shù)據(jù)
未編輯或者未加工的數(shù)據(jù)經(jīng)常包括大量的不完整性數(shù)據(jù),對分析結(jié)果沒有用處。
因此,在對數(shù)據(jù)進(jìn)行編輯之前,要對數(shù)據(jù)進(jìn)行處理,來保證數(shù)據(jù)進(jìn)入數(shù)據(jù)庫環(huán)境時是合適的。需要糾正的錯誤包括:去除空值、在字段內(nèi)去除空格、修改日期、創(chuàng)建正確的數(shù)據(jù)類型、為相同的服務(wù)合并相同的要求、去除多重的患者號碼。
3. 統(tǒng)一分析數(shù)據(jù)倉庫中的數(shù)據(jù)
一旦數(shù)據(jù)裝載到數(shù)據(jù)倉庫中,數(shù)據(jù)倉庫就被定義成OLAP立方體需要的維度和量度。
4. 發(fā)展查詢表
除了數(shù)據(jù)庫的標(biāo)準(zhǔn)要求外,還有許多附加表必須加入到分析數(shù)據(jù)庫中,以提供有用的報告,包括IBNR要素、提供者查詢表等等。每個表必須完整的加入到數(shù)據(jù)倉庫,以便在報告時能夠包括完整的信息。
5. 數(shù)據(jù)挖掘
最后,數(shù)據(jù)挖掘技術(shù)可以通過發(fā)現(xiàn)數(shù)據(jù)的模式處理大量數(shù)據(jù),包括許多維度,并使用很多運算法則來識別一些因素。