藥物不良反應成因的分析與偵測之知識發掘平台
林文揚 李和益
國立高雄大學資訊工程學系
[email protected]; [email protected]
摘要
藥物不良反應是用藥安全議題中一個重要且 不容忽視的問題,特別是許多的不良反應無法在藥 物上市前藉由有限的臨床試驗發掘,往往須等上市 後,經由大量的使用方能突顯出來,故如何偵測、 及早發掘藥物引起的不良反應在醫藥界向為重要 的研究議題。近年來,隨著大量的不良反應事件被 紀錄以及資料探勘方法的蓬勃發展,逐漸有學者或 機構發展以統計或資料探勘的藥物不良反應的偵 測方法。然而這些方法普遍缺乏與知識發掘系統的 整合,在分析或探勘的過程中,使用者都必須長時 間的等待,無法提供給使用者一個交談式的環境。 有鑑於此,我們開發一個交談式的系統環境,結合 藥物不良反應的資料倉儲,一方面可以利用線上分 析處理(OLAP)工具,讓使用者可以從不同角度去觀 察分析,另一方面利用資料探勘的方法,從資料倉 儲裡挖掘出使用者感興趣的藥物與症狀的關聯規 則。 關鍵詞:藥物不良反應,資料探勘,分類,資料倉 儲,線上分析處理1. 前言
根據世界衛生組織(WHO)在1972年所下的定 義[23],藥物不良反應(Adverse Drug Reaction)是指 藥物在人體所產生的一種不舒服、有害性或非預期 的反應。即在正常劑量下,藥物使用於疾病預防、 診斷、疾病治療,或改變生理功能時所發生的反 應,並不包含藥物戒斷症狀、藥物濫用造成的症 狀、中毒或藥物過量。藥物不良反應會造成許多不 必要的社會資源浪費,帶給病人及其親人心理或生 理層面上不必要的痛苦,並限制了藥物療效的產生 並增加醫療資源的使用,因此提高了醫療成本,進 而導致醫療品質下降。 最著名的藥物不良反應事件莫過於在1950年 代由德國研製、用於緩解妊娠反應的新藥沙利度胺 (Thalidomide)在 歐洲 和 日本 等20多個國家造成了 12000多個胎兒缺手臂畸形,還致1300人患多發性 神經炎。此事件之後世界各國紛紛制定嚴格的藥物 不良反應申報程序,如英國的黃卡(Yellow Card Scheme)。而在國內行政院衛生署也成立了一個藥 物不良反應通報系統的專區[1],並制定了相關的法 規,希望能提升國內民眾對於用藥的安全性的重 視,這些申報制度為安全用藥收集了重要的基本數 據。 目前僅有些許的研究致力於藥物不良反應成 因的發掘與分析,這些研究大致上可分為兩類:第 一類主要專注於如何運用或發展統計或探勘方法 以找出藥物不良反應[4][6][7][8][14][16][21]。這些 研究成果的缺點是並未能實際建構出一個完整的 系統,不能提供給使用者一個分析藥物不良反應的 發掘平台。另外一類則是專注於建構藥物不良反應 探勘系統 [2][10],雖然使用者可以透過此系統,找 出藥物不良反應成因的資訊,但是缺點是每次探勘 的過程,使用者都必須長時間的等待,無法提供給 使用者一個交談式的環境。 基於上述的觀察,我們嘗試發展一個交談式的 藥物不良反應成因分析的知識發掘平台。此系統架 構結合資料倉儲系統與資料探勘技術,一方面可以 利 用 線 上 分 析 處 理(OLAP, On-line Analytical Processing)工具[5],讓使用者可以從不同角度去觀 察 分 析 , 另 一 方 面 利 用 關 聯 式 分 類 (Associative Classification)[18]的探勘方法,從資料倉儲裡挖掘 出使用者感興趣的藥物與症狀的關聯規則。 本論文其他章節安排如下:第二節是相關背景 知識以及研究的介紹;第三節則說明我們提出的藥 物不良反應成因之知識發掘平台的架構,以及設計 上的細節;第四節是系統的實作與驗證;第五節是 結論。2. 相關研究
在用藥安全方面,藥物不良反應是一個重要而 且不容忽視的問題,特別是許多的不良反應無法在 藥物上市前藉由有限的臨床試驗發掘,往往須等上 市後,經由大量的使用方能突顯出來,故如何偵 測、及早發掘藥物引起的不良反應在醫藥界向為重 要 的 研 究 議 題 , 稱 之 為 藥 物 主 動 監 測 (pharmacovigilance)[22]。近年來,隨著大量的不良 反應事件被紀錄以及資料探勘方法的蓬勃發展,逐 漸有學者或機構發展以統計或資料探勘的藥物不 良反應的偵測方法。這些方法可概分為兩類:比值 法與貝氏法,茲整理簡述如下: 早期的偵測方法基本上是利用統計概念的2×2 列聯表(contingence table),如表1,計算所謂的比值 失衡(disproportionality),做為判定藥物不良反應的 依據,而不同的方法對於比值失衡的計算有所不 同 , 包 括 英 國 黃 卡 系 統 採 用 的 比 例 報 告 比 值 法(Proportional Reporting Ratio,簡稱PRR)[8],荷蘭藥 物監測局採用的報告差異比值法(Reporting Odds Ratio,簡稱ROR)[7]。另外英國藥物與健康產品管 理局則採用一種綜合標準法,稱為MHRA法[8],其 結合了PRR值、報告數、以及卡方值(χ2)。有關這幾 個方法的定義詳如表2。 表1 用於ADRs偵測的2×2列聯表 可 疑 ADR 的報告數 其 他 ADR 的報告數 總計 可 疑 藥 物 的 報 告數 a b a + b 其 他 藥 物 報 告 數 c d c + d 總計 a + c b + d a + b + c + d 表2 各種比值失衡的ADR偵測方法 方法 計算公式 判斷指標 PRR ) /( ) /( d c c b a a + + PRR − 1.96δ > 1 ROR d b c a / / ROR − 1.96δ > 1 MHRA PRR, a, χ2 PRR ≥ 2, a ≥ 3, χ2 ≥ 4 另一類方法則是運用貝氏定理作為主要的偵 測原理。世界衛生組織所採用的貝式信心類神經網 路傳遞法(Bayesian Confidence Propagation Neural Network,簡稱BCPNN)[4][19],是計算資訊元件(IC, Information component)值,定義如下: ) )( ( ) ( ) ( ) ( ) , ( log2 c a b a d c b a a y p x p y x p IC + + + + + = ≡ 此IC值是用來衡量兩個變數,也就是藥物x跟症狀y 之間的關聯強度,其中p(x)表示所有報告中有關藥 物x紀錄的比率,p(y)表所有報告中有關症狀y紀錄 的比率,而p(x, y)則表示所有報告中同時紀錄藥物x 與症狀y的比率。IC值越高,表示關聯強度越強,如 果高於一個門檻值,則此藥物跟不良反應的關聯則 被視為有意義的。 美國食品藥物管理局(FDA)則是採用經驗性貝 氏 伽 瑪 泊 松 分 布 縮 檢 法 (Empirical Bayes Gamma-Poisson Shrinker,簡稱EBGPS)[6],其目的 在偵測哪些上市後藥物不良反應事件的通報頻率 明顯高於預期。此方法用貝氏統計公式來計算藥物 與不良反應組合觀察的與期望的通報比率的統計 值,以表示任何一個組合的通報率高低或訊號強 度,比較觀察的與期望的是否有信心(Confidence) 超過假設條件的門檻值,如果有,則該組合即被視 為有意義的。 另外Jin等[16]運用時間規聯規則技術,提出 MUTARC 演 算 法 , 其 針 對 澳 洲 昆 士 蘭 衛 生 局 (Queensland Department of Health)所提供的資料 庫,定義了一個不可預期的時間關聯規則(UTAR), 表示為一個事件如果不可預期地發生於服藥後某 個時間週期內,則該事件有可能是藥物不良反應, 所以在探勘之前必須先排除可預期的事件,也就是 服藥前的症狀,並利用支持度(Support)和影響力 (Leverage)[20] 來 過 濾 和 排 序 關 聯 規 則 。 所 謂 的 Leverage是用以衡量規則左項項目集X(視為因子) 和右項項目集Y(視為結果)的相依程度,Leverage > 0 表正相關,Leverage < 0則代表負相關,Leverage = 0則表示X和Y彼此獨立。
Leverage(X → Y) = sup(X ∩ Y) – sup(X)sup(Y)
除此之外,Jin等的方法也利用PRR(其論文稱為 Relative Risk,簡稱RR)指標來衡量規則的重要性。 Huang等所提出的利用卡方檢定(Chi-Square Test)和條件機率的方法,目的是找出藥物交互作用 的藥物不良反應 [14]。其方法是先使用卡方檢定去 計算出各個組合的相依程度,但是卡方檢定不能判 斷出某種不良反應是由藥物交互作用引起還是單 一藥物所引起,所以再利用條件機率去補足此問 題。 還有另一種研究是專注於建構藥物不良反應 探勘系統,如Fram等在2003年提出的探勘藥物不良 反應系統架構 [10],是結合經驗性貝氏伽瑪泊松分 布縮檢法,實作出一個探勘藥物不良反應成因的系 統平台,能夠讓使用者透過操作找出感興趣的知 識。
3. 藥物不良反應成因之知識發掘平台
在本節中,我們將說明此研究所提出的藥物不 良反應成因偵測之知識發掘系統。首先在3.1小節中 對整個系統架構作ㄧ綜觀的描述,之後再對系統的 主要組成模組個別說明。 3.1 系統需求與架構 在此系統中,首要工作是建立一個後端的資料 倉儲,提供給OLAP分析引擎和探勘引擎之用,資 料 來 源 是 美 國 食 品 藥 物 管 理 局 所 提 供 的 AERS(Adverse Event Reporting System)資料庫[3], 該資料庫包含了非常多有關藥物不良反應的臨床 報告,記錄了病人的個人資料、藥物服用資料、症 狀資料和最後追蹤結果等資訊。再根據預先定義好 的資料倉儲模型,經過資料處理ETL,才能將資料 載入到資料倉儲中。 此系統中包含兩個主要的分析功能,OLAP分析引擎和探勘引擎,OLAP分析引擎利用線上分析 處理工具,將資料組織成多維度的模式,提供給使 用者做多維度的觀察。探勘引擎則是使用資料探勘 的演算法,找出使用者感興趣的藥物不良反應成 因。系統是以網頁的形式呈現,毋需讓使用者再額 外安裝任何軟體,兼顧可攜性和便利性。圖1為知 識發掘平台的系統架構圖,以下各小節將會細部地 介紹各個部分。 藥物不良反應 成因探勘引擎 AERS 資料庫 Apache & JSP OLAP 分析引擎 HTTP HTTP 網頁伺服器 資料倉儲 資料處理ETL 使用者 使用者 預存規則 型樣 圖 1 系統架構圖 3.2 資料來源 如前所述,本系統所採用的資料來源是美國食 品藥物管理局的藥物不良反應的志願回報系統資 料庫AERS。AERS資料庫是為了有效防止藥物不良 反應的發生所設計的,是用來支援上市藥物的安全 監控計劃,並針對所有核准上市的藥物和有療效的 生化產品。這個資料庫從1968年建立使用,截至目 前已經收集超過3,000,000筆臨床報告紀錄。美國食 品藥物管理局發佈資料的方式是以季,也就是三個 月為一個單位,裡面記錄了該季所接收到的藥物不 良反應臨床報告紀錄。 圖2是AERS資料庫的綱要圖,總共包含有七個 關聯資料表,分別為: 1) Demographic:記錄著每位病人的個人資料 2) Drug:記錄病人所服用的藥物資訊 3) Reaction:紀錄藥物不良反應所引起的症狀 4) Outcome:藥物不良反應發生後病人的結果 5) Report source:藥物不良反應回報紀錄的出處 6) Therapy dates:所服用的藥物療程時間資訊 7) Indications for use:藥物不良反應發生前病人所
患的症狀 AERS 資料庫是部分公開的,目前只公開 2004 年至 2008 年第一季的資料,所以我們只針對這些 資料來建構後端的資料來源資料庫。在此要特別澄 清:我們所定義的系統架構,也適用於其他的資料 庫,並不僅限於此研究所使用的AERS 資料庫。 Demographic ISR CASE I_F_COD FOLL_SEQ IMAGE EVENT_DT MFR_DT FDA_DT REPT_COD MFR_NUM MFR_SNDR AGE AGE_COD GNDR_COD E_SUB WT REPT_DT OCCP_COD DEATH_DT TO_MFR CONFID REPORTER_COUNTRY Drug ISR DRUG_SEQ ROLE_COD DRUGNAME VAL_VBM ROUTE DOSE_VBM DECHAL RECHAL LOT_NUM EXP_DT NDA_NUM Reaction ISR PT Outcome ISR OUTC_COD Report source ISR RPSR_COD Therapy dates ISR DRUG_SEQ START_DT END_DT DUR DUR_COD
Indications for use ISR DRUG_SEQ INDI_PT 圖 2 AERS 資料庫資料關聯表 3.3 資料倉儲 資料倉儲(Data Warehouse)一詞最早是由 W. H. Inmon 所提出的,是一個主題導向的、整合的、隨 時間變動的、不變性的資料集合,用來支援管理的 決策過程 [15]。資料倉儲可看成決策支援資料模型 的實體實作,並存放著策略決策所需的資訊,資料 倉儲也常常被看作是一種系統架構,是由異質性的 資料整合在一起所建構出的,並能支援結構化的和 專門的查詢、分析報告和決策制定。最常見的資料 倉儲綱要模型是多維度資料模型(Multi-dimensional model),有兩種比較具代表性的資料形式,一是星 狀 綱 要(Star Schema) , 一 是 雪 花 綱 要 (Snowflake Schema)。最常見的是使用星狀綱要來呈現欲分析 的資料,具有動態的多維度分析,複雜計算的能 力,以及具時間導向,通常這些資料都是以資料方 體(Data cube)的方式儲存。星狀綱要主要由事實資 料 表(Fact table) 和 一 連 串 相 關 的 維 度 資 料 表 (Dimension table)所組成,事實資料表儲存的是各個 維度資料表的主鍵以及欲觀察的測量值,維度資料 表則是記錄各個資料表的欄位。 資料經過預先處理ETL 後,再根據所定義的資 料倉儲模型,過濾掉不相關與多餘的資料,最後整 合成資料倉儲,提供給OLAP 分析引擎和探勘引擎 進行多維度分析與探勘。圖3 為資料倉儲星狀綱要 架構,包含有一個事實資料表和五個維度資料表, 事實資料表裡除了記錄各個維度資料表的外來鍵 (Foreign key),還有記錄一個測量值-藥物不良反應
的發生次數(Count)。五個維度資料表,分別為: 1) Demographic:記錄著每位病人的個人資料 2) Event_time:事件發生時間 3) Outcome:藥物不良反應發生後病人的結果 4) Reaction:紀錄藥物不良反應所引起的症狀 5) Drug:記錄病人所服用的藥物資訊 Drug Dimension drug_key Drug_name Drug_route Outcome Dimension outcome_key Outcome Reaction Dimension reaction_key PT ADR Fact demo_key drug_key reaction_key outcome_key event_time_key Event_time Dimension Year Quarter Month Day Demographic Dimension demo_key Manufacturer_name Age_stratum Gender Weight_stratum Country Duration count 圖 3 星狀綱要架構 3.4 資料處理 ETL ETL 系統是資料倉儲中資料前置整理階段的 一個主要程序,其功能是對不同資料來源的資料做 萃取、轉換、清理、載入,最終按照預先定義好的 資料倉儲模型,將資料載入到資料倉儲中。 一般而言,ETL 包含三個主要步驟: (1) 資料萃取(Data extraction):顧名思義是從資料 來源中萃取資料,為資料倉儲輸入資料。對於 不同的資料平台,不同的資料來源格式,以及 不同資料量的原始資料,必須採取不同的資料 萃取方式,而在資料萃取的同時,需要重點考 量資料萃取的效率以及對現有服務系統性能及 安全的影響。
(2) 資料轉換和資料清理(Data transformation and Data cleaning):對於所萃取的資料,根據資料 倉儲綱要模型的要求,做資料的轉換、清理、 匯總等處理,保證來自不同格式的資料具有一 致性和完整性。 (3) 資料載入(Data loading) :將從資料轉換和資料 清理之後的資料載入到資料倉儲中,通常要求 資料載入工具必須具有高效率的載入性能。 在處理原始的AERS 資料庫轉換和清理的過程 中,我們遇到有的狀況主要有三種:第一,其中有 一些欄位有不一致的情況發生,例如:病人的年齡 單位分別有十年、年、月、週、日、小時六種,必 須先做資料轉換處理,統一將年齡單位轉換成以年 為單位。第二,必須移除重複的資料,因為通報單 位管理上的問題,藥物不良反應記錄有時會有重複 的紀錄產生,也因為如此,相同的記錄必須視為是 同一筆。第三,欄位資料有格式不同的問題,例如: ABCIXIMAB 和 ABCIXIMAB 10MG 都是同一種藥 物,但卻有不同的記錄格式,必須找出來,統一更 改為同一種格式。 3.5 OLAP 分析引擎 線上分析處理是一種能提供多維度分析以及 快速查詢的工具,它主要的操作有:上捲(Roll-up)、 下鑽(Drill-down)、切片和切塊(Slice and Dice)以及 轉軸(Pivot),舉例分述如下。圖 4 是一個由國家、 藥物以及時間3 個維度所組成的資料方體。 圖 4 由國家、藥物及時間維度所組成的資料方體 (1) 上捲(Roll-up):針對事件發生時間這個維度而 言,一年有4 季,共 12 個月,假設欲觀察每季 在各個國家藥物不良反應的發生頻率,可以藉 由時間的階層關係,往上做聚合的運算,可以 得到總結性的資料,可看到在第一季時,藥物 D1 在美國總共發生次數為 90 次如圖 5 所示。 圖 5 圖四的資料方體執行上捲後的結果 (2) 下鑽(Drill-down):針對事件發生時間這個維度 而言,假設欲觀察從每一季往下觀察至每一個 月藥物在各個國家發生的頻率資料,可以藉由 時間的階層關係,往下運算,已得到更詳細的 資料。
(3) 切片和切塊(Slice and Dice):
A. 切片是針對某一個維度做運算,例如欲觀 察第一個月時,各個藥物在各個國家的發 生頻率,則對時間維度做切片。 B. 切塊是從所有的維度挑選出兩個或兩個 以上的維度進行運算,例如時間維度挑選 1 月跟 2 月,藥物維度選擇 D1 跟 D2,國 家維度選擇美國跟日本。 (4) 轉軸(Pivot):是針對不同的象限,做旋轉的動 作,提供另一選擇供觀察,例如把原本的橫軸: 時間,縱軸:藥物轉換成橫軸:藥物,縱軸: 時間,可以從另一觀點去觀察資料變化。
3.6 藥物不良反應成因探勘引擎 對於產生藥物不良反應的成因其實是相當複 雜的,包含有:單一藥物本身的副作用、多種藥物 之間的交互作用、病人的年齡、肝腎指數、生活習 慣像是抽菸酗酒...等等。這些複雜的成因因素我們 把它定義為風險因子(Risk patterns),也由於風險因 子讓找出藥物不良反應信號這個問題變得困難。所 以,我們也將病人的年齡、性別這些風險因子考慮 進來,讓使用者選擇感興趣的風險因子,再利用探 勘方法找出藥物不良反應成因信號,即何種的病患 在服藥哪些藥物下較易導致某些不良反應,其本質 上可視為一種探勘分類規則的問題。 雖然文獻上可用於進行分類的探勘方法相當 多,包括類神經網路、案例式推理法、決策樹、貝 氏網路、支持向量機等[11],但是這些方法的原始 計算模式並未考慮輸入參數變動的動態探勘,故較 不適於交談式的分析環境。在這個研究中,我們採 用一種改良自Li等人的CMAR(Classification Based on Multiple Class- Association Rules) 演算法[17]。此 方 法 屬 於 關 聯 分 類 方 法 (Asssociative Classification),最早是由Liu等人提出[18],其基本 概念是將分類規則視為一種特殊的關聯規則,故可 運用或改良現行的規聯探勘方法來找出符合的分 類規則。CMAR方法的核心是改良自探勘頻繁項目 集的方法中極有效率的FP-growth所採用的資料結 構FP-tree[12],稱為CR-tree,用以儲存可能的分類 規則。其最大優勢在於探勘過程中,不需產生候選 項目集,然而在交談式的探勘環境下,此種方法的 效率仍然不符需求。 圖 6 CR-Tree 儲存形式 為解決上述問題,我們採用類似ㄧ般資料倉儲 系統中實體化資料方體的概念[13],預先產生並儲 存CR-tree,稱為實體化CR-tree,意即在離線狀態 下,先針對資料倉儲中相關的欄位資料,使用CMAR 演算法產生一個完整的CR-tree,再將CR-tree轉換成 文字文件形式儲存在硬碟中,其格式如圖6所示。 此檔案記錄每個節點的值、父節點、被分類類別 (Class) 及 次 數 (Count) , 檔 案 的 第 一 行 儲 存 位 在 CR-tree第一層的節點,第二行則儲存第二層的節 點,依此類推。如果後續資料倉儲有擴增的資料, 則直接擴增此CR-tree即可,不需要再重新建構新的 CR-tree。在線上狀態下,使用者選擇探勘欄位之 後,再對此CR-tree刪除掉使用者不感興趣的欄位節 點,被刪除節點的子節點則往上遞補,如果刪除的 節點有記錄此路徑被分類的類別,則把這個紀錄移 至父節點。 圖7 為整個探勘引擎的流程圖,包含了兩個部 分,分為離線狀態以及線上狀態,包含了五個主要 的流程:(1)關聯形式資料轉換成交易形式資料;(2)
使用 CMAR 演算法產生 CR-tree;(3)修剪 CR-tree 產生關聯分類規則;(4) 根據所選擇的度量法過濾 和排序分類規則;(5)使用者選擇感興趣的條件過濾 規則。 資料倉儲 步驟二 使用CMAR演算法產生CR-tree 步驟一 關聯形式資料轉換成交易形式資料 步驟四 根據所選擇的度量法過濾和排序分類規則 步驟五 使用者選擇感興趣的條件過濾分類規則 步驟三 根據所選擇風險因子修剪CR-tree產生對應ADR訊號 的分類規則 重新選 擇風險 因子及 度量法 圖 7 探勘引擎流程圖 下列我們以例1 的例子說明各步驟的執行方 法。 例 1 (探勘關聯性的分類規則) 給定一個資料集 T, 把各個欄位和藥物集合看成項目集,症狀看成分類 類別,如表3,假設最小支持度設定為 40%,即在 資料集 T 裡必須出現 2 次。 表 3 資料集 T
Tid Age Drug Class(PT)
1 Age>60 D1, D2 S1, S2 2 Age<1 D3, D4 S3, S4, S5 3 Age>60 D1, D5, D6 S1, S6, S7 4 Age>60 D1, D7 S1, S3 5 Age<1 D2, D3 S3, S5 步驟一、關聯形式資料轉換成交易形式資料 在資料倉儲中的資料,是以關聯形式的方式儲 存,關聯形式的資料並不適用於探勘演算法,所以 在執行探勘演算法之前,必須將資料形式轉換成有 利於探勘的交易形式資料。由於是採用預先產生最 完整 CR-tree 的方法,則是選擇所有探勘欄位,依 照資料表的主鍵(Primary key),將同一筆臨床記錄 集合成一筆交易形式的資料,提供給探勘演算法使
用。 步驟二、使用CMAR 演算法產生 CR-tree 首先,CMAR會先搜尋過資料集T一次,找出 發生次數大於2 次的項目,令這個集合為L1,稱做 頻繁項目集,此例L1 = {Age > 60, D1, Age < 1, D2, D3},其他小於最小支持度的項目則會被過濾掉, 在這次探勘過程中則不被考慮。之後再將L1的項目 依照它們的出現頻率由大到小排列,依序為:Age > 60、D1、Age < 1、D2、D3,再重新搜尋一次資料 集T,並依照L1的先後順序,建構出一個CR-tree。 接著,把每筆資料的類別記錄在路徑的最後一個節 點。例如,資料集T的第一筆資料,就把S1,S2 分 別紀錄在D2 上,如圖 8;最後就將CR-tree儲存起 來。當使用者做欄位的選擇之後,即可對此CR-tree 做修剪,不需要再重新產生另一個新的CR-tree,可 以省去大量的時間。 圖 8 例 1 的 CR-tree 步驟三、根據所選擇的風險因子修剪CR-tree 產生 對應ADR 信號的分類規則 此步驟開始,為線上狀態,根據使用者選擇的 探勘欄位對 CR-tree 的節點做修剪,刪除掉使用者 不感興趣的節點。例如,假設對於資料集 T,使用 者不感興趣的欄位是Age,所以就把 Age 的相關節 點全部刪除掉,子節點則往上移動,如果被刪除節 點有記錄此路徑被分類的類別,則把這個紀錄移至 父節點,如圖9。 圖 9 修剪過後的 CR-tree CR-tree修剪完之後,L1依序是D1、D2、D3, 根據L1的先後順序,從最後一個項目D3 找起,由 D3 可以找出兩種組合:{(D3): (S3, S4, S5)}以及 {(D2, D3): (S3, S5)},但是這些組合都沒有超過最小 支持度,所以並沒有產生任何的規則。找完D3 之 後,將其記錄的分類類別加到父節點上,接著再繼 續找下一個項目D2,如果找到的組合大於或等於最 小支持度,則產生規則並保留下來,重複以上的動 作,直到項目都被找過為止。 步驟四、根據所選擇的度量法過濾和排序分類規則 經過演算法產生的規則數量也許會很龐大,為 了讓使用者在操作上更有效率,所以必須排除掉多 餘的規則。如果規則 R1: 和規則 R2: , S D→ S D'→ D 是D 的子集,我們可以說 R1 是通用' 規則(general rule),R2 就是多餘的規則,於是就將 R2 排除。 接下來我們將剩下的規則利用Leverage和使用 者所選定的度量來做排序。例如假設使用者選定的 度量為PRR,而有任兩條規則,R1和R2,滿足下列 規則的話,可以說R1的順序比R2的順序高: (1) Leverage(R1) > Leverage(R2) (2) Leverage(R1) = Leverage(R2)但是PRR(R1) > PRR(R2) (3) Leverage(R1) = Leverage(R2)及PRR(R1) = PRR(R2)但是support(R1) > support(R2) (4) Leverage(R1) = Leverage(R2)及PRR(R1) = PRR(R2) 及support(R1) = support(R2)但是R1的 左項項目數量比R2的左項項目少 經過演算法產生的信號數量也許會很龐大,為 了讓使用者在操作上更有效率,所以必須排除掉多 餘或錯誤的信號。前面所提到的四個度量法,系統 讓使用者擇一去做信號中風險因子和症狀相依程 度的評比,根據使用者選擇的度量法,利用其最小 門檻值,過濾掉不符合的信號,再根據值的大小, 由大到小做排序,越大表示該風險因子與症狀愈相 依,表示愈須重視的藥物不良反應。 步驟五、使用者選擇感興趣的條件過濾產生的規則 使用者可以依照自己的喜好下達條件限制,搜 尋出符合條件的規則,例如:只想參考PRR值大於3 的規則。如果探勘的結果不滿意,使用者可以重新 回到參數選擇頁面,重新選擇探勘欄位條件,探勘 新的規則。 3.7 使用者介面 使用者介面分為兩個部分,首先是伺服器端, 後端程式是使用 JSP/Servlet 撰寫,以網頁形式呈 現,並結合 Apache 做為後端的網頁伺服器,在 Windows server 2003 的作業系統下執行。在客戶端 方面,使用者不需要再額外安裝任何軟體,兼顧可 攜性和便利性,只需要透過HTTP 傳輸即可。
4. 實驗結果
在前面已經完整介紹過此系統的演算法及架 構,在此節我們將利用此系統偵測藥物不良反應成 因的信號。系統中所提到的AERS 資料庫以及資料 倉儲是建立在Microsoft SQL Server 2005 資料庫軟體上,此實驗的環境是Inter(R) Core 2 Duo 2.33GHz 的CPU,3G 的記憶體,320G 的硬碟,Windows XP 的作業系統下。我們分別對 AERS 資料庫裡 2004 年、2005 年、2006 年、2007 年所發布的資料做各 別的藥物不良反應成因偵測,排除掉重複和錯誤的 資料,資料的相關資訊如表4。 表 4 AERS 資料庫各年度資料的相關資訊 資料 資料總數 包含藥物 包含症狀 2004 272298 65602 9714 2005 325951 65375 10279 2006 324071 60809 10389 2007 378194 58099 10477 單位:筆 接下來,我們對各年度的資料分別使用本系統 的藥物不良反應成因探勘引擎做偵測,分別考慮藥 物風險因子與全部的風險因子對於藥物不良反應 成因的關係,並針對藥物風險因子所偵測出來的信 號與目前的醫藥文獻做比對,判斷是否有還未被得 知的信號被偵測出來。由本系統所偵測出來的藥物 不良反應成因信號,都只能作為參考之用,也由於 我們並不是醫藥學方面的專家,這些文獻未記載的 信號都還是必須經過專家學者的驗證,才能下最後 的定論。所偵測出來的藥物不良反應信號的結果如 表四。 表 5 AERS 資料庫各年度資料的偵測結果(文獻已記 載欄位與文獻未記載欄位只針對藥物風險因子) 資料 考慮所有風 險因子 只考慮藥物 風險因子 文獻已記載 文獻未記載 2004 321 58 56 2 2005 861 60 59 1 2006 1665 101 99 2 2007 1064 59 59 0 單位:筆 表 6 是以藥物VIOXX為例,列出藥物VIOXX 以 及 其 他 風 險 因 子 的 藥 物 不 良 反 應 信 號 。 藥 物 VIOXX是一種治療關節炎藥物,但是其副作用是會 增加發生心血管疾病的風險,所偵測出來的症狀, 都 是 與 心 血 管 疾 病 有 關 , 都 有 被 記 錄 是 由 藥 物 VIOXX所導致 [9]。ROR值越高,表示該風險因子 對於此症狀的相依程度越高,在資料記錄中,兩者 一起出現的機率越大。 表 6 偵測藥物不良反應成因結果,風險因子選擇年 齡、性別、藥物,度量法選擇通報勝算比(ROR), 以 AERS 資料庫 2006 年為例 年齡 性別 藥物 症狀 次數 ROR
60~ 女 VIOXX CONGESTIVE HEART
FAILURE 1301 26.0163 60~ 女 VIOXX MYOCARDIAL INFARCTION 3432 20.0548 60~ 女 VIOXX CARDIOVASCULAR DISORDER 904 18.392 60~ 女 VIOXX CEREBROVASCULAR ACCIDENT 2799 17.6258 60~ 女 VIOXX CHEST PAIN 2015 15.2303
5. 結論
在本文中,對於探勘與分析藥物不良反應的應 用,我們提出了一個交談式的探勘系統架構,此系 統整合了資料倉儲系統與關聯分類技術,根據蒐集 的AERS 資料庫龐大的歷史資料,建構出資料倉儲 用來支援探勘和分析之用。此系統主要包含兩個功 能,線上分析處理和探勘藥物與不良反應間的關聯 規則,並提供給使用者一個交談式的環境,針對不 同的需求,方便使用者進行多面向的探勘與分析。 目 前 這 個 系 統 的 介 面 設 計 還 在 進 行 的 設 計 與 開 發,不過根據我們初步實驗的結果,此系統確實可 以找出文獻上有紀錄的不良反應,並有少數未記 錄、但值得深入分析的不良反應信號。未來我們將 完成此系統的介面開發,並與醫藥界的專家合作, 實際驗證其實用性,希望能實際運用於藥物的監 測。
6. 參考文獻
[1] 行政院衛生署藥物不良反應通報系統, http://adr.doh.gov.tw/ [2] 魏志軍等,上海市藥品不良反應自發呈報數據 庫定量信號檢測系統的建立,復旦學報,第 33 卷,第 4 期,頁 475-479,2006。[3] Adverse Event Reporting System (AERS) http://www.fda.gov/cder/aers/default.htm
[4] A. Beta, M. Lindquist, I.R. Edwards, S. Olsson, R. Orre, A. Lansner, and R.M. De Freitas, “A bayesian neural network method for adverse drug reaction signal generation,” European Journal of Clinical Pharmacology, vol. 54, no. 4, pp. 315- 321, 1998.
[5] S. Chaudhuri and U. Dayal, “An overview of data warehouse and OLAP technology,” ACM
SIGMOD Record, vol. 26, pp. 65-74, 1997.
[6] W. DuMouchel, “Bayesian data mining in large frequency tables, with an application to the FDA spontaneous reporting system,” The American
Statistician, vol. 53, no. 3, pp. 177-190, 1999.
[7] A.C. Egberts, R.H. Meyboom, and E.P. van Puijenbroek, “Use of measures of disproportionality in pharmacovigilance: three Dutch examples,” Drug Safety, vol. 25, pp. 453-458, 2002.
[8] S.J. Evans, P.C. Waller, S. Davis, “Use of proportional reporting ratios (PRRs) for signal generation from spontaneous adverse drug reaction reports,” Pharmacoepidemiol Drug
Safety, vol. 10, pp. 483-486, 2001.
[9] FDA Center for Drug Evaluation and Research, http://www.fda.gov/cder/drug/infopage/COX2/d efault.htm
[10] D.M. Fram, J.S. Almenoff, and W. DuMouchel, “Empirical bayesian data mining for discovering patterns in post-marketing drug safety,” in
Proceedings of SIGKDD’03, pp. 359-368,
2003.
[11] J. Han and M. Kamber, Data Mining: Concepts
and Techniques, Morgan Kaufmann Publishers,
2004.
[12] J. Han, J. Pei, and Y. Yin, “Mining frequent patterns without candidate generation,” in
Proceedings of 2000 ACM SIGMOD International Conference on Management of Data, pp. 1-12, 2000.
[13] V. Harinarayan, A. Rajaraman, and J.D. Ullman, “Implementing data cubes efficiently,” in
Proceedings of 1996 ACM SIGMOD International Conference on Management of Data, pp. 205-216, 1996.
[14] Y.T. Huang, S.F. Lin, C.C. Chiu, H.Y. Yeh, and V.W. Soo, “Probability analysis on associations of adverse drug events with drug-drug interactions,” in Proceedings of the 7th IEEE
International Conference on Bioinformatics and Bioengineering, pp. 1308-1312, 2007.
[15] W.H. Inmon and C. Kelley, Rdb/VMS:
Developing the Data Warehouse, QED
Publishing Group, Boston, Massachussetts, 1993.
[16] H. Jin, J. Chen, H. He, G.J. Williams, and C. Kelman, and C.M. O’Keefe, “Mining unexpected temporal associations: Applications in detecting adverse drug reactions,” IEEE
Transactions on Information Technology in Biomedicine, 2007.
[17] W.M. Li, J.W. Han, and J. Pei, “CMAR: Accurate and efficient classification based on multiple class-association rules,” in Proceedings
of IEEE International Conference on Data Mining, pp. 369-376, 2001.
[18] Bing Liu Wynne Hsu Yiming Ma, “Integrating classification and association rule mining,” in Proc. KDD, 1998.
[19] R. Orre, A. Lansner, A. Bate, and M. Lindquist, “Bayesian neural networks with confidence estimations applied to data mining,”
Computational Statistics & Data Analysis,
pp.473-493, 2000.
[20] G. Piatetsky-Shapiro, “Discovery, analysis, and presentation of strong rules,” in Knowledge
Discovery in Databases, edited by G.
Piatetsky-Shapiro and W. Frawley, pp. 229-248, AAAI/M1T Press. 1991.
[21] A. Szarfman, S.G. Machado, and R.T. O’Neill, “Use of screening algorithms and computer systems to efficiently signal higher-than- expected combinations of drugs and events in the US FDA’s spontaneous reports database,”
Drug Safety, vol. 25, pp. 381-392, 2002.
[22] The Importance of Pharmacovigilance⎯Safety
Monitoring of medicinal products, World Health
Organization, 2002.
[23] WHO Technical Report No 498, World Health Organization, 1972.