• 沒有找到結果。

G[ h EQG ~ C M09002041 ciq t OGTu{thZ mWG An Incremental Data Mining Algorithm Based On Summary Top Down Technique DGiNbW-- HE h j

N/A
N/A
Protected

Academic year: 2022

Share "G[ h EQG ~ C M09002041 ciq t OGTu{thZ mWG An Incremental Data Mining Algorithm Based On Summary Top Down Technique DGiNbW-- HE h j"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

題目:漸進式資料探勘技術在醫療上的應用-- 以門診為例

An Incremental Data Mining Algorithm Based On Summary Top Down Technique

系 所 別:資訊工程學系碩士班 學號姓名:M09002041 盧展皓 指導教授:游坤明 博士

中華民國 九十二 年 七 月

(2)
(3)
(4)
(5)

致 謝

在此我將最大的謝意獻給我的指導老師 游坤明 老師,在這兩年的時間中 感謝老師對我的教導及包容,讓我改正了許多的缺點。不管是在學業或是人格上 的影響,對我而言都是彌足珍貴的,謝謝老師!老師辛苦您了!

而研究所的好友們,多虧了你們我這兩年的研究生活才能如此多采多姿,

不管是熬夜趕報告,或是通宵唱歌,這些對我而言都是難忘的回憶,希望在往後 的日子裡大家都能繼續互相扶持,柏龍、欣憲、天賞、廣銘、哲宏、百川、家民、

育生、一起加油囉~~~~

更要感謝我的母親,因為您的支持讓我可以全心全力的在課業上努力,而 不需擔心生活上的問題,感謝您讓我有一個良好的環境成長,茁壯。當然也要謝 謝我的老妹跟老弟,容忍我這些年來的任性與不成熟。

祝大家

幸福、快樂

展皓

(6)

中 文 摘 要

健保開辦以來,除了提供全民一個更為良好的就醫環境之外,最大的影響 便是加速了各醫療院所的電子化,使民眾的就醫紀錄能以電子化形式完整記錄保 存下來。配合資訊技術的使用,分析記錄所得之醫療相關資料,進而找出隱藏於 其中的資訊,便可應用在醫師進行醫療時的輔助,或是一般民眾進行醫療保健時 的參考。但隨著電子化的普及,醫療資料累積增加的速度不斷加快,要如何在持 續累積增加的資料中找出隱藏的資訊,並保持其有效性便成了一個重要的議題。

本研究提出一個漸進式的資料探勘架構 Incremental STD(I-STD),來解決醫療 資料快速增加的問題,當資料大量且快速增加時,I-STD 可以利用之前分析所得 的資料配合新增資料快速找出隱藏於其中的資訊。本研究針對 Apriori、STD、

FUP 及 I-STD 進行探勘所需的時間之比較,經過實驗後發現,當支持度為 0.1%

時,I-STD 的效率較 FUP 為佳。而在支持度修改作業方面當支持度由低至高時 兩者間的效率相差不大,但在支持度由高至低的情況下,I-STD 的效率較 FUP 為 高。進行有錯誤資料修正作業時 I-STD 表現亦較 FUP 為佳,隨著刪除的資料量 增加,FUP 分析所需時間與 I-STD 所需時間的差距也跟著增大。在探勘結果方 面,在支持度為 0.3%信賴度為 50%的設定下,共獲得了七筆關連式法則。

關鍵字:漸進式,資料探勘,支持度,信賴度

(7)

Abstract

The implementation of the National Health Insurance Program is the most remarkable social infrastructure in Taiwan. In the same time, hospitals digitalize their patient’s data as well as medical treatment information in order to support electronic claim. Currently, electronic claims have reached a rate of 99%. Therefore, there are numerous useful medical information and knowledge can be discovered in the hospitals’ database. In the thesis, we proposed an incremental data mining technique (I-STD) which can discover association rules for the incremental database efficiently.

We also examine the performance by comparing the execution time for apriori, STD, FUP and I-STD. The experimental results show that I-STD has smaller execution time when the support is set to 0.1%. For the support modification procedure, I-STD and FUP has similar performance when we increase the value of support, but I-STD has superior performance when we decrease the value of support. For the data maintenance procedure, I-STD spends less time comparing with FUP and the difference goes up when the number of modified data increase. In the experiment, we have found out seven association rules when support is 0.3% and confidence is 50 %.

Keyword : Incremental database, Data mining, Support, Confidence.

(8)

目錄

第一章 緒論………1

第一節 研究背景………1

第二節 研究動機………4

第三節 研究目的………5

第四節 研究範圍及限制………5

第五節 研究流程………5

第二章 文獻探討………7

第一節 KDD………8

第二節 資料探勘技術簡介………8

第三節 資料探勘應用………10

第四節 關聯式法則………11

第五節 Apriori………13

第六節 FUP………14

第七節 FUP2………15

第七節 STD………16

第三章 研究設計理念………23

第一節 漸進式資料探勘模組步驟說明………24

第二節 關聯式法則修改模組說明………26

第三節 關聯式法則應用模組說明………28

第四章 實驗設計………30

第一節 實驗架構………30

第二節 資料來源,資料內容………31

第三節 資料前置處理………32

第四節 I-STD 之探勘過程………34

(9)

第五節 I-STD 實例說明………40

第五章 實驗及結果………47

第一節 關聯式法則的驗證、解釋………47

第二節 效能評估及相關數據分析………48

第六章 結論及未來研究方向………54

參考文獻………56

(10)

圖 目 錄

圖 1 全民健保保險對象人人數………2

圖 2 KDD 流程圖………8

圖 3 時間序列分析………9

圖 4 Apriori 演算法程序圖………14

圖 5 FUP 說明………15

圖 6 產生高頻物件集合概念圖………18

圖 7 本研究之研究架構………24

圖 8 STD 概念流程圖………25

圖 9 關聯式法則修改模組流程(支持度由少至多修改流程)………26

圖 10 關聯式法則修改模組流程(支持度由多至少修改流程)………27

圖 11 修改交易紀錄資料………28

圖 12 I-STD 流程概念圖………35

圖 13 單筆記錄比對流程………36

圖 14 讀入資料庫的單筆資料………37

圖 15 資料比對程序流程圖………38

圖 16 非高頻換衝區的資料移至非高頻暫存區流程圖………39

圖 17 高頻換衝區的資料移至非高頻暫存區流程圖………40

圖 18 aprior、STD、FUP、I-STD 探勘資料筆數比較………49

圖 19 支持度為 0.5%及.1%中 FUP 及 I-STD 的比較………50

圖 20 刪除資料所需時間比較………52

圖 21 apriori、STD、FUP 及 I-STD 探勘資料筆數比較………53

(11)

表 目 錄

表 1 STD 範例(交易紀錄資料)………19

表 2 STD 範例(item_Set=4 的交易紀錄)………19

表 3 STD 範例(item_set=3 的交易紀錄)………20

表 4 STD 範例( item_set=2 的交易資料)………21

表 5 STD 範例(高頻物件集合)………22

表 6 門診診斷初始資料格式………31

表 7 轉換後之門診診斷資料格式………32

表 8 最終門診診斷資料格式………33

表 9 說明範例(整理後的診斷資料)………41

表 10 說明範例(拆解後 item_set 為 7 的診斷紀錄)………41

表 11 說明範例(拆解後 item_set 為 6 的診斷紀錄)………41

表 12 說明範例(拆解後 item_set 為 5 的診斷紀錄)………42

表 13 說明範例(拆解後 item_set 為 4 的診斷紀錄)………42

表 14 說明範例(拆解後 item_set 為 3 的診斷紀錄)………42

表 15 說明範例(拆解後 item_set 為 2 的診斷紀錄)………43

表 16 說明範例(拆解後 item_set 為 1 的診斷紀錄)………43

表 17 說明範例(符合支持度的診斷紀錄)………43

表 18 說明範例(符合支持度的子集合)………44

表 19 說明範例(第二個月的診斷紀錄)………44

表 20 說明範例(符合支持度之高頻紀錄)………45

表 21 說明範例(符合支持度的子集合)………45

表 22 信賴度分布表………47

表 23 apriori、STD、FUP 及 I-STD 執行時間的比………48

表 24 支持度為 0.1%下 FUP 及 I-STD 比較表………49

(12)

表 25 FUP 及 I-STD 刪除錯誤資料筆數時時間的比較………51 表 26 apriori、STD、FUP 及 I-STD 前置處理每月分析資料筆數………52

(13)

第一章 緒論

隨著 84 年健保的開辦,將全國民眾的醫療保險統一納入中央健保局中,各 級醫療院所由於需要利用電腦進行相關費用的申報,在無形中加速了醫療院所的 電腦化,而病患相關資料如診斷紀錄、就醫紀錄等等相關的醫療資訊都能透過醫 療資訊系統(HIS、Hospital Information System)進行更完善的收集。而這些資 料中隱含著許多可供醫院作為參考的資訊,因此經由資料探勘( Data mining)的 協助從資料中擷取出資訊後,便可利用這些資訊協助醫療院所提供更適合的醫療 服務,藉此提高病患的滿意度,以增加回診率更可以進一步增加醫院的競爭力。

以區域教學醫院為例平均每日門診量約為2500 人次,每月累積的門診數量高 達 75000 人次,在資料大量且快速增加的情況下,進行資料探勘所需的時間便需縮短,

方能及時反應目前病患的需求。但目前資料探勘所提供的方式大多針對靜態的資料進行 資料探勘,因此在變動性高且資料量大的處理上較為不足,針對此種情況便有研 究是以資料在不斷增加的前提下進行,此部份的研究目前主要是以改良 Apriori 的演算法如 FUP(Fast Update Algorithm),利用過去分析的歷史紀錄作為新進資 料分析時的基礎為主要研究的方向,而本研究針對 STD(Summary Top-Down)

演算法加以改進提出 Incremental STD(I-STD)的方式希望能透過 apriori 以外的 方式,在較少的執行時間需求下針對累積的資料進行探勘,從中獲得最新的資訊。

第一節 研究背景 一、全民健保概況

在民國八十四年全民健康保險實施之前,當時的社會保險制度共計有公 保、勞保、農保、軍人醫療照護制度等數種健康保險,而享有健康保險照顧的國 民僅佔全國人民的 59%,仍有 8 百多萬人口沒有健康保險的保障。健保的開辦,

讓全國絕大多數的人民納入了統一的保險,至九十年總納保人數已達 21,653,555 人[中央健保局資訊網],而參與的醫事服務機構共計有 16,588 家[中央健保局資

(14)

訊網]。隨著保險人數的增加,國人相關醫療資料的收集上更趨完備,而且健保 是由中央健保局統一受保,因此在資料的收集跟彙整上,也比從前更為完善[中 央健保局資訊網]。

圖 1: 全民健保保險對象人人數[中央健保局資訊網]

除了保險人數的增加導致了資料在量方面的大量增加之外,健保的開辦也 搭上了 E 化的風潮,各醫療院所在申請相關費用的作業流程上,為配合健保局 也需以電子化的方式來進行,無形中加快了醫療院所電子化的腳步。而首當其衝 的便是病歷的電子化了,當醫療院所以電子病歷來取代原本手寫式的病歷時,最 直接造成的影響便是資料內容的統一,在經過電子化之後病歷資料的輸入皆需透 過電腦來進行,因此便可以利用電腦給予醫師規範或是範例來協助醫師使用,藉 由這些方式便可以避免手寫產生的錯誤及建立一個統一的格式,以提昇日後資料 儲存及分析的效率。

醫療服務資訊化是中央健康保險局最重要的政策之一,預計從 92 年七月 起,健保 IC 卡將於區域級以上醫院啟用,於 10 月一日全面與健保紙卡雙軌起用,

健保 IC 卡整合了現行健保紙卡、兒童健康手冊、孕婦健康手冊為「一卡到底」

外,並在五至七年間不必換卡。另一方面,健保 IC 卡可以作為個人的健康管理

(15)

卡,透過與健保局連線,查閱自己繳費狀況和醫療費用紀錄,未來更希望能利用 IC 卡儲存資料的功能,登錄個人接受檢查及使用昂貴儀器之醫療利用狀況,提 供醫師診察之參考,以減少不必要的醫療資源浪費,且做好全民健康管理 [中央 健保局資訊網]。

二、醫病關係的改變

醫病關係指的是醫師與病患間的關係,在有『醫生』這門職業之前,醫療 的行為就已經存在了,最早是以巫術、巫醫等迷信的方式來進行醫療的行為,此 時期的病患完全聽命於醫師,醫師也被賦於了極為崇高的地位,醫病間的關係是 以完全不對等的方式存在,而隨著科學的進步,醫學也以科學為基礎發展出種種 的醫療方式,直到 1683 年荷蘭的 Anton Lecu Wenhock 發明了顯微鏡,才使得法 國的 Louis Pasteur 證實傳染病由細菌而來的秘密,藉由這個發現英國的 Joseph Lister 引用在外科領域的消毒觀念。而醫學也從此正式進入了科學的領域。而在 這個時期,雖然對於疾病發生的原因有一定程度的了解,但不論是在藥物的製造 上或是醫師所能使用的治療方式上卻仍有所不足[黃文雄]。

直到工業革命的到來,產生了人口密集的都市化現象,也導致了傳染病的 流行,醫師的工作量便跟著增加,而此時尚未有醫療保險的制度,病患對於醫師 有較高的選擇權,醫師對於病患的需求也因此較為重視,此時醫師與病患二者的 角色較為平等,加上有很多的醫師願意停留在同一個地區,照顧該地區的民眾,

長期下來藉由與該地區民眾頻繁的互動,醫師與病患彼此互相了解也互相尊重,

此時可以稱為醫病關係的黃金時期。

但隨著科學的進步,醫學逐漸的走入了分工的方式,依病患狀況將之分為 眾多的科別(如消化系統,呼吸系統,神經系統等),而本來是以病患個人為基 本醫療單位的方式,也轉變成以器官為基本醫療單位來進行醫療,而高度專業分 工之後,其產生的結果便是醫師與病患間的距離越來越大,病患每次生病所要面 對的醫師可能不盡相同,同樣的醫師也無法針對個別病患進行全面的治療,醫病 間的關係至此開始分裂。

(16)

在二次大戰後,隨著科技的發達,有更多的藥物及診斷的儀器設備提供醫 師在醫療時使用,雖然能提供給病患更好的醫療照顧,但也造成了醫療費用高漲 的副作用,一般民眾無法負擔過高的醫療負擔,雖然不是無法醫治的疾病,卻因 為費用過高而無法獲的完善的醫療照護,因此有了醫療保險制度產生,利用醫療 保險制度來分擔風險,使每個人能獲得較好的保障,但因為保險公司以第三者的 身分在醫師與病患中間擔任收保費及付醫療費的中介者角色,導致醫病間的關係 更趨複雜。醫師為了要賺取更多的醫療費用,縮短每次的看診時間,以增加看診 病患的人數,不易對病患有較深入的認識及了解,同樣的病患也因此無法從醫師 處獲得能夠令病患滿足的相關醫療資訊,因而對醫師產生不信任感,當醫師與病 患間資訊交換不完全,便容易有誤會產生,更造成了醫病關係的緊張。

第二節 研究動機

全民健保除了提供更多民眾健康保險之外,其影響所及也造成了關於全國 民眾之醫療相關資料的收集上量及質雙方面的變化。在每個月都有資料大量新增 的情況下,所探勘出的資訊也會不斷的進行修正,針對此特性在資料探勘技術的 運用上,分析所需的時間便成了重要的考量因素,必須能夠在短時間內找出目前 資料中隱含的資訊,以提供給使用者做參考。由於在醫療院所中,門診是屬於累 積速度較快的一種資料,其中包含了門診醫師對於病患目前所患有之疾病的診 斷,每位病患的診斷資料皆不盡相同,透過分析這些資料,找出診斷間的關聯以 作為醫師診斷時的參考,並可以此為依據配合病患的個人資料提供符合其個人需 求的醫療資訊。由於門診的時間有限,醫師無法與病患進行較為深入的互動,而 僅能由其病歷資料進行了解,因此透過資料探勘的技術協助醫師快速掌握病患的 需求,提供更適切的醫療服務,以降低病患的不信任感,進而減少醫病關係間的 緊張。

(17)

第三節 研究目的

本研究的主要目的在於設計一個漸進式的資料探勘方式,當資料有新增時 可以不必針對全部的資料進行探勘,而只需針對新進資料進行資料探勘,藉此減 少探勘所需的時間,進而提供更即時的資料給使用者,而在實驗部分本研究與某 北部教學醫院合作,以醫院門診資料進行資料探勘,尋找隱藏在其中的關聯式法 則,利用漸進式的方式,每個月進行一次資料探勘,以提供醫師最符合目前病患 需求的關聯式法則作為其診斷時的參考。

第四節 研究範圍與限制

在本研究中的實驗資料為該醫院之門診資料,其中醫師針對該病患所下之 診斷個數最多為七個,因此本研究中提出的方式是以每位病患在一次看診過程中 醫師所下的診斷,診斷個數最多為 7 個的資料前提下進行資料探勘。而該醫院為 地區性的醫院,在資料的蒐集上也是以北部地區為主要範圍,因此所探勘出的關 聯式法則會因為該地區民眾生活習慣,衛生環境而與其他地區不同。

第五節 研究流程

本研究的研究流程大概可以分為下列六個階段

一、尋找收集資料探勘相關應用的文獻,並研究分析目前在醫療領域中資料探勘 的應用情形,尋找適合應用在醫療領域的資料探勘方式,並依門診資料的 特性從中找尋改進的方向。

二、改進現有的演算法,使其能應用至漸進式的資料探勘,減少當有新進資料時 探勘所需時間。

三、收集實驗所需的資料,並利用 KDD(Knowledge Database Discovery)的流程進 行資料探勘的實驗,在本研究中分別利用 Apriori、STD 及 FUP,本研究所 提出之方法 I-STD(Incremental STD)等四種方式進行資料探勘。

四、分析實驗結果,比較在階段三中所進行的實驗結果,並將所探勘出的

(18)

關聯式法則交由醫院的醫師進行判斷,在臨床上是否具有可信度。

五、整理實驗數據,及實驗結果,並探討後續的研究方向。

(19)

第二章 文獻探討

隨著資料探勘技術的發展,許多學者也分別提出了許多不同的技術,其中 主要可以分為 : 分類(Classification)、分群( Clustering)、決策樹(decision tree)、 關聯式法則(association rule)[R. Agrawal, T. Imielinski and A. Swami, 1993]、時 間序列(Time sequence)[R. Agrawal and R. Srikant,1995]等等,其中關聯式法則 是最為常見的研究,有許多的研究都是針對關聯式法則來進行[R. Agrawal, R.

Srikant and Q. Vu 1997][T. Fukuda, Y. Morimoto, S. Morishita and T. Tokuyama 1996][H. Mannila, H. Toivonen, and A.I. Verkamo 1994]。在資料探勘的研究領域中 大部分都是針對靜態資料庫進行研究,但在實際的應用上卻面臨一個重大的問 題,那就是系統在經過一段時間的使用後,資料便會有所變動,而資料探勘的結 果便有可能改變,而造成原有的法則無效或是出現新的關聯式法則等情況[D. W.

Cheung, J. Han, V. T. Ng, and C. Y. Wong ,1996][D.W. Cheung, S.D. Lee, and B.

Kao, 1997][M.Y. Lin and S.Y. Lee, 1998][N.L. Sarda and N.V. Srinivas,1998][J. Han and Y. Fu, 1995],因此便需要再度進行資料的分析及處理,但隨著資料的增加,

每次進行資料探勘時的成本便也跟著增加,一方面增加執行時所耗費的成本,另 一方面雖然資料增加表示分析結果的正確率也會跟著提昇,但對於即時性上的需 求便無法充分獲得滿足,因此,近年來便有部分的研究針對漸進式(incremental) 資料上的分析進行研究,希望能在資料不斷增加的同時滿足即時性及正確性兩個 需求。

而本研究除了針對既有的資料探勘方式進行改進使其能以漸進式的方式進 行資料探勘,另一方面利用 I-STD,針對醫師在門診中對於病患的診斷結果進行 資料探勘,找出醫師診斷間的關聯式法則,以提供作為醫師在進行診斷時的參考。

(20)

第一節 KDD簡介

KDD(Knowledge Database Discovery) 是 由 Fayyad, U.,Gregory, P.S., and Padhraic, S. 在1996年所提出[Fayyad, U.,Gregory, P.S., and Padhraic, S 1996],其目 的是希望能由資料中發現有用的資訊,在KDD中包含了多個步驟,每個步驟都 是不斷的重複且互相影響的,其中的步驟及其間的關係如圖2所表示。由下圖可 知,Data mining是從眾多資料中找出我們所需知識的流程中,重要的一環,隨著 不同目的,便可以選擇不同的方式來進行。

目標資料 資料前置處理 資料轉換處理

資料 模組 知識

選擇資料 處理 轉換 Datamining 解釋

圖 2: KDD 流程圖 [Fayyad, U.,Gregory, P.S., and Padhraic, S 1996]

第二節 資料探勘(Data mining)技術簡介

資料探勘是經由自動或是半自動的方式探勘及分析大量的資料,以建立有 效的模型及規則。目前在實際運用上所面臨的主要問題,主要可以分為以下六類 [Michael J. A. Berry, Gorden S.Linoff,2001]:

一、分類(Classification)

分類是屬於監督式學習(supervised learning)的一種方式, 透過訓練資料 中的各種屬性與特徵值,尋找及建立分類的法則,透過這些法則我們便可以建立 一套有系統的方式來進行分類。分類法則確立後再利用與訓練資料屬性相同但內 容不同的測試資料對所建立的分類方式進行測試,依分類結果決定是否需要進行 修改,若其正確率符合使用者的需求,便可以依此系統進行分類。而目前常用的 分類方式為決策樹,是先將資料分為訓練資料及測試資料兩大部分,其中訓練資 料是用來建立決策樹,利用訓練資料中的欄位或是屬性來建立決策樹,再透過測 試資料來驗證其正確性。而再建立決策樹時所會遇到的問題通常是所建立的決策 樹過於龐大,一方面無法完全儲存於記憶體中,也可能因此而導致分類的效率不

(21)

佳,因此需要對決策樹進行修剪,使其能在正確率與效率中取得平衡點。

二、推估(Estimation)

推估是根據既有連續性數值之相關屬性資料,以獲得另一屬性中未知之 值。如由信用申請者之教育程度、貸款行為別來推估其信用卡使用情形。常用的 方式包括統計方法上之相關分析、迴歸分析及類神經網路方法。

三、預測(Prediction)

預測與分類和推估相當接近,但預測是去推估未來的數值以及趨勢。常見 的處理方式為時間序列分析(Time Sequence Analysis)[Heikki Mannila and Pirio Ronkainen,1997],透過找出一段連續時間內,類似的事件發生的情況,因此以 時間為緯度對其他屬性進行分析,找出隨著時間改變其屬性變化的趨勢以達到預 測的目的,圖 3 以時間為 Y 座標,數量的變化為 X 座標,我們便可從中發現兩 個區段其數量變化有類似的地方。

圖 3: 時間序列分析[Heikki Mannila and Pirio Ronkainen,1997]

(22)

四、關聯分組(Affinity Grouping)

關聯分組是去找出有哪些事物總是同時發生,最典型的就是去分析在超級 市場購物的購物籃,因此有時也稱為購物籃分析,其著眼點為找出可以一起販售 的商品組合,他能顯示商品組合的售出率有多高並且形成規則[R. Elmasri, and S. B.

Navathe,2000]。在[蔡鴻旭、李姿儀、鍾志明,2001]的研究中便是利用Apriori的方式進 行關聯法則(Association rule)的尋找,但其缺點便是可能需要較多的時間來進行 分析。

五、群集化(Clustering)

群集化與分類相當的類似,都是將未知事物加以分類的方式,其最大的不 同點在於群集化是屬於非監督式學習( Unsupervised Learning)的資料探勘方式,

在進行群集化時使用者不需事先決定分類的法則及分類的種類多寡的資料,而是 依照資料的屬性間的關聯來決定群集化的結果。

第三節 資料探勘的運用 一、商業上的運用:

l 顧客關係管理的應用,利用過去顧客相關的紀錄進行分析,找出保留 顧客及創造顧客利潤的方法[苑守慈、張瑋倫、民國 89 年]。

l 零售業應用方面,累積顧客的購買紀錄,預測顧客的需求及了解顧客 的喜好作為行銷決策及庫存管理的參考,如分析顧客購買產品的行 為,找出其所購買產品間的關聯,作為促銷時產品組合的參考。

l 股票、債券,等投資方面的運用,可藉由過去的資料來做預測,以判 斷市場的走向,作為公司投資的參考,如以類神經的方式進行股市漲 跌的預測[林維垣、李建輝、民國 91 年]。

l 銀行方面信用卡發放及借貸的應用,可由顧客過去的信用紀錄、信用 卡使用的情形來決定是否要提高其額度或是給予更好的優惠服務來維 持其顧客忠誠度[黃焜煌、張勝春、民國 91 年]。

(23)

二、醫療方面的運用

l 健保審查費用審查方面的協助,由正常申報的資料中利用資料探勘的 方式找出其規則,在利用這些規則將有問題的申報資料篩選出來,以 達到節省審查所需人力節省成本的目的[周宣光、朱惠中、王復中 民國 89 年]。

l 診斷方面的協助,分析門診醫師對就診病患的診斷及醫令紀錄,進行 資料探勘,找出疾病與藥物間的關聯,作為醫師診斷及開藥方時的參 考,亦可藉由追蹤病人的病史,挖掘其中的關聯性法則,作為民眾預 防保健時的參考。

l 臨床路徑的探勘,所謂的臨床路徑是醫療院所根據某種疾病或某種手 術方法製定了一種治療上的順序,讓病人由住院到出院都依此順序來 接受治療。路徑完成後,再根據臨床路徑的結果來分析、評估及檢討 每一個病人的差異,以避免下一個病人住院時發生同樣的差異或錯 誤,依此方式來控制整個醫療成本並維持或改進醫療的品質,利用資 料探勘的技術協助進行臨床路徑的制定工作以減少所耗費的人力與及 物力,一方面可以降低成本,另一方面可以縮短制定臨床路徑所需的 時間[王偉華、陳潭、莊莉瑩 民國 90 年]。

第四節 關聯式法則

在資料探勘中所使用的探勘技術,包含了諸如決策樹、時間序列分析,群 集化分析,關聯式法則等等技術,其中關聯式法則是應用的最為普遍的資料探勘 方式,利用關聯式法則的分析方式,我們可以找到在資料庫中欄位與欄位彼此間 隱含的關聯性,而這些隱含的關聯式法則可以提醒使用者其所忽略掉或是不知道 的訊息。

一、關聯式法則的定義及名詞解釋

關聯式法則是指在一個交易資料庫DB中,由多筆的交易紀錄T所組成,而

(24)

交易紀錄T是由一個以上個項目I(item)所構成,因此如果X⊆Τ即表示,有某筆交 易紀錄中包含了X這個項目集,而T⊆DB則表示T為DB中的一筆交易紀錄。

關聯法則之表示法如下:X → Y,此時X, Y ⊆ I 且X ∩ Y = ∅。藉由兩個門檻值:支 持度(support)及信賴度(confidence)來推導此關聯法則。

X → Y 支持度定義:support(X ∪ Y) = #( X ∪ Y) / n,#( X ∪ Y)表示DB中所有 包含X∪Y 項目組之交易記錄個數,0 ≤ support(X ∪ Y) ≤ 1,DB為所有資料的集合。

X → Y 信賴度定義:support(X ∪ Y) / support(X),即為X → Y 可信的程度,

因此在出現X 情況下的交易記錄個數,和X 與Y 同時出現情況下(即X Y ) 的 交易記錄個數的比率即為此關聯法則的信賴度。

而當支持度與信賴度大於或等於使用者所設定之最小限制之時,此關聯法 則才是被認定為有意義的[R. Agrawal, T. Imielinski and A. Swami,1993,R. Agrawal and R. Srikant,1994]。

二、關聯式法則的相關應用

由於關聯式法則不管是原理或是其探勘結果都較其他種類的資料探勘方式 易於了解,因此也成為了應用範圍最為廣泛的資料探勘方式,以下分別介紹關聯 式法則在相關領域的應用方式:

2.1醫療領域的應用

在門診方面:利用關聯式法則,可以找出診斷之間的關聯,作為醫師診斷的參考,

令一方面也可針對醫師所下之診斷與其所開之醫令間的關聯進行 資料探勘,找出的關聯式法則除了可以作為醫師治療時的參考外,

亦可用於建立該診斷的基本醫令組。

在醫院管理方面:可以分析病患在科別與科別間就診的關係,以提供病患更為完 善的醫療服務。

在疾病的預防方面:以人為單位進行疾病間關係的探勘,找出罹患疾病間彼此的 關聯,以作為一般民眾預防保健支用。

2.2商業領域應用

(25)

商品擺設方面:建立商品在販賣時的關聯,將有關聯之商品統一擺設,以提供顧 客較為方便的購物環境。

促銷折扣上的應用:找出有關聯之商品,在促銷時可以一併促銷,以提高顧客購 買的意願。

電子商務方面:分析顧客在網站瀏覽的過程利用關聯式法則來推薦產品給顧客,

或是引導顧客至其可能有興趣的網頁。

第五節 Apriori

Apriori 是[R. Agrawal and R. Srikant,1994]所提出用來尋找關聯式法則的一 種方法,主要是利用對於資料庫進行重複搜尋的方式來找出符合支持度的交易項 目集合,由 Item 數為 1 的組合開始進行次數上的判斷,若符合支持度,則歸類 為高頻項目集中,再從高頻項目集中利用排列組合的方式找出 Item 數為 2 的項 目集合,進行資料庫的搜尋,以此類推,便可以找出所有符合支持度的項目集合。

在探勘過程中 Apriori 可以分為兩大部分,第一部份為高頻項目集的尋找,第二 部分則為產生候選項目集。

一、名詞定義:

高頻項目集:符合支持度的項目集合。

候選項目集:可能符合支持度的項目集合,但需要透過搜尋資料庫作驗證。

DB:交易資料庫。

T:交易紀錄。

Item_set:由一個以上的 Item 集合而成。

C:候選項目集,C1表示 item_set 為 1 的候選項目集,Ck 表示候選項目集的長 度為 k。

Lk:符合支持度的項目集,L1表示 item_set 為 1 的項目集,Lk表示長度為 k。

Ck:高頻項目集的長度,C1 表示 item_set 為 1 的高頻項目集。

(26)

二、高頻項目集的尋找

在 item_set 為 1 的情況下,在資料庫中進行搜尋比對,將次數符合支持度 的 item_set 挑選出來,作為 L1之後進行步驟三。

三、產生候選項目集

利用所搜尋到的 L1進行排列組合(join),將產生的候選項目歸類為 C2,利 用 C2進行對資料庫的搜尋進行高頻項目的尋找,便可以獲得 L2,以此類推,我 們便可以利用 Lk-1來產生 Ck的項目集,接著透過與資料庫的比對找出符合支持 度的 Ck,進而產生 Lk

重複以上的步驟直到無法產生候選項目集為止。

第六節 FUP(Fast Update Algorithm)

FUP 是由[D. W. Cheung, J. Han, V. T. Ng, and C. Y. Wong.,1996]所提出,以 apriori 為基礎加以改良而成的,希望當資料有增加時能夠利用之前分析所得之關 聯式法則的相關資料,來減少在下次分析所需的時間。其將資料庫分為兩大部 分,一部份為經過分析的資料庫(Original database),另外一部份則是新增加的 尚未經過分析的資料庫( New database),而其中交易資料可以依其在新舊資料庫 中是否為高頻項目而分為四種情況:

圖 4:Apriori 演算法程序圖【楊東麟、楊文昇,2001】

(27)

高頻 非高頻

高頻 狀態一 狀態二

非高頻 狀態三 狀態四 圖 5: FUP 說明

狀態一:不論是在原始資料庫中及新進資料庫中,皆為符合支持度的高頻項目 集,因此其結果必為高頻項目集。

狀態二:將原始資料庫中的次數與新進資料庫中交易紀錄的次數相加,以其來判 斷是否符合支持度,若符合支持度則仍為高頻項目集合,反之則為非 高頻項目集合。

狀態三:由於在 FUP 中記錄了高頻項目集合的相關資訊,因此在狀態三中,由 於無法得知原始資料庫中非高頻項目交易紀錄的次數,便要針對原始 資料庫重新進行分析。

狀態四: 在原始資料庫及新進資料庫中皆為低頻項目集,因此其結果為低頻項 目集。

FUP 的主要是透過紀錄分析後之高頻項目的次數,將資料作有效的分類,

以減少進行重新分析的機會,進而達到減少時間的需求。

第七節 FUP2

FUP2 由[D.W. Cheung, S.D. Lee, and B. Kao, 1997]所提出,主要是針對 FUP 進行改良,在 FUP 中只能處理資料新增的情況,而無法處理當資料需要進行刪 除及修改的情況,因此 FUP2便是以 Apriori 及 FUP 為基礎針對資料進行刪除及

原始 資料庫

新進 資料庫

(28)

修改時的演算法。FUP2 是針對要刪除的資料進行分析,並依其是否屬於高頻項 目集合中來決定其處理方式,藉此以降低處理所需的時間。將 FUP 及 FUP2配合 使用,便可利用刪除之後新增的方式,達到不需重新進行資料探勘而能修改其中 資料的目的。

第八節 STD(Summary Top-Down)

此演算法主要是針對在進行關聯式法則中的高頻項目尋找時,其資料處理 的步驟中,對資料進行排序及統計的前處理,以減少在資料探勘時的所需計算,

藉此減少在進行分析時的時間,以提高效率。

多數關聯式法則的演算法都以 Apriori 為基礎延伸產生,而 Apriori 執行過 程中會產生大量的候選項目集合,造成主記憶體空間不足並需多次掃描資料庫,

I/O 次數頻繁,浪費挖掘時間,STD 演算法為了避免在執行中佔據太多的主記 憶體及挖掘時間上的浪費,並考慮如何減少產生大量的候選項目集合及資料庫掃 描次數,能有效的提昇執行的速度,因而設計另一種演算法改善 Apriori 演算法 的缺失,STD 演算法的概念是依據交易項目集合發生的次數判斷是否為高頻項 目集合或非高頻項目集合,並使用 Top-Down 資料處理的架構,與最大高頻項目 集合其所有的子集合也必為高頻項目集合等概念,研究產生的演算法[楊東麟、

楊文昇,2001]。在[游坤明、盧展皓]中便是以 STD 進行門診資料的探勘,尋找出 醫師對於疾病的診斷之間是否有關聯性的存在。在說明 STD 演算法之前,先將 名詞做一簡單的定義:

DB:交易紀錄資料庫,紀錄每位顧客的交易紀錄。

D:經過第一階段處理後的資料其中每一筆為資料庫中相同項目集合的合併資 料,以 TID 來識別合併後交易紀錄。

T:交易紀錄,由多個 item 集合而成,T1表示其 item_set 為 1,Tk表示其 item_set 為 k。

Item_set:由一個以上的 Item 集合而成。

(29)

TID:交易紀錄的 ID,當拆解後用來判斷是否為同一筆記錄之用。

高頻項目集合:符合支持度的項目集合。

非高頻項目集合: 不符合支持度的項目集合。

高頻緩衝區:存放高頻項目集合。

非高頻緩衝區:此區存放非高頻項目集合。

暫存緩衝區:此區存放非高頻項目集合。

STD 分為兩大步驟,第一步驟為資料的整理,透過對資料前置處理,一 方面可以刪除錯誤的資料,另外可以將資料格式轉為 STD 所需的格式。第二部 分則是資料探勘的部分,步驟如下:

1、讀入第一筆資料,若其次數超過支持度則將此筆交易紀錄放入高頻緩衝區,

若低於支持度則放入非高頻緩衝區。

2、讀入第一筆以後之資料,先判斷次數是否大於支持度,若大於支持度,則檢 查是否已存在於高頻緩衝區,若不存在,則將此筆記錄存入高頻緩衝區,若 已存在便刪除此筆記錄,讀入下筆紀錄。若小於支持度則進入步驟 3。

3、檢查此筆記錄的項目(Item)個數是否小於非高頻緩衝區內紀錄之項目數,若相 等,則比較非高頻緩衝區內之紀錄:

相同:便將此筆記錄的次數做累計,若累計後的次數大於支持度,則將紀錄 放入高頻緩衝區,刪除非高頻緩衝區的資料,讀入下一筆記錄。

不相同:將此筆記錄存入非高頻緩衝區,讀入下一筆記錄。

若與非高頻緩衝區的紀錄之項目數不同,則進入步驟 4。

4、將非高頻緩衝區中的紀錄中的項目集(Itemset)依序做拆解,如 [A、B、C]拆解 為[A、B][A、C][B、C]等三項,此三項之 TlId,次數皆與[A、B、C]相同,

將拆解後的項目與暫存緩衝區中的資料作比對,看是否有相同的資料筆數存 在:

不存在:便將之存入暫存緩衝區。

存在:比對此 2 筆資料的 Tlid 是否相同,不同的 Tlid 則將次數做累加,相同

(30)

的 Tlid 則保留原資料不做任何更改。

將所有非高頻緩衝區中的項目集合拆解完畢後,進入步驟 5。

5、將暫存緩衝區中的項目集合,與高頻緩衝區中的項目集合做比對,看是否為 高頻緩衝區中的集合:

存在:則將暫存區中的項目集合刪除。

不存在:判斷暫存緩衝區的項目集合的次數是否超過支持度,若超過支持度,

則將此項目集合放入高頻緩衝區,若小於支持度,則放入非高頻緩 衝區,則將暫存區中的項目集合刪除。

圖 6 為 STD 產生高頻項目的流程示意圖。

圖 6:產生高頻項目集合概念圖【楊東麟、楊文昇,2001】

(31)

二、以實例說明 STD 進行資料探勘的過程 交易紀錄筆數:總計有 26 筆交易紀錄。

支持度:30%。

表 1:STD 範例(交易紀錄資料) 交易紀錄(D)

TID 次數 產品 1 產品 2 產品 3 產品 4 產品 5 1 2 A B C D E 2 3 B C D E F 3 2 C D E G H 4 4 A C D F

5 6 A B D 6 9 B D

第一階段:將所有 Item_set 為 5 的資料依序存入非高頻緩衝區。

第二階段:將 item_set=5 的交易紀錄拆解為 item_set=4 的資料集合存入暫存緩衝 區,可得到如表 2 的資料:

表 2:STD 範例(item_Set=4 的交易紀錄) 非高頻緩衝區(item_set=4)

TID 次數 產品 1 產品 2 產品 3 產品 4

1,2 5 B C D E

1 2 A C D E

1 2 A B D E

1 2 A B C E

1 2 A B C D

2 3 C D E F

2 3 B D E F

(32)

2 3 B C E F

2 3 B C D F

3 2 D E G H

3 2 C E G H

3 2 C D G H

3 2 C D E H

3 2 C D E G

第三階段:依序讀出暫存緩衝區的資料,判斷其次數是否符合支持度,若符合便 將該筆資料加入高頻緩衝區,不符合便加入非高頻緩衝區。在此範 例中,皆不符合支持度 8 次,因此將暫存緩衝區的資料全數轉至非 高頻緩衝區。

第四階段: 將 D 中 item_set=4 的診斷紀錄與非高頻緩衝區中的診斷紀錄進行比 對及計數,此例中在非高頻緩衝區中沒有相同的診斷紀錄,因此將 其加入非高頻緩衝區。

第五階段:將非高頻緩衝區中的資料進行拆解,由 item_set=4 拆解為 item_set=3,

並存入暫存緩衝區中,拆解後資料如表 3:

表 3:STD 範例(item_set=3 的交易紀錄)

TID 次數 產品 1 產品 2 產品 3 TID 次數 產品 1 產品 2 產品 3 1,2,3 2,3,2 C D E 2 3 B D F

1,2 2,3 B D E 2 3 B C F 1,2 2,3 B C E 3 2 E G H 1,2 2,3 B C D 3 2 D G H 1 2 A D E 3 2 D E H 1 2 A C E 3 2 D E G 1,4 2,4 A C D 3 2 C G H

(33)

1 2 A B E 3 2 C E H 1 2 A B D 3 2 C E G 1 2 A B C 3 2 C D H 2 3 D E F 3 2 C D G 2 3 C E F 4 4 A C F 2,4 3,4 C D F 4 4 A D F

2 3 B E F

第六階段;依序讀出暫存緩衝區的資料,判斷其次數是否符合支持度,若符合便 將該筆資料加入高頻緩衝區,不符合便加入非高頻緩衝區。在此範 例中,皆不符合支持度 8 次,因此將暫存緩衝區的資料全數轉至非 高頻緩衝區,並清除暫存緩衝區中的資料。

第七階段:將 D 中 item_set=3 的交易紀錄與非高頻緩衝區中的交易紀錄進行比 對及計數,TID=5 的交易紀錄為 ABD,非高頻緩衝區中已有相同的 資料,便將兩者的次數合併,因此 ABD 的次數由 2 變為 8 次,符合 支持度因此將 ABD 的交易紀錄移至高頻暫存區。

第八階段:將非高頻緩衝區中的資料進行拆解,由 item_set=3 拆解為 item_set=2,

並存入暫存緩衝區中,拆解後資料如表 4:

表 4:STD 範例( item_set=2 的交易資料)

TID 次數 產品 1 產品 2 TID 次數 產品 1 產品 2 1,2,3 2,3,2 D E 2,4 3,4 D F 1,2,3 2,3,2 C E 2,4 3,4 C F 1,2,3,4 2,3,2,4 C D 2 3 B F 1,2 2,3 B E 3 2 G H 2 3 B D 3 2 E H 1,2 2,3 B C 3 2 E G

(34)

1 2 A E 3 2 D H 4 4 A D 3 2 D G 1,4 2,4 A C 3 2 C H 4 4 A F 3 2 C G 2 3 E F

第九階段:依序讀出暫存緩衝區的資料,判斷其次數是否符合支持度,表 5 為次 數符合支持度的交易紀錄,將這些交易紀錄移至高頻緩衝區中。其 中 BD、AD、AB 為 ABD 子集合,因此不需加入高頻中。

表 5:STD 範例(高頻物件集合) TID 次數 產品 1 產品 2 1,2,3,4 2,3,2,4 C D

第十階段: 讀入 D 中 item_set=2 的交易紀錄,因為 BD 是高頻區中 ABD 的集合,

因此不需加入非高頻緩衝區中進行比對及計數。

第十一階段:因此我們可獲得符合支持度的高頻項目集合有 ABD 及 CD 兩個交 易紀錄。

透過這些階段的處理,STD 便可以從 D 中找出所有符合支持度的交易紀錄。

(35)

第三章 研究設計理念

本研究以 STD 為基礎,配合漸進式的資料探勘原理,建構一個運用在門診 資料上的漸進式資料探勘之系統架構。以減少當有資料新增時,因為重新進行探 勘所花費之時間。而另一方面在本研究所提出的架構中,當支持度不符合目前使 用者的需求,而重新進行設定時,不須將資料重新進行分析,只需針對部分的資 料進行分析便可以獲得符合新支持度的關聯式法則。

由於 STD 是依據 item_set 的大小,將資料庫中所紀錄的資料依序進行拆解,

而在拆解過程中分別以 item_set 為單位進行次數的加總,當次數符合或是超過使 用者所設定的支持度時,便將之儲存紀錄於高頻區,不符合的資料則繼續進行拆 解比對分析,當每次進行完 STD 的分析時,其所儲存紀錄的資料只有符合支持 度的 item_set 集合,而拆解過程中所產生不同 item_set 的相關資料則隨著資料探 勘動作的結束而清除,當有新資料加入分析時,便需要將新資料與舊資料再度進 行次數上的加總,之後重新進行 STD 的資料探勘,在這個過程中可以發現到舊 資料在前一次的資料探勘中已經過分析,在第二次的分析中卻仍須進行重複的動 作,無形中便產生了時間上的浪費,隨著資料量的增加,其分析所需的時間將越 來越多,提供給使用者的關聯式法則便無法反映目前資料庫中最真實的情況。有 鑑於此,本研究針對當資料大量且快速累積時,提出一個能夠減少重複分析所需 時間的方法。

而當探勘所得之關聯式法則不盡理想而需重新設定支持度時,STD 便需要 針對所有的資料重新進行資料探勘,當資料量累積的越多,所需的時間便也跟著 增加,而在 I-STD 中,當使用者需要重新設定支持度的時候,只須針對部分的資 料重新進行資料探勘,如此一來可以減少重新探勘所需的時間,使用者在設定支 持度時也能擁有較大的彈性,所探勘出來的關聯式法則也能隨著使用者的調整而 更具可用性。

另一方面隨著資料的累積,產生資料錯誤的可能性也就隨之增加,影響所

(36)

及便是所探勘出的關聯式法則其可信度下降,若是要更正資料錯誤所產生的影 響,便可能需要重新進行資料探勘,因此在 I-STD 中希望能夠避免在上述發生的 情況中重新進行資料探勘而造成時間上的浪費,本研究的架構可以分為三大模 組:

圖 7:本研究之研究架構

l 漸進式資料探勘模組:以 STD 演算法為基礎進行改善,使其能夠符合漸進 式的需求,減少當資料新增時進行探勘所需的時間。

l 關聯式法則修改模組:當使用者需要針對支持度進行修改時,透過關聯式法 則修改模組便可以在不需要重新進行資料探勘的情況下,針對部分資料庫中 的資料進行拆解、比對與計數的步驟,而獲得符合使用者所設定之支持度的 關聯式法則,以減少時間上的浪費。

l 關聯式法則應用模組:此模組主要是負責進行處理由漸進式資料探勘模組、

關聯式法則修改模組兩大模組中所產生的關聯式法則其相關的應用。除此之 外,使用者透過此模組了解目前所產生的關聯式法則是否符合其需求,並將 修改所需的相關資料傳入關聯式法則修改模組以進行修改。

第一節 漸進式資料探勘模組說明

此模組中利用將 STD 分析過程中經過拆解計數的資料依其交易紀錄中項目 多寡的不同分別儲存於不同的表格之中,當有新資料加入需要進行分析時便不用 對舊有資料進行分析,而可以直接與資料庫中所儲存的資料進行比對及次數上的 加總。由文獻探討中可以知道,STD 進行資料探勘的方式是以:

讀入資料à拆解、合併計數à讀入資料à拆解、合併計數…

漸進式資料探勘模組

關聯式法則修改模組 關聯式法則應用模組

(37)

由 item_set=k 開始依次遞減直到 item_set=1 為止的方式進行,因此當 item_set=k 的資料拆解成 item_set=k-1 並與資料庫中 item_set=k-1 的紀錄完成合 併計數後,便可以得到資料庫中所有 item_set=k-1 的交易紀錄,將這些拆解過後 的資料分別儲存至資料庫中,當有新資料加入資料探勘的分析時便不須再重新經 過拆解及計數的過程,而能減少執行這部分所需的時間,而針對新進資料進行分 析即可。流程概念表示如圖 8:

圖 8:STD 概念流程圖

經由上述的流程便可以獲得在原始資料庫中 item_set=k 至 item_set=1 之資料的次 數,當有新進資料加入而需要進行分析時便可以利用這些經過拆解的資料進行資 料探勘,而不須再重新進行拆解比對及計數的分析工作。

研究 STD 演算法可以發現,其執行所需時間主要是花費在比對及計數的部 分,因此參考 FUP 中的概念,在 I-STD 中,利用資料次數的大小,在比對的過 程中將其分為不同的處理方式,藉以降低比對及計數所需的時間。透過這兩個的 概念,一方面可以避免重複拆解歷史資料的問題,另一方面也可以減少比對的次 數,如此一來便可以降低當有新進資料時進行資料探勘所需的時間。

讀入資料並比對及加總

拆解後比對及加總 儲存至資料庫

讀入資料並比對及加總

儲存至資料庫

(38)

第二節 關聯式法則修改模組說明

由 I-STD 方法的步驟說明中,可以發現所有拆解的資料都儲存紀錄在資料 庫中,利用這些經過整理計數的資料當使用者有需要針對原先的設定加以修改 時,不須重新進行資料探勘便能找到符合使用者所設定支持度的關聯式法則,本 模組可供使用者進行下列功能:

(1) 重新設定支持度

當使用者不滿意原先設定之支持度時,可以利用目前已有的資料進行分析 探勘找出符合新支持度的資料集合,其中 S 表示其支持度而 Si為原始的的支持 度,Sj為重新設定的支持度,支持度的修改可以分為以下二種情況:

1、Si>Sj:當使用者降低支持度時,原符合支持度的紀錄其次數仍會大於使用者 所設定的支持度,而在拆解區中的資料可能會因為支持度降低而由非高頻轉為高 頻,因此需要將拆解區中的資料進行比對,將符合支持度的資料記錄至高頻。其 步驟說明如下:

圖 9:關聯式法則修改模組流程(支持度由少至多修改流程)

2、Si<Sj:當使用者提高支持度時,原先符合支持度的紀錄,可能因此變成不符 合支持度即由高頻紀錄轉變為非高頻紀錄,因此便需要進行拆解及計數的步驟。

當使用者將支持度的門檻值往上提高,便需要針對高頻區的資料進行拆解及計數 的動作。

設定支持度

拆解資 料庫 篩選出符合支

持度的資料

存入高頻區 高頻區

篩選 item_set-1 的拆解資料庫

(39)

(2) 刪除不正確的資料

隨著資料的累積,進行資料探勘的次數也跟著增加,其中當資料新增時可 能會因為人為的疏失,導致其中的資料有所謬誤,若不能將此錯誤更正,便可能 影響資料探勘的結果,造成關聯式法則的錯誤,針對此部份,在本研究所提出的 方法利用中將錯誤的資料,透過相同的拆解及計數的過程進而產生相同的 item_set 及次數,將錯誤的資料加以刪除,藉以修正錯誤資料對關聯式法則所造 成的影響,進而維持關聯式法則的正確性。

設定支持度

高頻區 以新支持度為

條件進行篩選

是 否 符 合

依 item_set 數進行 拆解及計數

圖 10 關聯式法則修改模組流程 (支持度由多至少修改流程) 符合

不符合

(40)

圖 11:修改交易紀錄資料

第三節 關聯式法則應用模組

探勘出來關聯式法則必須要經由實際的應用,才能顯現出其價值是否符合 使用者的期待及是否需要進行修改,隨著應用領域的不同,關聯式法則的表現方 式也不盡相同,本模組主要是配合應用領域的特性來設計關聯式法則的相關應 用,在本研究中是以門診資料作為資料探勘的探勘資料,而所探勘的關聯式法則 便是醫師診斷間的關聯,此模組便是針對醫師對於病患所下診斷間的關聯式法則 進行應用上的設計。

在本研究中依使用者的不同,此模組可以分為兩大部分

l 門診輔助系統:在健保制度的影響下門診成為醫院最主要的收入來源,由於 醫院營運壓力的影響造成醫師每日進行的門診病患數量大幅攀昇,當病患增 多但總看診時間卻仍固定的情況下,不可避免的造成了醫師在每位病患上所 花的看診時間縮短,對於病患的診斷便有可能因此而產生疏失,此系統透過 醫師對該病患診斷的資料,進行與關聯式法則的比對,若有符合條件的關聯 式法則,便將相關的資料傳送給醫師,作為其在診斷上的輔助。若目前所探 勘出的關聯式法則,無法提供醫師所需的相關資訊,亦可透過本系統將相關

需要更正的資料

拆解及計數的步驟

修正相關的資料

Item_set=k Item_set=k-1 Item_set=1

(41)

資訊傳送給關聯式法則修改模組,進行修改以更符合醫師臨床診斷上的需 要。在一般性的門診治療中醫師是以診間為單位在固定的房間中進行門診治 療,因此本系統可透過如 IE 等瀏覽器,提供探勘所得的關聯式法則給醫師 於門診治療時參考。當醫師認為某筆關聯式法則不適當時亦可透過瀏覽器反 映至系統,以避免誤用的情況產生。

l 醫療保健系統:透過資訊工具的協助(如瀏覽器,簡訊發送等),提供病患 相關的訊息作為日常保健的參考,將探勘所得的關聯式法則利用 ASP 等網 頁技術,提供給一般民眾進行查詢等服務,一方面可以提昇病患對於醫院的 滿意度以提高回診率,另一方面也可以將醫院提供醫療服務的時間地點由醫 院向外延伸,甚至將醫院由治傷療痛功能提升為醫療保健的層次,尤其是區 域性的醫院可藉此提高與該地區人民間的互動,以降低因為門診量過大所造 成病患滿意度下降的相關隱憂。

(42)

第四章 實驗設計

本研究主要是利用漸進式資料探勘的方式建立一個應用於門診資料的資料 探勘架構,主要研究目的在於利用漸進式資料探勘的方法進行資料探勘,以減少 當資料新增時重新尋找關聯式法則所需的時間,因此在本研究的實驗設計中透過 比較 apriori、STD、FUP 及 I-STD 進行時間上的不同,除了比較四者間執行時間 不同的差別之外,本研究與某北部教學醫院合作由醫院的醫師針對探勘出的關聯 式法則,進行臨床上是否具有可行性的的判斷,因此本研究的實驗設計分為漸進 式資料探勘效率上的探討與分析及關聯式法則的相關驗證。

第一節 實驗架構

本研究實驗平台與發展工具如下:

l 個人電腦:CPU P4 1.5G Memory 512MB

l 作業系統: Win2000 advanced server l 資料庫伺服器: MS SQL Server 2000 l 開發語言 : MS VB V6.0

本研究的實驗架構分為兩大部分:

1. apriori、STD、FUP 及 I-STD 資料探勘所需時間的比較。

本研究針對 apriori、STD、FUP 及 I-STD 等四種方式,將資料透過漸進式 的方式依序將每個月的門診診斷資料加入分析的資料庫中,藉此分析每個 月進行探勘時此四種方式個別需要時間的多寡,並分析隨著資料量的增加 進行探勘所需時間其變化量為何。以了解當資料以持續新增的方式加入資 料庫時此四種方式探勘所需時間的差異。

2. 關聯式法則的探勘。

除了時間的分析外針對所探勘出的關聯式法則,本研究請醫院的醫師協助

(43)

進行臨床上的驗證,一方面可以證明所探勘的結果具有可行性,另一方面 也可以將探勘的結果提供給醫師作為診斷時的參考。

第二節 資料來源、內容

本研究與某北部教學醫院合作,利用該醫院 90 年度門診資料中關於醫師診 斷部分的資料進行資料探勘,該醫院是屬於區域教學醫院,其平均每日門診人數 約為 2500 人,包含以下門診科別

復健科、過敏免疫風濕科、神經內科、心臟內科、家醫科/腎臟、腸胃肝膽 科、新陳代謝科、胸腔內科、一般內科、一般外科、骨科、神經外科、整型重建 外科、直腸肛門外科、泌尿科、胸腔外科、腫瘤科、中醫科、皮膚科、牙科、眼 科、小兒科、婦產科、身心症門診、耳鼻喉科、家庭醫學科、更年期門診、營養 諮詢。等共計有 28 種不同科別的門診服務。

在醫院的門診診斷資料中,醫師對病人的診斷中共有 1 至 7 個欄位可供醫 生填入,而此 7 個欄位並無先後等順序問題的存在,以醫生個人主觀的判斷作為 填寫的準則。醫生在填寫其對疾病的判斷時以醫院內部的編號作為紀錄方式,因 此進行分析時也是以代號為分析對象,在關聯式法則建立後,以對照的方式找出 代號所代表的意義為何,門診診斷的資料結構格式如表 6:

表 6:門診診斷初始資料格式 門診診斷資料

欄位名稱 欄位型態 說明

病歷號碼 Int(10) 病患的病例號碼

日期 Char(6) 病患看病日期

看診順序 Char(2) 病患在同一天的看診順序 診斷順序 Char(2) 醫師診斷的代碼之順序

診斷代碼 Char(6) 醫師診斷的代碼

(44)

診斷說明 Char(20) 診斷代碼的說明 病歷號碼:每位病患第一次就診時由醫院所給予的唯一編號。

日期:該位病患至醫院門診就診的日期。

看診順序:該位病患在該日可能會不只在一個門診科別中就診,此欄位為紀錄該 病患其就診科別的順序。例如該病患在當日分別至內科及耳鼻喉科,

其在內科就診時醫師所下之診斷此欄位的值為 0,而耳鼻喉科醫師所 下之診斷則為 1,以此類推。

診斷順序:由於醫師所下之診斷可能不只一個,在本研究中醫院所提供之門診診 斷資料,醫師的診斷最多可達七個,此欄位便是紀錄醫師所下診斷的 順序。

診斷代碼:此診斷代碼為醫師對此病患目前症狀所下的診斷,此診斷代碼唯固定 的編號。

診斷說明:為該筆診斷代碼的說明,可能是英文上的術語,或是中文說明。

除了以上的資料外,還包含了如診斷醫師代碼、病患性別等基本資料,此 部份的資料與本研究目的較無直接關聯,因此再進行資料探勘時便不需考慮此部 份的資料。

第三節 資料前置處理

透過如表 6 的儲存方式,我們便可以獲得醫師對於門診病患診斷的紀錄,

由於在輸入資料的過程中可能發生錯誤, 因此在將有錯誤的資料刪除後方能進 行資料格式的轉換,以符合本研究的需要。

表 7:轉換後之門診診斷資料格式 門診診斷資料

欄位名稱 欄位型態 說明

ID Int(4) Primary key

(45)

病歷號碼 Int(10) 病患的病例號碼

日期 Char(6) 病患看病日期

診斷一 Char(6) 醫師診斷代碼

診斷二 Char(6) 醫師診斷代碼

診斷三 Char(6) 醫師診斷代碼

診斷四 Char(6) 醫師診斷代碼

診斷五 Char(6) 醫師診斷代碼

診斷六 Char(6) 醫師診斷代碼

診斷七 Char(6) 醫師診斷代碼

在表 7 中,每一筆記錄是指該病患在一天內單一門診的門診紀錄,而每名 病患在一天內可至不同門診間就診,因此在一天內可能會產生多筆門診診斷紀 錄。在本研究中,共有七個診斷代碼為分析的對象,若是所有的診斷代碼都相同 但是就診日期不同或是病患不同,便視為 2 筆不同的紀錄,便需作二次的處理,

但本研究目的在於尋找診斷間的關聯性,因此不需考慮不同病患間的因素,另一 方面,為了減少計算的處理,便將所有診斷代碼相同的紀錄做累計的處理,得到 如表 8 的資料格式。

表 8:最終門診診斷資料格式 STD_DB

欄位名稱 欄位型態 說明

TID Int(4) 診斷組合的編號

次數 Int(10) 出現的次數

診斷一 Char(6) 醫師診斷代碼

診斷二 Char(6) 醫師診斷代碼

診斷三 Char(6) 醫師診斷代碼

診斷四 Char(6) 醫師診斷代碼

(46)

診斷五 Char(6) 醫師診斷代碼

診斷六 Char(6) 醫師診斷代碼

診斷七 Char(6) 醫師診斷代碼

第四節 I-STD 之探勘過程

本章節針對 I-STD 中各步驟做一詳細的說明,以下先將名詞做一簡單的定義:

new_support:新進資料筆數乘上設定的支持度。

total_support:全部資料筆數乘上設定的支持度。

高頻項目集合:符合支持度的項目集合。

非高頻項目集: 不符合支持度的項目集合。

D:經過整理紀錄所有的診斷資料,其中包含了 ID、次數、紀錄(7 碼)等,並 依 Item_set 的次數由多到少排序。

高頻區: 存放符合支持度的項目集合。

非高頻暫存區:存放不符合支持度知項目集合。

緩衝區:拆解時存放拆解的項目集合。

拆解暫存區: 存放舊資料中經過拆解的項目集。

舊高頻區:存放舊資料中符合高支持度的項目集。

高頻子集合區:存放高頻項目子集合的診斷資料。

在 I-STD 中,大致可以分為三大階段:

1. 讀入資料庫中的單筆資料,進行比對及計數。

2. 將讀入的資料作拆解的動作,將 item_set=k 的資料拆解成 item_set=k-1 的資 料,並做比對及計數的動作。

3. 新進資料與原始資料的合併。

(47)

拆解

比對 歷史資料處理

讀入下一筆資料 Item_set是否有

改變 改變

未改變 讀入第一筆資料

圖 12:I-STD 流程概念圖 一、依序讀入資料庫中的單筆資料,進行比對及計數 在此階段中依比對的結果主要可以分為 4 種情況:

CASE1:由於此項目集合於歷史資料及新進資料中皆屬於高頻的項目集合,因此 在合併後的資料庫中仍會屬於高頻區,因此不須進行比對即可將之存放 至高頻暫存區中。

CASE4:由於此項目集合於歷史資料及新進資料中皆屬於非高頻的項目集合,因 此在合併後的資料庫中仍會屬於非高頻暫存區,因此不須進行比對即可 將之存放至非高頻暫存區中,當 item_Set 數目改變時在進行拆解計數。

CASE2:此項目集合於新資料中屬於高頻項目集合,歷史資料中則屬於非高頻項 目,因此將新資料的次數與拆解暫存區中的資料進行比對,若其總和次 數大於 total_support 則將之歸類於高頻暫存區,小於則存放至非高頻暫 存區。

CASE3:此項目集合於新資料中屬於非高頻項目集合,歷史資料中則屬於高頻項 目,因此將新資料的次數與高頻暫存區中及拆解暫存區中的資料進行比 對及次數相加,若其總和次數大於 total_support 則將之歸類於高頻暫存

(48)

不屬於

屬於

符合

不符合

符合

不符合

區,小於則存放至非高頻暫存區。

圖 13:單筆記錄比對流程 在執行的方面則可分為 4 大步驟

1. 將讀入的資料與高頻區做比對

若已存在高頻區,則將高頻區的中的資料更新,並讀入下一筆資料。

若不存在於高頻區之中,將此筆資料與非高頻暫存區做比對,若存在便更新 非高頻區資料並進入步驟二,若不存在非高頻暫存區則直接進入步驟二。

2. 該筆資料之次數與高頻區中次數最高者相加之合或是該筆次數與拆解暫存 區 中 次 數 最 高 者 相 加 之 合 大 於 total_support 則 進 入 步 驟 三 , 若 小 於 total_support 則將該筆記錄存入非高頻暫存區,讀入下一筆資料。

3. 依資料的次數是否大於 new_support 進行判斷,

大於 new_support 則與舊高頻區進行比對,若以存在於舊高頻,便將該筆資 料存入高頻區,並刪除舊高頻區及非高頻緩衝區中相同的資料,不存在高頻 區則進入步驟三。

小於 new_support 與舊高頻區進行比對,若存在於舊高頻,進行次數相加,

新進資料

是否屬於 高頻項目

高頻暫存區 (高頻子集合區)

是否大於 new_support

與舊高頻 區比對

與舊高頻 區比對

CASE1

CASE2

CASE3

CASE4

(49)

總次數大於 total_support 便存入高頻區,並刪除舊高頻區及非高頻緩衝區中 相同的資料,若小於 total_suppor 則進入步驟三,不存在於舊高頻區,則將 該筆資料存入非高頻暫存區,讀入下一筆資料。

4. 將該筆資料與拆解暫存區進行比對,若其次數和低於 total_support 則存入非 高頻暫存區,其次數何高於 total_support 則存入高頻區,並刪除非高頻緩衝 區中相同的資料,讀入下一筆資料。

交易資料D

依序讀入D 中的交易資料

與高頻區比對 高頻區

非高頻暫存區 與非高頻暫存區的資

料進行比對及加總

依次數的多寡決定是否 需與舊資料進行比對

資料比對程序 需進行比對

次數過小

不需比對 存入非高頻暫存區 判斷是否存在

高頻區 存在

不存在 高頻子集合區

存入高頻 子集合區

圖 14:讀入資料庫的單筆資料

(50)

經由這四步驟,將資料庫中 iteem_set=k-1 的資料依序進行比對及計數的動 作,並將 item_set=k 而經過拆解的資料與 item_set=k-1 的資料進行合併,直到資 料庫中 item_set=k-1 的資料都分析比對完之後,再進行將 item_set=k-1 拆解成 item_set=k-2 的動作。

判斷次數是否 高於 total_support

高頻

須紀錄有部分次數為舊資料

舊高頻暫存區

判斷是否 屬於高頻

存入高頻區 讀入舊資料作計數

高頻 判斷是否 非高頻

屬於高頻

非高頻

非高頻暫存區

讀入舊 高頻暫存區

Item set為K的拆 解後資料 讀入舊高頻暫存區 舊高頻暫存區

判斷次數是否 大於new_support 大於 小於

讀入資料

非高頻 高頻

圖 15:資料比對程序流程圖

二、將讀入的資料作拆解的動作,將 item_set=k-1 的資料拆解成 item_set=k-2 的 資料,並做比對及計數的動作。

此部份主要是進行拆解的動作,其中包含了新進資料及舊高頻資料的拆解,以及 將資料庫中 item_set=k-2 的拆解資料存入拆解暫存區做接下來的比對之用。此部 份共可分為以下幾個步驟:

1. 更新拆解暫存區的資料,將非高頻緩衝區中的資料存入資料庫中,並將拆解 暫存區中的資料由 item_set=k-1 換為 item_set=k-2 的資料。

2. 將舊高頻中,item_set=k-1 的資料拆解為 item_set=k-2,並將 item_set 組合相

(51)

同的資料作合併及計數的動作。此部份的合併計數只須與舊高頻中的資料進 行即可,不須與新進資料合併。

I. 將舊高頻區中的資料由 item_set=k-1 拆解為 item_set=k-2,並與舊高頻 中 item_set=k-2 的資料進行合併計數,合併後次數若大於 total_support 則將該筆資料存入高頻區,並將舊高頻的資料刪除,若低於 totla_support 則保留在舊高頻暫存區中。

3. 將非高頻暫存區中的資料由 item_set=k-1 拆解為 item_set=k-2 的資料集合。

將item_set=k的交易紀 錄拆解為item_set=k-1

非高頻暫存區

非高頻緩衝區

比對是否存在 不存在 於高頻區

高頻子集合區 存在

依序讀入資料

存入高頻子集合區 存入非高頻緩衝區

圖 16:由非高頻暫存區拆解後移至非高頻緩衝區流程圖

I. 將非高頻拆解區的資料由 item_set=k-1 拆解為 item_set=k-2 的資料集 合,與緩衝區中的資料進行比對及計數,直到非高頻暫存區中所有的資 料皆拆解完畢。

II. 將緩衝區的資料依序讀出,進行與第一階段中相同的比對步驟,但差別

參考文獻

相關文件

同一個常數 C ,只適用在 ( 0) 或者 (0, ) 上。.

sort 函式可將一組資料排序成遞增 (ascending order) 或 遞減順序 (descending order)。. 如果這組資料是一個行或列向量,整組資料會進行排序。

所以 10 個數字 個數字 個數字 個數字 pattern 就產生 就產生 就產生 就產生 10 列資料 列資料 列資料 列資料 ( 每一橫 每一橫 每一橫

 想要設計一個具有兩個輸入G(gate閘控)和 D(data資料)以及一個輸出Q的閘控閂電 路。當G等於1時,在輸入D出現的二進位資料

閘門快易通 同仁在執行各項業務 時,如需檢附求職者的 加(退)保資料,以確保 求職者身分資格時,經 求職者本人同意並寫

• 有一個可以耐重 W 的背包,及 N 種物品,每種物品有各自的重量 w[i] 和價值 v[i] ,且數量為 k[i] 個,求在不超過重量限制的情 況下往背包塞盡量多的東西,總價值最大為多少?.

在資本形成方面,因半導體設備比較基數偏高,第1季資本設備

先從上頁「資料一線通 : 2019 冠狀病毒病的數據」網址下 載最新「本港疑似 / 確診 2019 冠狀病毒的個案詳情」的 數據。在這活動同學們將使用試算表分析數據並完成下表.