?

臨床數據挖掘中應用的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立方并行容錯路由
數據復用在存儲數據倉庫中的運用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合