劉偉 彭濤 黃陽
摘要:隨著經濟的發展,越來越多的人參與醫療保險,享受到醫保福利,但醫保欺詐卻給醫療保險基金帶來了巨大的損失。針對傳統的醫保欺詐檢測耗時長、效率低的問題,提出一種結合粒子群算法的加權K-均值的算法,從近30萬條醫療記錄中檢測出疑似欺詐的記錄。加權的K-均值算法將不同的屬性賦予不同的權重值,為了得到一組根據數據的特性所得的權重值,引進權重指標評價函數CFuzziness(w)。當權重指標評價函數取極小值時,得到最優的權重值。采用粒子群優化算法來求解最優的權重值。聚類問題中簇類數目通常由用戶確定,文中則用一種評估聚類的標準來確定最優的聚類數目。實驗證明,算法不僅檢測效率較高,還避免了主觀評價對于檢測的影響。
關鍵詞:K-均值;粒子群優化;權重指標評價函數;聚類;醫保欺詐
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2018)28-0197-03
1 引言
醫療保險是為了補償勞動者因疾病風險造成的經濟損失而建立的一項社會保險制度。通過用人單位與個人繳費,建立醫療保險基金,參保人員患病就診發生醫療費用后,由醫療保險機構對其給予一定的經濟補償。醫療保險欺詐,是指公民、法人或者其他組織在參加醫療保險、繳納醫療保險費、享受醫保險待遇過程中,故意捏造事實、弄虛作假、隱瞞真實情況等造成醫療保險基金損失的行為。
醫療保險欺詐正在給世界各地的公共衛生保健基金造成巨大的損失。據美國Federal Bureau of Investigation(FBI)評估,醫保欺詐每年花費美國納稅人超過80億美元[1]。隨著我國醫保制度推廣范圍不斷擴大,醫保欺詐情況也出現越演越烈的趨勢。據資料顯示,2015年杭州涉騙保案件金額達1300余萬元。許多違法犯罪分子將黑手伸向了醫保基金,違法犯罪的手段日趨隱蔽,方式不斷翻新,甚至出現了參保人與定點醫藥機構勾結共同騙保的情況,嚴重威脅醫保基金的安全。欺詐不僅造成經濟損失,也嚴重阻礙醫療系統提供更為優質和安全的醫療服務給患者。
檢測醫保欺詐是一項重要而又困難的挑戰。傳統的欺詐檢測靠人工稽核和規則庫檢查為主,技術手段相對落后。醫保局審核人員每天進行審核時,要翻閱藥品費、檢查費、治療費、手術費、其他費用、術中用藥、術中材料等,有的醫院藥品費用、檢查費長達數十條、百余條。審核數量巨大、審核條目多,顯然,這樣的方式耗時長,效率低,單靠現有醫保編制人員是無法完成的。另一方面,醫療保險數據增長迅速,已積累海量歷史數據。這些數據有對醫保行業最關鍵的資金數據,還有尚未被利用的病人信息、醫院信息、治療項目和藥方信息等。數據挖掘技術可以幫助醫療保險組織等第三方支付者從成千上萬的索賠中提取有用的知識,識別一個小子集進一步評估和審查是否有欺詐。
本文將結合已有的真實醫保系統中的數據,采用數據挖掘的方法,對醫保數據進行降維處理與屬性選擇,針對兩種醫保欺詐手段,分析它們的表現形式,利用改進的K-均值聚類方法構建相應的檢測模型,并在原始數據集上開展實驗,實驗證明了該模型的有效性以及準確性。
2 相關工作
國外學者對醫保欺詐檢測早有研究。Shin H [2]針對保險索賠單提出一種評分模型,來檢測門診中電子保險索賠的欺詐。論文中提到模型分為二個階段,一是評分量化濫用的程度,二是分割類似的問題模式,二項指標綜合得分高的索賠單就說明很有可能存在欺詐。Tiago P[3]對異常的個人醫療服務提供者的醫療訪問索賠單進行分析,利用CRIS-DM的研究方法得到可疑的索賠數據。文獻詳細講述了不同特征值的選擇,并進行了實驗和分析。MingJian T[4]提出一種非監督和數據驅動的欺詐檢測系統UNISIM,對prescription shoppers(處方購物者)這種類型的欺詐進行自動檢測。該系統整合了特征選擇、聚類、模式識別和異常檢測的技術,對澳大利亞Pharmaceutical Benefits Scheme(PBS)交易型數據庫系統中藥物處方數據進行處理和檢測。
國內醫保起步晚,對醫保欺詐檢測研究也較晚。楊超等[5]使用BP神經網絡對服務提供方進行欺詐檢測。文獻[6]提出一種綜合的欺詐檢測方法,一是分析用戶的行為模式得到欺詐概率,二是用改進的LOF算法(SimLOF算法)得到欺詐概率,將兩種方法得到的欺詐可能性概率,使用Dempster-Shafer Evidence 理論進行結合最終得到欺詐檢測的結果。文獻的實驗數據是從山東省淄博市的醫療保險系統中抽取,實驗表明該方法的效率比其他基準方法高出30%。文獻[7]將離群值異常檢測算法在醫保欺詐檢測中的應用表明離群值檢測算法至少可比甚至明顯優于其他基準檢測方法。文獻[8]針對醫療保險中屢屢出現的違規和欺詐行為提出了一種基于多Agent的醫療保險欺詐系統。在系統中,通過利用Agent的智能性和多Agent的協同性對欺詐行為的檢測做出決策。文獻[9]提出將加權的FCM算法應用在醫保欺詐行為主動發現中,文中從待審核的賬單入手,經聚類處理后初步得到疑似欺詐的賬單記錄,綜合考慮醫生和科室的因素,對賬單進行進一步的人工篩選,最終得到疑似欺詐的賬單。但文中考慮到數據量較大,對數據進行分組,分別得到每組數據的不同的簇類數目,這樣的拆分方法往往忽略數據的內部分布特性,對象所包含的重要信息在拆分過程中縮小化,最終導致算法精度的下降,聚類結果不佳等結果。史徑宇[10]等提出用基于指標權重的聚類分析算法來處理醫保欺詐行為主動發現的問題。文中改進層次聚類算法中的歐式距離,使得不需要提供欺詐樣本點,也能通過模型得到疑似欺詐的記錄,提升了聚類的精度,但文中對于簇類數目的選擇過于主觀,對模型的準確度有影響。
本文針對文獻[9-10]的問題,提出一種改進的K-均值算法,改進聚類算法中將所有因素視為同等重要的弊端,引進權重參數,有效提高聚類效果。對于聚類數目的選擇,本文直接將全部的數據參與聚類,并根據文獻[11]得到合理的聚類數目,避免了簇類數目選擇的主觀性。
3 算法設計
本文中提出的醫保欺詐檢測算法設計,首先是數據收集,通過深入分析數據,結合醫保欺詐特定類型對數據進行預處理,計算加權K-均值中所需的最優權重,再進行聚類,并對聚類結果進行分析。
3.1 數據預處理
醫保數據本身的結構和內容都較為復雜,存在大量的冗余信息和噪聲,嚴重影響數據分析的效率,如何對醫保數據進行降維處理和特征選擇也是醫保數據分析中面臨的一個重要問題。由于數據的敏感性,我們只被允許得到深圳某醫院一個月的報銷數據。本文只考慮患者購買中、西藥等藥品費用,其他治療的費用在本論文中不做研究。
首先用SQL Server 將患者信息表進行存儲和處理,然后將其與費用明細進行連接,得到入保的患者的費用信息。對于一個月這樣的短期時間,欺詐的表現形式有單張賬單消費金額高、一張卡在一定時間內反復多次拿藥。因此最終確定數據預處理的流程如圖1所示。
3.2 加權K-均值算法
預處理過后的數據集設為X={X1,X2,....Xn},其中Xi(1≦i≦n)由m個指標構成,即Xi=(xi1,xi2,...xim),xij是Xi的第j維屬性。傳統的聚類算法描述樣本點數據Xp和Xq在數據集X上的相似程度,通常使用的歐式距離定義為:
從這定義可以清楚地看到,傳統的K-均值算法將所有的指標賦予了相同的權重,沒有考慮實際應用中不同的指標對于具體問題的影響程度,因此改進該歐式距離,稱之為加權歐式距離,定義為:
3.3 屬性評價函數
為了得到wk的值,文獻[12]定義了屬性評價函數[CFuzziness(w)](簡寫為cf(w)),文中提到求得該函數在一定條件下的最優解,就能得到一組不依賴已有經驗,只依賴所給數據的權重值。由文獻[11]可知,在普通的歐式距離下,定義樣本點數據Xp和Xq的相似度函數[ρpq],定義為:
在相似性關系不變(如果[ρpq]>0.5,則[ρpq(w)]>0.5;如果[ρpq]<0.5,則[ρpq(w)]<0.5)的前提下,采用加權的歐式距離后,相似性度量相應進行變化,定義為(4):
其中β的取值為[0,1]的常數,通過調整β的值,使得[ρpq(w)]能近似正態分布散落在[0,1]內,文獻中給出了β的近似值為:
由文獻[12]中可知,為了使聚類模糊性較小,引進了屬性權重評價函數,其定義為(6):
文獻[13]給出了該評價函數的一些性質,當該函數取極小值時,滿足相似([ρpq(w)]>0.5)的對象更相似([ρpq(w)]→1),不相似([ρpq(w)]<0.5)的對象更不相似([ρpq(w)]→0)。為了最小化(6),選用粒子群優化算法來求解。
3.4 粒子群優化算法
粒子群優化算法(Particle Swarm optimization,PSO)是通過模擬鳥群覓食行為而發展起來的一種基于群體協作的隨機搜索算法。文獻[14]詳細講述了粒子群優化算法的相關原理。
假設一個D維的目標搜索空間中,有N個粒子組成一個群落,其中第i個粒子用一個D維的向量表示xi={xi1,xi2,..xiD},i=1,2..N來表示,其”飛行”速度也是一個D維的向量,記為vi={vi1,vi2,...viD},i=1,2,..N;第i 個粒子迄今為止搜索到的最優位置稱為個體極值,記為pbest={pi1,pi2,..piD},i=1,...N;迄今為止整個粒子群搜索到的最優位置稱為全局極值,記為gbest={pg1,pg2,..pgD},g=1,...N,;粒子在飛行中不斷追蹤pbest和gbest,并根據公式(7)和(8)來更新自己的速度和位置:
(8)
公式(7)中的w表示前一時刻速度的權重,r1,r2是一個0到1之間的隨機數,c1, c2 是學習因子。
3.5 求解w
利用粒子群優化算法和[CFuzziness(w)]得到w的算法流程如下:
第1步.初始化種群規模N,各粒子速度vi,粒子位置xi;
第2步.所有粒子計算[CFuzziness(w)]的值作為自己的適應度值fit[i];
第3步.比較各粒子的適應度值fit[i]與個體極值pbest(i)的大小,如果fit[i] 第4步.比較各粒子的適應度值fit[i]與全局極值gbest的大小,如果fit[i] 第5步.各粒子根據公式(7)(8)更新自己的vi和xi; 第6步.滿足最小誤差退出循環,否則返回第2步。 4 實驗結果及分析 4.1 實驗環境 本文實驗所用軟件工具有Eclipse和MS SQL Server2008R。 4.2 數據 原始數據有6個表格,其中包括病人資料表,費用明細表,醫囑表,醫囑子類表,核算分類表,患者費別表,共30萬條數據。論文對費用明細表、病人資料表進行處理。刪除病人信息表中無關字段、有明顯錯誤以及有缺失項的記錄,保留病人ID,病人性別,病人醫保卡號字段;刪除費用明細表中無關字段,保留病人科室,病人ID,藥品單價,藥品數量,藥品總價,賬單號字段;病人信息表與費用表明細表進行連接,通過計算單張賬單費用,拿藥次數,得到字段有:賬單號,病人ID,拿藥次數,科室,總價。考慮到每個科室的消費情況不同,所以將科室引入。
預處理后用于聚類分析的數據有5萬條,其中有經人工核定為欺詐的記錄有89條。采用z-score方法將數據標準化到[-1,1]區間;利用PSO求得權重值分別為,科室權重:2.9682,拿藥次數權重:2.6145,總價權重:2.9151。
4.3 分析
圖3中Y軸值通過計算聚類內緊密度除以聚類間分離度得到[11]。從圖中可以看到曲線是呈下降趨勢。當k取50左右時y值變化很小了;根據實際聚類情況,本文取K=48為最佳聚類數目,并對聚類結果進行分析。
K取48時,得到類中數目最少的一個簇中所包含的數據有84條記錄。部分記錄如表1所示。從部分實驗結果表中可以看到,序號1,2,3,9的病人拿藥次數較少,但是單張賬單的總費用都是很高的;序號4,5,6,7,8的病人,拿藥次數多,單張賬單的費用也高。這些實驗結果數據符合欺詐檢測的目標。
這84條記錄中有60條記錄是之前被人工審核為欺詐的記錄,因此該算法的真陽性概率接近72%。從實驗結果可以得知,該算法對待審核的賬單數據進行檢測,檢測效率較高,能大大縮短檢測的時間,提高工作人員的效率。
5 結束語
本文對原始的醫療數據進行數據預處理,根據特定欺詐的表現形式,提取特征屬性值,提出一種加權K-均值算法,引入屬性評價函數CFuzziness(w),利用PSO算法來求解最優的w。對于聚類數目地選擇,本文利用聚類內緊密度除以聚類間分離度作為評估聚類質量的標準,得到最優的聚類數目。實驗表明本文提出的方法能很高效的將疑似欺詐的記錄檢測出來,過濾掉不符合單筆賬單數目過高,拿藥次數多的特征的記錄,大大提高了工作人員地審核效率,節省了工作人員的時間,減少了醫保基金的損失。
參考文獻:
[1] Office U S G A. Medicare Fraud, Waste, and Abuse: Challenges and Strategies for Preventing Improper Payments[J]. Government Accountability Office Reports, 2010.
[2] Shin H, Park H, Lee J, et al. A scoring model to detect abusive billing patterns in health insurance claims[J]. Expert Systems with Applications, 2012, 39(8): 7441-7450.
[3] TP Hillerman,RN Carvalho,ACB Reis.Analyzing Suspicious Medical Visit Claims from Individual Healthcare Service Provider Using K-means Clustering[M].Switzerland:Springer International Publishing,2015:191-205.
[4] MingJian Tang,B.Sunude.U.Mendis,D.Wayne Murray,et al.Unsupervised fraud detection in MedicareAustralia[C].Proceedings of the Ninth Australasian Data Mining Conference-Volume 121, 2011: 103-110.
[5] 楊超.基于BP神經網絡的健康保險欺詐識別研究[D]. 青島: 青島大學, 2014.
[6] Chengfei Sun,Qingzhong Li, Lizhen Cui.An Effective Hybrid Fraud Detection Method[C].International Conference on Knowledge Science, Engineering and Management,2015: 563-574.
[7] 樓磊磊.醫療保險數據異常行為檢測算法和系統[D].杭州:浙江大學,2015.
[8] 劉舒舒,楊鶴標.基于多Agent的醫保欺詐檢測系統的研究[J].計算機技術與發展.2013,23(12):171-174.
[9] 李華,陳寧江.基于PSO的WFCM算法及其在醫保欺詐行為主動發現中的應用[J].廣西科學院學報.2017, 33(1):32-39.
[10] 史徑宇,冉松靈,李晨萍.醫保欺詐行為的主動發現[J].數學建模及其應用,2016,5(1):54-59.
[11] 賈雙成,王奇.數據挖掘核心技術揭秘[M].北京:機械工業出版社,2015.
[12] 王熙照,王麗娟,王利偉.傳遞閉包聚類中的模糊性分析[J].計算機工程與應用,2003,39(18):92-94.|
[13] 王麗娟,關守義,王曉龍,等.基于屬性權重的Fuzzy C Mean算法[J].計算機學報,2006,29(10):1797-1803.
[14] 張麗平.粒子群優化算法的理論及實踐[D].杭州:浙江大學, 2005.
【通聯編輯:代影】