物流寄情54:醫療資料挖掘技術

楊惟雯

 

按照世界經濟論壇的說法,大資料是新財富,價值堪比石油

麥肯錫也曾說,大資料就是生產資料。一份報告顯示,醫療大資料的分析會為美國產生3000億美元的價值,減少8%的美國國家醫療保健的支出。”

不過,要把醫療大資料轉換為經濟價值,最難的是醫療資料的挖掘。關鍵在如何提取出與診療有關的資料?

 

那麼,資料挖掘到底是什麼?資料挖掘作為一個過程,是否有章可循、有規可依?企業應該在哪些領域應用資料挖掘技術?目前,資料挖掘的技術諮詢、系統集成、工具軟體的狀況究竟怎樣?

 

一、資料挖掘的緣起

  

什麼叫資料挖掘(Data Mining,簡稱DM)?關於定義,各人的說法不一,就像一頭大象,各人摸到的是自己可以摸到的那一部分。在雅虎上鍵入“Data Mining”,立刻便找到150多個網址。如果用Google 搜尋,它在0.34秒內就找到1,260,000項查詢結果。這是在方法論都還沒有成熟之前,便已有大量商品充斥的情形。

 

不同的人有不同的看法,比較樂觀的是Berry and Linoff (1997) 的說法:分析報告給你後見之明 (hindsight);統計分析給你先機 (foresight);資料挖掘給你洞察力 (insight)。

較負面的理解來自Friedman (1997),他說:“Data mining is a commercial enterprise that seeks to mine the miners。(資料挖掘就是商業企業竭力去尋找挖掘者的過程。)”這句話有點酸味的成分。

 

多半的資料庫在建造時都另有目的,而不是設計來給大家挖掘的。上帝給我們大海,也許只是想給我們鹽。我認為,比較中肯的是 Hand et al. (2000) 的說法:“Data mining is the process of seeking interesting or valuable information in large data bases.(資料挖掘是一種在大型資料庫中尋找你感興趣或是有價值資訊的過程。)”

  

Demming (1943) 曾說過:“搜集資料的目的是為了行動。”這是在資料的搜集並不便宜的時候所說的話。現在要反過來看:已經有了一大堆資料,當初只是為了搜集而搜集──因為反正不貴,而且說不定某一天會有用─現在我們應該問,這些資料可以提供怎樣的資訊,能讓資料的所有者採取何種有效的行動?所以,現在我們需要用心地去看這些資料。

“用心看”有兩個角度:整體和局部。

1、從整體看: 模型

從整體的角度來看一個資料集,是靠統計學裡面的抽樣方法就可以發揮得不錯的。抽樣的要點是細化──用一組較小的、容易處理的精選的資料來反映整體。在這裡我們可以做一大堆傳統的建模工作,但這裡面最主要的觀念是抽樣。

例如 SAS 的Enterprise Miner軟體中所構建出來的“表格”,就是全部資料的抽樣所得。從抽樣的觀點來看,資料量再多也不是問題──它反而可使抽樣理論更加簡單。在資料庫上抽樣,成本低,且沒有我們最頭痛的non-response(無反應)問題。這一部分,可以說是所有我們想做的理論和方法都十分成熟,只要找一群還不錯的人,將這些已知的事物組合包裝就好。在表格上做傳統分析,最後的結果當然是一個可以用來描繪所有資料之間的關係的模型。

  

2、從局部看: 模式發現

從局部的角度來看資料挖掘,到目前為止,主要的目的是模式發現。這和我們常聽到的模式識別頗有不同。用雷達找飛機的工作,算是後者──我們知道飛機是我們要找的物件。

 

但是在資料挖掘中,我們在通常情況下並不知道我們要找的東西是什麼。在技術上,這也不能通過抽樣的方法來做。模式是資料的局部結構,在這一部分,資料挖掘強調的方法是演算法。資料一多,光憑人力是不能完全解決問題的,我們只有靠明確的指令讓電腦一個、一個幫我們找。那麼在這裡,我們就完全用不上統計方法嗎?也不儘然。在提取訓練樣本(training sample)的時候,我們是可以把實驗設計的想法放進去的。

 

二、醫療資料挖掘案例

 

資料挖掘就是從大量的、不完全的、有雜訊的、模糊的、隨機的原始資料中,提取隱含在其中的事先未知的、但又是潛在有用的資訊和知識的過程

資料挖掘也是一個利用各種分析工具,在海量資料中發現模型和資料間關係的過程,這些模型和關係,可以用來做出預測

資料挖掘技術已經在商業及工業生產中得到廣泛的應用,取得顯著的經濟及社會效益。然而資料挖掘技術在醫學領域的應用尚處於起步階段,目前只是將其作為一種輔助手段,如利用關聯規則找出頭部創傷患者作 CT檢查的適應證,或採用貝葉斯學習分類方法,對男女患者的 CT圖像進行自動診斷等方面。

 

隨著資訊技術的發展,各個醫院都已建立了完善的資訊管理系統,這些系統的後臺資料庫中,記錄著大量的關於醫生、病人和就診費用…等方面的原始資料。如果只把這些資料作為單獨的記錄來查詢和存貯無疑是對資源的一種浪費,現在可以使用資料挖掘方法來對這些資料進行有針對性的挖掘,抽取出潛在的有價值的資訊作為醫院調整自身服務、提高管理水準的依據。

 

(一)常用的資料挖掘的技術

常用的資料挖掘的技術,主要有關聯分析、分類分析、聚類分析、統計分析、序列模式分析、基於神經網路分析…等等。

由於醫院系統資料庫中的資料量比較大且類型複雜,大多屬於離散型的變數,所以應選用分類模式,並根據一定的原則對原始資料進行分類。

分類模式挖掘方法屬於直接資料挖掘,對於資料的順序不敏感易於離散變數的分類,而且能夠應付不同的類型海量資料,即可以預測一個預定義目標變數行為特徵的種類。

分類分析的概念是在已有資料的基礎上構造出一個分類函數或模型,該函數或模型能夠把資料庫中的資料紀錄映射到給定類別中的某一個,從而可以應用於資料預測。要構造分類器,需要有一個訓練樣本資料集作為輸入。訓練集是構造分類器的基礎,它由一組資料庫記錄或元組構成,每個記錄是一個由有關欄位值組成的特徵向量,這些欄位稱為屬性 ( attribute),把用於分類的屬性叫做標籤 (label) , 標籤屬性也就是訓練集的類別標記。標籤屬性的類型必須是離散的 , 標籤值屬性的數目越少,構造出來的分類器的錯誤率越低。

一個具體的樣本形式可以表示 (V1 , V2 , 111, Vn; c) ; 其中 Vi表示欄位值,c表示類別。從訓練集中自動地構造出分類器的演算法叫做生成器 ( inducer)。在生成分類器後,可以利用它來對資料集中不包含標籤屬性的記錄進行分類,標籤屬性的值也可以用分類器來預測,這裡選取決策樹作為分類器。

決策樹是一種樹狀結構,它從根節點開始對資料進行測,根據不同的結果將資料樣本劃分成不同的資料子集,每個資料子集構成一個子節點,生成的決策樹每個葉節點對應一個分類。資料挖掘的結果根據所採用的關聯規則、分類規則及判別式規則等方法,相應地表示成使用者容易理解的表達方式,如文字、圖形和表格等。這裡針對醫療資訊領域的特點,採用文字形式輔以圖形來直觀表達變化的趨勢以及與哪些因素有關。


(二)資料挖掘引擎

為了實現原始資料的挖掘,需要在原有的多個靜態資料庫基礎上構建一個後臺資料倉庫系統,才能對不同問題或不同查詢方案形成多個挖掘任務。系統具體結構設計如圖 1所示:

 

採用這種星型結構的資料庫系統設計保證放置在前臺的原始資料庫系統是公用的,可提供給多個用戶進行查詢,保證了原始資料庫的操作和挖掘工作相互獨立。

 

(三)醫院資訊系統的資料挖掘

1、資料整理分析

在進行資料挖掘工作之前,需要進行前期的資料整理工作構建訓練集,如根據直觀經驗去除數據中的冗餘資訊,經過資料整理工作,得到一張描述病人就診資訊的資料如表 1。

 

2、構造決策樹

用分類模式進行資料採擷時需要建立決策樹模型,決策樹的輸入是一組帶有類別標記的資料,構造的結果是一棵二叉或多叉樹。樹的根節點是整個資料的集合,二叉樹的內部節點 (非葉子節點 ) 一般表示為一個邏輯判斷,如形式為 (Ai =Vi) 的邏輯判斷,其中 Ai是屬性,Vi是該屬性的某個屬性值;樹的邊是邏輯判斷的分支結果。多叉樹的內部節點是屬性,邊是該屬性的所有取值,有幾個屬性值就有幾條邊,樹的葉子節點就是判斷的結論。

構造決策樹的方法是採用自上而下的遞迴構造,以多叉樹為例,如果訓練資料集合中的所有資料是同類的,則將之作為葉子節點,節點內容即是該類別標記。否則,根據某種策略選擇一個屬性,按照屬性的各個取值,把資料集合劃分為若干子集合,使得每個子集上的所有資料在該屬性上具有同樣的屬性值。然後再依次遞迴處理各個子集。
二叉樹同理,差別僅在於要選擇一個好的邏輯判斷。本文使用 S L I Q演算法來構造決策樹,建立模型時需要進行預排序、廣度優先、種類欄位快速分割、MDL修剪方法等步驟。

(1) 預排序: 從屬性清單根據屬性值和索引把資料訓練成以類標籤進行排序的類列表,每個類標籤指向樹中的一個節點。對節點分割使用廣度優先演算法,將當前樹中所有葉子節點的分割都一次性計算完成。這樣減少了對數值欄位進行排序消耗的時間。

 

(2) 引入類分佈表資料結構: (包含兩部分 ) 數值欄位:類標籤、頻率; 種類欄位: 屬性值、類標籤、頻率。

 

(3) 對數值欄位進行分割計算;

( 4) 對種類欄位進行分割;

(5) 通過對資料的掃描,生成類分佈表;

(6) 尋找分割集合: 如果不同欄位的值少於預定值,進行完全搜索; 如果不同欄位的值大於預定值,使用貪心演算法。

用測試集資料對創建的模型進行測試,採用 MDL剪枝Cost (M, D) =Cost (D | M) +Cost (M) 對決策樹進行修剪枝。使用編碼和不同子樹的比較方法,最後形成的決策樹模型如圖 4所示:

 

給出的是一棵在各節點分別根據描述性屬性作決策的二叉樹。將滑鼠移到節點上,在圖上部的文字方塊中將給出該節點的詳細資訊。連接各節點的連線上標明決策條件。

3、挖掘結果分析

對所採集和整理的資料進行挖掘時,對於不同的最小支持度和最小置信度所得到的規則集是不同,通過使用決策樹給出的選擇條件及其規則逐步進行資料分析最終聚焦到真正感性的結論:

(1) 隨著病療、社會保險體制改革的不斷完善,居住在大城市裡的患者主要根據醫生或醫院的名氣來選擇就醫,他們不計較收費標準且平均月收入達到 3000元以上,以中、老年病人為主。醫院應該通過提高醫生、護士個人服務素質來提高醫院整體的競爭實力。

(2) 而居住在中、小城市和大城市裡的病人,則根據收費情況選擇醫生,因為他們的月收入普遍較低於 1000元以下,且中年病人居多。醫院應加強醫療硬體設備,使病人就近診療,吸引更多的病人。

(3) 病人對於醫生的選擇,大體上比較看中工作經驗和職稱。病人較少選擇高學歷、工作年限少的醫生,因此,醫院應加強這部分醫生的培養。

4.總結

本例在介紹資料挖掘技術的基礎上 , 提出一種用決策樹分類器模型作為解決方案的醫療資訊系統的設計與實現。資料挖掘的結果可以作為醫院提高自身管理的依據 , 使其能及時調整自身的服務缺陷 , 減少病人對醫院就診費用和治療結果等方面的不滿。這種以資料挖掘技術為手段的研究方法,必將為醫療系統的管理決策帶來可觀的效益。

 

arrow
arrow
    全站熱搜

    大宅配 發表在 痞客邦 留言(0) 人氣()