張 毅 朱凌海
南京郵電大學(xué)物聯(lián)網(wǎng)學(xué)院 江蘇省南京市 210023
離群點檢測算法在藥品不良反應(yīng)異常信號挖掘中的應(yīng)用
張 毅 朱凌海
南京郵電大學(xué)物聯(lián)網(wǎng)學(xué)院 江蘇省南京市 210023
將藥品分類的前提下,以藥品為對象,不良反應(yīng)為屬性,PRR值為參數(shù),利用局部離群因子檢測算法得到藥品和其對應(yīng)的離群因子。利用我國藥品不良反應(yīng)監(jiān)測數(shù)據(jù)進行仿真實驗,結(jié)果表明該離群點檢測算法可以較好地用于藥品不良反應(yīng)異常信號的挖掘。
藥品不良反應(yīng);離群點;信號檢測
在藥品不良反應(yīng)(adverse drug reaction,ADR)信號挖掘中,信號被WHO定義為:未知的或是尚未完全證明的藥物與不良反應(yīng)事件可能有因果關(guān)系的信息,而藥品不良反應(yīng)指的是合格的藥品在正常使用下出現(xiàn)的無關(guān)的或者意外的有害反應(yīng)[1]。目前比較普遍的ADR信號檢測方法有報告比值比法(POR)、比例報告法(PRR)、相對比值比法(RR)、MHRA法、BCPNN法等[2]。不同的挖掘方法原理不盡相同,比例報告法(PRR)的原理:PRR=數(shù)據(jù)庫中目標藥物引起目標事件的實際報告比/數(shù)據(jù)庫中目標事件的背景報告比,當PRR顯著大于2時,則認為該目標藥物-目標事件為一信號[3]。
在樣本空間中,與其他樣本點的一般行為或特征不一致的點,我們稱為離群點,也稱為孤立點。離群點有可能是錯誤的數(shù)據(jù),也可能是非常有價值的信息。在藥品不良反應(yīng)信號檢測中,我們往往注重了大量普遍存在的信號,而忽略了異常信號的存在。目前,國內(nèi)對藥品不良反應(yīng)的相關(guān)研究大多是藥品不良反應(yīng)信號檢測,缺乏藥品不良反應(yīng)信號中異常信號的挖掘研究。從統(tǒng)計學(xué)意義看,這些異常信號即為離群點,具有與眾不同的特征,對藥品的危害研究有極其重要的參考價值。因此,對藥品不良反應(yīng)信號的進行離群點檢測具有很大的研究價值。
離群點的檢測方法有基于統(tǒng)計的離群點檢測方法、基于深度的離群點檢測方法、基于偏移的離群點檢測方法、基于聚類的離群點檢測算法和基于密度的離群點檢測算法等[4]?;诿芏鹊碾x群點檢測算法對密度的計算是通過點的第k領(lǐng)域來計算的,而不是全局計算,這樣就不會因為數(shù)據(jù)密度過于分散或者過于密集而將正常點判定為離群點了,不會受到數(shù)據(jù)的波動影響[5]。本文將利用基于密度的離群點檢測算法來研究藥品不良反應(yīng)數(shù)據(jù)中的離群點。
本次研究的數(shù)據(jù)來自我國近兩年的藥品不良反應(yīng)監(jiān)測數(shù)據(jù),研究對象為藥品不良反應(yīng)信號。為挖掘藥品不良反應(yīng)信號的異常點,在基于PRR法檢測的基礎(chǔ)上將數(shù)據(jù)轉(zhuǎn)換成藥品為對象,不良反應(yīng)為屬性,PRR值為參數(shù)的行列組合。表1為數(shù)據(jù)示例。
表1:診斷類的藥品-不良反應(yīng)數(shù)據(jù)示例
表2:免疫系統(tǒng)類藥物計算結(jié)果
表3:每類藥及異常點個數(shù)
本次研究采用局部離群因子檢測算法(Local Outlier Factor,LOF),該算法是一種具有代表性的基于密度的離群點檢測算法,主要是通過比較每個點p與其領(lǐng)域點的密度來判斷,如果點p的密度越低,表明它的離群性越大,就可能被判斷為異常點,反之。至于每個點的密度,是通過點與點之間的距離來計算的,距離越遠,密度就越低,離群性就越大,反之。通過引入LOFk(p)局部離群點因子來表示點p是否為離群點,即:
表4:部分異常點及其對應(yīng)的不良反應(yīng)
圖1:算法計算的整體流程圖
圖2:免疫系統(tǒng)類藥物散點圖
其中:在樣本空間中,存在對象o,它與對象p之間的距離基座d(p,o),也是歐幾里得距離;對于正整數(shù)k,對象p的第k距離:k-distance(p)=max|||p-o|||;與對象p之間的歐幾里得距離小于等于對象的第k距離的集合稱為對象p的第k距離領(lǐng)域,記作:Nk(p);對象p與對象o之間的可達距離:reachdist(p,o)=max{kdistance(o),||p-o||};局部可達密度即對象p的k最近鄰點的平均可達密度的倒數(shù)記作:
算法的主要流程如圖1所示。
將樣本集合和正整數(shù)k帶入算法中計算,以結(jié)果中的離群點因子lof為判斷離群點的標準,若lof接近于1,則表示點p的密度較高,不是離群點;若lof遠大于1,則表示p的密度較低,認為其是離群點。
算法的實現(xiàn)采用計算機編程的方式,編程語言為Java。將藥品名稱作為樣本點,不良反應(yīng)名稱為樣本點的維度,PRR值為樣本變量值,依次計算對象的第k距離、歐幾里得距離、可達距離以及可達密度,得出的結(jié)果為每類藥品的各個藥品名稱,以及它們離群因子lof。對于正整數(shù)k是本算法中唯一一個可變參數(shù),需要通過多次回歸來達到期望的結(jié)果。
3.1 相關(guān)變量的取值
結(jié)果的判斷很簡單,判斷離群因子lof即可,如果離群因子lof遠離1,說明這種藥品就可能是異常點。而將數(shù)據(jù)帶入程序得出實驗結(jié)果的可變因素有算法中的正整數(shù)k,用以計算第k距離,所以k的取值,也決定著實驗的結(jié)果;例如將抗變態(tài)反應(yīng)這一類藥物帶入程序中,k取10時,實驗結(jié)果中有茶苯海明和氯苯那敏兩種藥品的離群因子lof相對其他藥品遠遠大于1,本文判斷它們?yōu)殡x群點;而當k取5時,有5種藥品被判定為異常點,而此類藥品才14種藥物,所以k取5不合理。所以k的取值需要根據(jù)此類藥品的數(shù)量和被判定為異常點的數(shù)量,通過多次回歸的方式,來取得最優(yōu)解,以此達到離群點檢測算法的最優(yōu)解。
3.2 結(jié)果的驗證
將每個類別的藥品及其不良反應(yīng)信號數(shù)據(jù)作為樣本作為LOF算法的數(shù)據(jù),并對k值進行多次回歸,得到的結(jié)果為藥品名稱以及離群點因子。例如免疫系統(tǒng)類藥物帶入算法中,當k取5時得出的結(jié)果如表2所示。
由表2能夠看出環(huán)孢素的離群因子為20.3817,相對其他幾個藥品的離群因子而言,其遠遠高于了1,在此類藥品中環(huán)孢素可以看作是一個異常點。在已經(jīng)整理好的免疫系統(tǒng)類藥物的交叉表的散點圖(見圖2,方形代表環(huán)孢素)中,可以看出圖中最明顯的異常點確實為環(huán)孢素。查詢國家食品藥品監(jiān)督管理局的信息通報和藥品說明書,可以知道環(huán)孢素會引起牙齦增生、血尿素氮升高等異常反應(yīng),異于同類藥品的不良反應(yīng)。由此得知,在免疫系統(tǒng)類藥物中,環(huán)孢素確實是一個異常點。
同理,將其他類藥品的數(shù)據(jù)代入算法中,判斷其離群因子,得出每類藥品的異常點數(shù),如表3所示。
尋找每類藥品的異常點,查詢相關(guān)資料找出其對應(yīng)的不良反應(yīng)進行驗證,得到藥品和其不良反應(yīng)組合的離群點數(shù)據(jù),如表4所示。
本文利用基于密度的離群點檢測算法對我國藥品不良反應(yīng)數(shù)據(jù)的信號進行了離群點檢測,并對檢測結(jié)果進行了驗證和分析。研究表明,利用離群點檢測算法對藥品不良反應(yīng)信號進行異常點挖掘是可行的。
[1]國家食品藥品監(jiān)督管理局.WHO藥品不良反應(yīng)術(shù)語集,2002,6,8.
[2]李嬋娟.藥品不良反應(yīng)信號檢測方法理論及應(yīng)用研究[D],2008.
[3]劉媛,程能能,杜文民,等.上海市藥品不良反應(yīng)自發(fā)呈報數(shù)據(jù)庫中神經(jīng)系統(tǒng)藥物不良反應(yīng)的信號檢測[J].中國臨床藥學(xué)雜志,2010(02):85-88.
[4]胡婷婷.數(shù)據(jù)挖掘中的離群點檢測算法研究[D],.2014.
[5]楊茂林.離群點檢測算法研究[D].華中科技大學(xué),2012.
南京郵電大學(xué)大學(xué)生創(chuàng)新訓(xùn)練計劃項目(SYB2015009)。