陳永紅,廖欣,鄭欣,陳雷霆,4
(1.電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,成都 611731;2.東莞成電金盤軟件技術(shù)有限公司,東莞 523808;3.四川大學(xué)華西婦產(chǎn)兒童醫(yī)院,成都 611731;4.電子科技大學(xué)廣東電子信息工程研究院,東莞 523808)
面向健康大數(shù)據(jù)的數(shù)據(jù)清洗技術(shù)
陳永紅1,2,廖欣3,鄭欣1,陳雷霆1,4
(1.電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,成都 611731;2.東莞成電金盤軟件技術(shù)有限公司,東莞 523808;3.四川大學(xué)華西婦產(chǎn)兒童醫(yī)院,成都 611731;4.電子科技大學(xué)廣東電子信息工程研究院,東莞 523808)
提出一套完整的健康大數(shù)據(jù)清洗方案。首先剔除原始數(shù)據(jù)集中的重復(fù)數(shù)據(jù),然后,對(duì)數(shù)據(jù)集進(jìn)行完整性、有效性及一致性驗(yàn)證,最后,使用基于密度的改進(jìn)孤立點(diǎn)檢測(cè)算法剔除局部孤立點(diǎn)及全局孤立點(diǎn)。為驗(yàn)證所提方案的有效性,使用Tri-training算法在健康大數(shù)據(jù)集上進(jìn)相關(guān)實(shí)驗(yàn)。實(shí)驗(yàn)表明,所提數(shù)據(jù)清洗方案能夠同時(shí)識(shí)別局部孤立點(diǎn)和全局孤立點(diǎn),從而顯著提高后續(xù)數(shù)據(jù)分類模型的性能。
基于健康大數(shù)據(jù)的關(guān)鍵共性技術(shù)研究的企業(yè)科技特派員工作站建設(shè)(No.2014A090906004)
隨著大數(shù)據(jù)時(shí)代的到來,海量數(shù)據(jù)的不斷劇增給醫(yī)療健康領(lǐng)域帶來了深刻變革[1]。醫(yī)療健康行業(yè)可通過大數(shù)據(jù)技術(shù)的支持,實(shí)現(xiàn)對(duì)現(xiàn)有資源的整合和重新調(diào)整,提高行業(yè)運(yùn)行效率,挖掘產(chǎn)業(yè)巨大潛力[2]。然而現(xiàn)有的數(shù)據(jù)清洗技術(shù)方案對(duì)健康大數(shù)據(jù)適應(yīng)性較差,嚴(yán)重影響了數(shù)據(jù)挖掘的效率,因此,針對(duì)健康大數(shù)據(jù)的清洗已經(jīng)成為數(shù)據(jù)分析過程中必須面對(duì)的問題[3]。
原始采集的健康大數(shù)據(jù)通常具有不完整性、不一致性和內(nèi)容模糊性,很難能夠直接滿足數(shù)據(jù)分析的要求[4]。首先,健康大數(shù)據(jù)集中存在著大量的重復(fù)數(shù)據(jù),即在原始數(shù)據(jù)集中同一條數(shù)據(jù)出現(xiàn)了兩次或兩次以上[5]。其次,原始數(shù)據(jù)集中很多數(shù)據(jù)信息不全,存在某些記錄屬性值丟失的情況,造成數(shù)據(jù)不完整[6]。同時(shí),由于健康大數(shù)據(jù)的多元采集方式,不同系統(tǒng)采集的數(shù)據(jù)缺乏統(tǒng)一標(biāo)準(zhǔn)的定義方式,導(dǎo)致各系統(tǒng)間的數(shù)據(jù)不一致。此外,大數(shù)據(jù)本身還存在著一部分不符合預(yù)先定義的規(guī)則或約束條件的數(shù)據(jù)和不符合一般模型的數(shù)據(jù),這些異常數(shù)據(jù)也會(huì)給后續(xù)的大數(shù)據(jù)分析造成干擾[7]。
針對(duì)健康大數(shù)據(jù)的清洗已經(jīng)成為大數(shù)據(jù)分析中必須面對(duì)的問題。通過分析健康大數(shù)據(jù)所面臨的挑戰(zhàn),針對(duì)其特點(diǎn),提出一套完整的數(shù)據(jù)清理方案,并對(duì)相關(guān)算法進(jìn)行了改進(jìn)。實(shí)驗(yàn)表明,該方案顯著提高了后續(xù)數(shù)據(jù)分類模型的性能。
本節(jié)針對(duì)現(xiàn)有算法進(jìn)行改進(jìn),提出新的健康大數(shù)據(jù)清洗方案,使之能更有效地對(duì)健康大數(shù)據(jù)進(jìn)行清洗。
2.1 數(shù)據(jù)清洗流程
所提數(shù)據(jù)清洗方案包含4個(gè)步驟:首先,檢查數(shù)據(jù)集,剔除重復(fù)數(shù)據(jù)。然后,對(duì)數(shù)據(jù)的完整性進(jìn)行驗(yàn)證,以提高分析結(jié)果的準(zhǔn)確率。接著,對(duì)數(shù)據(jù)的有效性、一致性進(jìn)行檢驗(yàn),從而降低不合格數(shù)據(jù)對(duì)后續(xù)數(shù)據(jù)分析造成的影響。最后,進(jìn)行孤立點(diǎn)檢測(cè)。算法流程如圖1所示,具體步驟如下。
(1)清洗重復(fù)數(shù)據(jù)。在數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫時(shí),使用主鍵和聯(lián)合主鍵唯一性限制,完成對(duì)重復(fù)數(shù)據(jù)的清洗。
(2)數(shù)據(jù)完整性檢查。對(duì)于含有缺損值的數(shù)據(jù)項(xiàng),采用均值估算法處理,將該數(shù)據(jù)項(xiàng)前n位數(shù)據(jù)的均值作為其缺損值填補(bǔ)。
(3)數(shù)據(jù)有效性、一致性驗(yàn)證。根據(jù)專家規(guī)則,確定各屬性項(xiàng)的合理取值范圍及統(tǒng)一標(biāo)準(zhǔn)的定義方式,對(duì)不同系統(tǒng)間的數(shù)據(jù)進(jìn)行有效性和一致性檢驗(yàn),剔除不滿足約束條件的記錄,將不同定義方式的屬性項(xiàng)按專家規(guī)則進(jìn)行統(tǒng)一。
(4)孤立點(diǎn)檢測(cè)及刪除。在數(shù)據(jù)數(shù)據(jù)清洗過程中,孤立點(diǎn)屬于干擾信息或異常數(shù)據(jù),需要?jiǎng)h除。通過孤立點(diǎn)檢測(cè)減少或消除孤立點(diǎn),并避免有效信息丟失[8]。針對(duì)該步處理,提出基于密度的孤立點(diǎn)檢測(cè)改進(jìn)算法,算法細(xì)節(jié)如2.2節(jié)所述。
圖1 大數(shù)據(jù)數(shù)據(jù)清洗算法流程
2.2 基于密度的孤立點(diǎn)檢測(cè)的改進(jìn)算法
基于密度的孤立點(diǎn)檢測(cè)算法在孤立點(diǎn)檢測(cè)中得到了普遍應(yīng)用。該算法根據(jù)對(duì)象所處區(qū)域的密度來判定其是否為孤立點(diǎn)[9-10],對(duì)檢測(cè)局部孤立點(diǎn)有著很好的處理效果,然而對(duì)于全局孤立點(diǎn)卻不太敏感,無法有效檢測(cè)。其中,密度定義為到k個(gè)最近鄰的平均距離的倒數(shù)[11],密度較低區(qū)域中的對(duì)象即為孤立點(diǎn)。本文針對(duì)此缺陷以及健康大數(shù)據(jù)的特點(diǎn)對(duì)上述算法進(jìn)行了改進(jìn),使之能同時(shí)識(shí)別局部孤立點(diǎn)和全局孤立點(diǎn)。改進(jìn)孤立點(diǎn)算法的流程如圖2所示,具體步驟如下。
圖2 基于密度的孤立點(diǎn)檢測(cè)改進(jìn)算法流程
(1)原始數(shù)據(jù)集的歸一化。健康數(shù)據(jù)各項(xiàng)參數(shù)的量綱不同,使用原始數(shù)據(jù)直接計(jì)算,會(huì)造成量綱較大的參數(shù)對(duì)結(jié)果的影響顯著提高,與實(shí)際情況不符。故在將原始數(shù)據(jù)集用于計(jì)算前,應(yīng)對(duì)數(shù)據(jù)集各數(shù)據(jù)項(xiàng)進(jìn)行歸一化處理。
對(duì)原始數(shù)據(jù)集進(jìn)行min-max標(biāo)準(zhǔn)化,使各屬性項(xiàng)值映射到[0,1]之間,轉(zhuǎn)換函數(shù)如下:
其中max是x所在列的最大值,min是x所在列的最小值。
(2)計(jì)算任意點(diǎn)Xi與其他點(diǎn)Yj的歐幾里得距離。Xi與Yj是m維空間內(nèi)的兩個(gè)點(diǎn),它們的歐氏距離的計(jì)算方式如下:
(3)對(duì)Xi到其他點(diǎn)的歐幾里得距離進(jìn)行升序排序,找到前k位的點(diǎn)(即離Xi最近的k個(gè)點(diǎn)),加入到Xi的k-鄰域 Ωik中,并得到 Xi的 k 距離 k-d(Xi)( k-鄰域中各點(diǎn)到Xi歐氏距離的最大值),即:
同時(shí),找到最后n位的點(diǎn)(即離Xi最遠(yuǎn)的n個(gè)點(diǎn)),加入到Xi的n-最遠(yuǎn)域Ωik中,并給n-最遠(yuǎn)域Ωik中各點(diǎn)的得票數(shù)加一,即:
這意味著對(duì)于Xi而言,離它最遠(yuǎn)的這n個(gè)點(diǎn)最有可能成為全局孤立點(diǎn)。對(duì)于原始數(shù)據(jù)集而言,得票越高的點(diǎn),成為全局孤立點(diǎn)的可能性越大。
(4)計(jì)算每個(gè)點(diǎn)Xi的可達(dá)密度。首先計(jì)算得到Xi的k-鄰域Ωik中每個(gè)點(diǎn)Zj的可達(dá)距離Reach()Zj:Zj的 k-距離與 Zj到 Xi的歐氏距離 d( )Xi,Zj的較大值,即:
隨后計(jì)算Xi的可達(dá)密度的 k-鄰域中每個(gè)點(diǎn)Zj的可達(dá)距離之和的倒數(shù)與k的乘積,即:
(5)計(jì)算Xi的局部離群點(diǎn)因子鄰域中各點(diǎn)的可達(dá)密度的可達(dá)密度的比值的均值,即:
(6)將各點(diǎn)的局部離群點(diǎn)因子進(jìn)行排序,根據(jù)設(shè)定的閾值進(jìn)行判定。設(shè)置局部離群點(diǎn)因子閾值VALUE與全局孤立點(diǎn)閾值Ticket,在第一次的篩選中,離群點(diǎn)因子大于VALUE的點(diǎn)即為局部離群點(diǎn)。
(7)在第二次的篩選中,得票數(shù)超過閾值Ticket的點(diǎn)即為全局孤立點(diǎn)。VALUE值與Ticket值的確定都與具體樣本的大小和取值分布有關(guān),經(jīng)過多次試驗(yàn),調(diào)整閾值,能夠較好的實(shí)現(xiàn)剔除局部和全局孤立點(diǎn)的目的。因子閾值VALUE和n、得票數(shù)Ticket,來識(shí)別局部孤立點(diǎn)和全局孤立點(diǎn)。各參數(shù)設(shè)定表4所示:
表2 原始算法數(shù)據(jù)清洗后部分?jǐn)?shù)據(jù)表
3.1 實(shí)驗(yàn)設(shè)置
(1)實(shí)驗(yàn)數(shù)據(jù)
本實(shí)驗(yàn)所用數(shù)據(jù)包括原始數(shù)據(jù)集、原始算法數(shù)據(jù)清洗后的數(shù)據(jù)集、改進(jìn)算法數(shù)據(jù)清洗后的數(shù)據(jù)集。本文采取的原始數(shù)據(jù)集為肝病檢測(cè)指標(biāo)數(shù)據(jù)集“Indian Liver Patient Dataset(ILPD)”,包含各項(xiàng)生理指標(biāo) 11 項(xiàng),經(jīng)過數(shù)據(jù)清洗后,剔除的異常點(diǎn)約占總數(shù)據(jù)的18%。
原始數(shù)據(jù)部分?jǐn)?shù)據(jù)如表1所示:
表3 改進(jìn)算法數(shù)據(jù)清洗后數(shù)據(jù)部分?jǐn)?shù)據(jù)表
表1 原始數(shù)據(jù)集部分?jǐn)?shù)據(jù)表
原始算法數(shù)據(jù)清洗過后部分?jǐn)?shù)據(jù)如表2所示。
改進(jìn)算法數(shù)據(jù)清洗過后部分?jǐn)?shù)據(jù)如表3所示。
(2)關(guān)鍵參數(shù)設(shè)定
按照2.1中(1)-(3)中所述方法對(duì)原始數(shù)據(jù)集進(jìn)行重復(fù)數(shù)據(jù)清理及完整性檢查、有效性和一致性的驗(yàn)證后,將處理過后的數(shù)據(jù)用于改進(jìn)后的孤立點(diǎn)檢測(cè)算法,進(jìn)行孤立點(diǎn)檢測(cè)。在(4)中,分別設(shè)定參數(shù)k、離群點(diǎn)
表4 參數(shù)設(shè)定表
3.2 實(shí)驗(yàn)結(jié)果及分析
本文采用Tri-training算法進(jìn)行驗(yàn)證。Tri-training是半監(jiān)督算法,通過訓(xùn)練一部分有標(biāo)簽數(shù)據(jù),給未標(biāo)簽數(shù)據(jù)進(jìn)行標(biāo)記,然后使用測(cè)試數(shù)據(jù)檢驗(yàn)其正確率[12],故而噪聲數(shù)據(jù)對(duì)其結(jié)果影響比較大。本文將實(shí)驗(yàn)分為兩個(gè)部分,一部分為局部孤立點(diǎn)檢測(cè)部分,主要對(duì)比未數(shù)據(jù)清洗的錯(cuò)誤率與原始算法(僅檢測(cè)局部孤立點(diǎn))的錯(cuò)誤率來驗(yàn)證數(shù)據(jù)清洗方案的有效性;第二部分為在局部孤立點(diǎn)檢測(cè)過后的數(shù)據(jù)集上進(jìn)行全局孤立點(diǎn)檢測(cè),通過對(duì)比原始算法的錯(cuò)誤率與改進(jìn)算法后的錯(cuò)誤率來驗(yàn)證改進(jìn)算法的有效性。
(1)局部孤立點(diǎn)檢測(cè)
由于當(dāng)k與VALUE取值不當(dāng)時(shí),“孤立點(diǎn)”太多,造成過擬合,故經(jīng)試驗(yàn)后,取k值為5到8,步長為1,VALUE從1.1到1.4,步長為0.05,經(jīng)Tri-training算法驗(yàn)證的部分結(jié)果如表5(原始數(shù)據(jù)經(jīng)Tri-training算法驗(yàn)證錯(cuò)誤率為0.2906):
表5 原始算法驗(yàn)證結(jié)果表
表6 改進(jìn)算法驗(yàn)證結(jié)果表
(2)全局孤立點(diǎn)檢測(cè)
根據(jù)上表,可以看到當(dāng)k值不同時(shí),所對(duì)應(yīng)的VALUE值不同,錯(cuò)誤率也不同。當(dāng)k值不同時(shí),取使錯(cuò)誤率最低的VALUE值,取n值為8到11,步長為1,固定Ticket值為10(由于當(dāng)Ticket值過大時(shí)會(huì)造成部分全局孤立點(diǎn)無法被檢測(cè)出,Ticket值過小時(shí),會(huì)有一部分非全局孤立點(diǎn)被誤認(rèn)為是全局孤立點(diǎn),且Ticket小范圍的變動(dòng)對(duì)結(jié)果影響不大,經(jīng)試驗(yàn)后當(dāng)Ticket取值為10時(shí)能取得不錯(cuò)的效果),經(jīng)Tri-training算法驗(yàn)證的部分結(jié)果見表6。
調(diào)整各參數(shù)取值,使得在k取不同值時(shí),錯(cuò)誤率降到最低。改進(jìn)算法前后最小錯(cuò)誤率對(duì)比如圖3所示:
圖3 改進(jìn)算法前后最小錯(cuò)誤率對(duì)比圖
分析實(shí)驗(yàn)部分(1)與(2)的結(jié)果可知,使用Tri-training對(duì)原始數(shù)據(jù)集、原始算法數(shù)據(jù)清洗后的數(shù)據(jù)集和改進(jìn)算法數(shù)據(jù)清洗后的數(shù)據(jù)集進(jìn)行驗(yàn)證,最低錯(cuò)誤率分別為:0.2906、0.1801、0.1111,因此,可得到如下信息:
首先,經(jīng)數(shù)據(jù)清洗后,最低錯(cuò)誤率從0.2906降低到0.1801,降幅38.02%,驗(yàn)證了數(shù)據(jù)清洗方案的有效性。故本文所提出的數(shù)據(jù)數(shù)據(jù)清洗方案有著較好的效果,數(shù)據(jù)清洗后的數(shù)據(jù)對(duì)大數(shù)據(jù)分析的性能有著顯著的提高。
其次,改進(jìn)后的算法,經(jīng)參數(shù)調(diào)整后,最低錯(cuò)誤率從算法改進(jìn)前的 0.1801降低到了 0.1111,降幅38.31%,算法性能有著明顯的提升。證明了改進(jìn)后的算法能夠很好的識(shí)別全局孤立點(diǎn),并極大提高大數(shù)據(jù)分析的效果,驗(yàn)證了改進(jìn)算法的有效性。
本文將數(shù)據(jù)清洗技術(shù)應(yīng)用到健康大數(shù)據(jù)上,首先介紹了健康大數(shù)據(jù)所面臨的挑戰(zhàn),然后根據(jù)其特點(diǎn)提出了一套完整可行的大數(shù)據(jù)清理方案,并針對(duì)該方案中孤立點(diǎn)檢測(cè)算法所存在的不足進(jìn)行改進(jìn),在檢測(cè)局部孤立點(diǎn)的同時(shí)也能檢測(cè)出全局孤立點(diǎn)。最后通過使用基于Tri-training的半監(jiān)督分類模型進(jìn)行檢驗(yàn),實(shí)驗(yàn)結(jié)果驗(yàn)證了該健康大數(shù)據(jù)清洗方案的可行性與改進(jìn)算法的有效性。
參考文獻(xiàn):
[1]卿蘇德,吳博.大數(shù)據(jù)時(shí)代亟需強(qiáng)化數(shù)據(jù)清洗環(huán)節(jié)的規(guī)范和標(biāo)準(zhǔn)[J].世界電信,2015(7):55-60.
[2]陽娜.大數(shù)據(jù)助力健康產(chǎn)業(yè)之路[J].金融世界,2015(7):106-107.
[3]黃健青,黃浩.Web日志分析中數(shù)據(jù)數(shù)據(jù)清洗的設(shè)計(jì)與實(shí)現(xiàn)[J].河南科技大學(xué)學(xué)報(bào)自然科學(xué)版,2009,30(5):45-48.
[4]Groves P,Kayyali B,Knott D,et al.The"Big Data"Revolution in Healthcare.Accelerating Value and Innovation[J].Mckinsey&Company,2013:4,13-16.
[5]欒江.數(shù)據(jù)質(zhì)量控制:數(shù)據(jù)數(shù)據(jù)清洗研究、設(shè)計(jì)與實(shí)現(xiàn)[D].四川大學(xué),2004.
[6]梅亮,葛世倫,閆仁武.數(shù)據(jù)清洗技術(shù)在餐飲營業(yè)數(shù)據(jù)庫中的實(shí)證應(yīng)用[J].計(jì)算機(jī)與信息技術(shù),2009(9):32-34.
[6]Wang X,Zhang A D,Yan J.Application Prospects of Big Data in Healthcare[J].Chinese General Practice,2015.
[7]鄢團(tuán)軍,劉勇.孤立點(diǎn)檢測(cè)算法與應(yīng)用[J].三峽大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,31(1):98-103.
[8]Shi H J,Zhou S Y,Xing-Yi L I,et al.Average Density-Based Outliers Detection[J].Journal of University of Electronic Science&Technology of China,2007,36(6):1286-1285.
[9]祝世東,李卓玲.數(shù)據(jù)挖掘的異常檢測(cè)技術(shù)分析[J].沈陽工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,5(3):265-268.
[10]王重陽,無線傳感器網(wǎng)絡(luò)中基于多屬性的異常檢測(cè)技術(shù)的研究[D].東北大學(xué),2008.
[11]DENG Chao,GUO MaoZu.Tri-Training and Data Editing Based Semi-Supervised Clustering Algorithm[J].軟件學(xué)報(bào),2008,19(3):663-673.
Data Cleaning Technology Oriented Health Big Data
CHEN Yong-hong1,2,LIAO Xin3,ZHENG Xin1,CHEN Lei-ting1,4
(1.College of Computer Science and Engineering,University of Electronic Science and Technology of China,Chengdu 611731;2.Dongguan ChengDian gold plate software Technology Co.,Ltd,Dongguan 523808;3.West China Second University Hospital.SU,Chengdu 611731;4.University of Electronic Science and Technology of Dongguan Electronic Information Engineering Research Institute,Dongguan 523808)
Presents a complete scheme of health data cleaning.The scheme removes the duplicate data from the original data set first,then,verifies the integrity,validity and consistency of data set,finally,uses the density-based improved isolated point detection algorithm to eliminate lo?cal isolated points and global isolated points.To verify the effectiveness of the proposed scheme,uses the Tri-training algorithm to perform experiments on big healthy data set.Experiments show that the proposed data cleaning scheme can simultaneously identify local isolated points and global isolated points,and significantly improves the performance of the subsequent data classification model.
陳永紅(1992-),男,湖北仙桃人,碩士研究生,研究方向?yàn)榇髷?shù)據(jù)分析、機(jī)器學(xué)習(xí)
陳雷霆(1966-),男,重慶人,教授/博導(dǎo),研究方向?yàn)橛?jì)算機(jī)圖形學(xué)、數(shù)字媒體技術(shù)、虛擬現(xiàn)實(shí)技術(shù)、數(shù)字圖象處理,
E-mail:richardchen@uestc.edu.cn
2017-04-25
2017-06-10
1007-1423(2017)17-0021-05
10.3969/j.issn.1007-1423.2017.17.004
健康大數(shù)據(jù);數(shù)據(jù)清洗;數(shù)據(jù)清洗;孤立點(diǎn)檢測(cè)
廖欣(1981-),女,四川成都人,主診醫(yī)師,碩士,研究方向?yàn)閶D產(chǎn)科臨床病理診斷、人工智能在疾病診斷、病理分析中的應(yīng)用
鄭欣(1981-),男,四川綿陽人,博士后,研究方向?yàn)榇髷?shù)據(jù)分析、人工智能、機(jī)器學(xué)習(xí)。
Health Big Data;Preprocessing;Data Cleaning;Outlier Detection