• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向多維特性數(shù)據(jù)的缺失值檢測及填補方法對比

      2024-01-12 13:10:02翟曉東王巧玲
      關(guān)鍵詞:總體維度預(yù)測

      喬 非, 翟曉東, 王巧玲

      (同濟大學(xué) 電子與信息工程學(xué)院,上海 201804)

      隨著互聯(lián)網(wǎng)、云計算等信息技術(shù)的發(fā)展,大數(shù)據(jù)日益滲透于金融、醫(yī)療、工業(yè)等各個行業(yè)領(lǐng)域之中,成為重要的生產(chǎn)因素,因此數(shù)據(jù)挖掘和應(yīng)用具有十分重要的現(xiàn)實意義。在實際的采集、傳輸、存儲過程中,多種原因?qū)е聰?shù)據(jù)質(zhì)量參差不齊,導(dǎo)致后續(xù)數(shù)據(jù)分析挖掘效果也不佳[1-2]?,F(xiàn)有大多數(shù)學(xué)者針對數(shù)據(jù)質(zhì)量相關(guān)的研究主要集中在數(shù)據(jù)質(zhì)量特性評估,側(cè)重評估數(shù)據(jù)集的準(zhǔn)確性、相似性或完整性,而這些特性分別取決于數(shù)據(jù)集中異常值、相似值及缺失值[3]。由于數(shù)據(jù)內(nèi)在或外界因素而造成在某個屬性上發(fā)生信息丟失的數(shù)據(jù)點稱為缺失值。缺失值作為數(shù)據(jù)質(zhì)量評估的重要方面,能夠判斷數(shù)據(jù)集中各數(shù)據(jù)的完整程度,為后續(xù)數(shù)據(jù)分析提供依據(jù)。在許多實際研究問題中,數(shù)據(jù)的缺失或不完整是必然存在的,當(dāng)缺失數(shù)據(jù)占研究數(shù)據(jù)比重過大時會造成大量數(shù)據(jù)信息的丟失,導(dǎo)致基于數(shù)據(jù)的研究結(jié)果產(chǎn)生較大偏差,影響數(shù)據(jù)的使用效果。因此,對數(shù)據(jù)集的缺失值進行評估和研究是至關(guān)重要的[4-5]。

      目前針對缺失值相關(guān)的研究主要包括缺失值檢測和缺失值填補2 個方面。針對缺失值檢測問題,由于大數(shù)據(jù)集具有維度高、數(shù)據(jù)量大的特點,目前研究多采用建模方法,根據(jù)數(shù)據(jù)點之間潛在的關(guān)聯(lián)且不同數(shù)據(jù)屬性之間也存在一定聯(lián)系,建立缺失值檢測模型,從而提高檢測準(zhǔn)確度并降低時間復(fù)雜度。例如,文獻[6]研究了異構(gòu)屬性多維數(shù)組的概率建模,且使用拉普拉斯方法和高斯過程對近似的算法進行轉(zhuǎn)換求解。該模型可以通過對海量數(shù)組的每個屬性采用單獨的指數(shù)族分布來管理異質(zhì)性,從而對數(shù)據(jù)集的缺失值進行檢測。文獻[7]提出了一種快速檢測丟失數(shù)據(jù)的方法,該方法概率性地對多類別RFID系統(tǒng)的丟失數(shù)據(jù)進行檢測,在滿足檢測結(jié)果可靠的基礎(chǔ)上,將檢測時間最小化。文獻[8]建立了2個回歸適應(yīng)模型,一個用于對缺失數(shù)據(jù)的主成分進行分析,另一個是根據(jù)缺失值構(gòu)建的最小二乘回歸模型,使用這2個模型,研究人員可以通過預(yù)測變量和響應(yīng)變量推算出缺失值,從而實現(xiàn)對缺失值的檢測。文獻[9]采用Hollow-tree 方法來檢測缺少屬性值的數(shù)據(jù),該方法首先定義出一組距離函數(shù)索引,這些函數(shù)可以測量缺失數(shù)據(jù)點之間的距離。其次,根據(jù)距離函數(shù)索引,計算出能夠有效排序缺失數(shù)據(jù)而不會引起數(shù)據(jù)集內(nèi)部結(jié)構(gòu)失真的模型。最后,根據(jù)計算出的模型,對缺失數(shù)據(jù)進行檢測。此外另有一些學(xué)者使用交叉驗證模型,通過計算數(shù)據(jù)集的完整性實現(xiàn)對缺失數(shù)據(jù)的檢測。例如文獻[10]建立了完整性證據(jù)和不可信證據(jù)交叉驗證模型,完整性證據(jù)用于檢測數(shù)據(jù)的完整性,不可信證據(jù)用于判定缺失值檢測的結(jié)果是否可靠。文獻[11]首次提出采用IEC61970方法來進行信息集成,然后根據(jù)數(shù)據(jù)的特征自動建模,形成了一個可以直接進行判別缺失值的檢測模型。文獻[12]提出了一種基于復(fù)數(shù)旋轉(zhuǎn)碼的缺失值檢驗方法,該方法用哈希算法對數(shù)據(jù)進行交叉檢驗,但是僅針對細(xì)粒度數(shù)據(jù),并不具有很好的通用性。

      通過上述文獻分析可知,目前針對缺失值檢測方面的研究基本止步于對數(shù)據(jù)集是否含有缺失值進行判斷,僅僅可以檢測出數(shù)據(jù)集中含有缺失值的數(shù)據(jù)點,無法判斷出多維特性數(shù)據(jù)點是多個屬性維度還是僅一個屬性維度發(fā)生缺失,且未對其缺失程度進行量化,缺少對多維特性數(shù)據(jù)全面立體的分析。另一方面,在機器學(xué)習(xí)和數(shù)據(jù)挖掘等大數(shù)據(jù)研究領(lǐng)域,為了能從數(shù)據(jù)集中提取到有用的信息,需要對缺失數(shù)據(jù)集進行處理,目前研究主要包括以下3 種方法:

      (1)不作處理[13]。即保持原有帶缺失數(shù)據(jù)的數(shù)據(jù)集,并對其進行信息挖掘,然而數(shù)據(jù)集中的維度缺失常常會導(dǎo)致數(shù)據(jù)類型不匹配的錯誤,這給后續(xù)數(shù)據(jù)分析與處理帶來了挑戰(zhàn)。此外,不作處理會導(dǎo)致缺失數(shù)據(jù)攜帶的信息價值丟失,從而造成數(shù)據(jù)分析結(jié)果不準(zhǔn)確。

      (2)刪除數(shù)據(jù)[14]。刪除數(shù)據(jù)是指將發(fā)生缺失的數(shù)據(jù)點進行刪除,并把剩余未缺失的數(shù)據(jù)點重新歸并為一個完整的數(shù)據(jù)集。該方法簡單易行,在面對龐大數(shù)據(jù)集時仍能保持良好的時效性。然而也存在明顯不足,缺失數(shù)據(jù)點往往攜帶實際生產(chǎn)過程中的相關(guān)重要信息,直接刪除會造成數(shù)據(jù)價值浪費。雖然在缺失數(shù)據(jù)占少量比例的情況下,刪除數(shù)據(jù)只會導(dǎo)致數(shù)據(jù)信息挖掘不完全,但是在數(shù)據(jù)集缺失程度嚴(yán)重、缺失數(shù)據(jù)所占比例大的情況下,直接刪除缺失數(shù)據(jù)會造成整個數(shù)據(jù)集分布完全失真,從而不再具有研究價值。

      (3)填補數(shù)據(jù)[15]。填補數(shù)據(jù)是指利用各類算法模型,基于數(shù)據(jù)點的分布情況,對缺失數(shù)據(jù)進行可能值填補,從而得到完整的數(shù)據(jù)集。該方法可以盡可能地挖掘出缺失數(shù)據(jù)所含信息,并提高了數(shù)據(jù)集的完整度,還原了數(shù)據(jù)集原始的空間分布。目前缺失值填補方法可分為如下4類:

      一是固定值填補[16]。固定值填補是用特定數(shù)值對缺失值進行填補。一般都取零為特定數(shù)值。該方法能夠有效快速對大數(shù)據(jù)集進行處理,避免在后續(xù)數(shù)據(jù)分析過程中出現(xiàn)數(shù)據(jù)類型不匹配的問題。然而固定值填補無法挖掘出缺失數(shù)據(jù)所蘊含的價值信息,并且對數(shù)據(jù)集的分布造成一定的影響。

      二是替換缺失值[17]。替換缺失值是指用一些數(shù)學(xué)方法,參考缺失值所在位置的上下文計算得到缺失值的可能取值。常用的方法有:平均值填補、中位數(shù)填補、眾數(shù)填補、插值填補等。

      三是模型填補[18]。模型填補是利用其他完整數(shù)據(jù)點對缺失值預(yù)測模型進行訓(xùn)練,將缺失數(shù)據(jù)點輸入到預(yù)測模型,得到缺失位置的可能填補值。常見的如KNN(k-nearest neighbor)算法模型、Iterative Imputer算法模型等。

      四是低秩逼近[19]。低秩逼近通過將數(shù)據(jù)集轉(zhuǎn)換為矩陣形式,構(gòu)建合理的低秩矩陣模型,通過低秩矩陣優(yōu)化算法求解最優(yōu)解,從而填補缺失值,目前多應(yīng)用于高缺失程度情況下的缺失值填補[20]。

      在實際應(yīng)用過程中,不同情況下對缺失值填補算法的要求往往不同[21]。例如當(dāng)數(shù)據(jù)集的缺失程度小、數(shù)據(jù)分析精度要求低時,往往使用固定值填補方法,從而實現(xiàn)快速填補。當(dāng)數(shù)據(jù)分析精度要求較高、缺失程度較大的情況下,使用模型填補能夠挖掘出已有數(shù)據(jù)點之間的聯(lián)系,從而預(yù)估出缺失值。但目前上述3 類方法都包含多種缺失值填補方法,如何根據(jù)數(shù)據(jù)集的缺失程度選擇最合適的填補方法仍有待研究。

      綜上所述,由于數(shù)據(jù)集結(jié)構(gòu)多樣,生產(chǎn)采集環(huán)境復(fù)雜,經(jīng)常會發(fā)生數(shù)據(jù)點的缺失。盡管目前針對數(shù)據(jù)集中缺失值檢測及填補方法已經(jīng)具有一定的研究,由于數(shù)據(jù)處理分析過程中對數(shù)據(jù)質(zhì)量的要求不斷提高,針對多維特性數(shù)據(jù)的缺失值檢測及填補方法研究也變得更加復(fù)雜和具有挑戰(zhàn)性。本文研究主要包括以下兩點:

      (1)考慮到目前常見的多維特性數(shù)據(jù),由于其不同屬性維度的缺失都會對數(shù)據(jù)質(zhì)量造成影響,所以首先針對多維特性數(shù)據(jù)缺失程度分析不夠全面、基本止步于對數(shù)據(jù)集是否含有缺失值這一不足展開研究[9],設(shè)計缺失值檢測方法,在數(shù)據(jù)點缺失度基礎(chǔ)上進一步提出數(shù)據(jù)總體缺失度和加權(quán)數(shù)據(jù)總體缺失度2個概念的嚴(yán)格定義及計算公式,實現(xiàn)對多維特性數(shù)據(jù)集缺失程度的全面檢測,為后續(xù)缺失值填補方法的選擇提供理論依據(jù)。

      (2)目前已有缺失值填補方法眾多,但多數(shù)研究所關(guān)注的問題一方面是對某種缺失值填補方法本身的精度進行改進[22],另一方面是對缺失值進行簡單填補從而得到更加準(zhǔn)確可靠的數(shù)據(jù)分析結(jié)果[23],忽略了所選擇的缺失值填補方法是否合適。針對該問題,基于所提出的3種缺失度通過實驗橫向、縱向?qū)Ρ群头治霾煌笔е堤钛a方法性能,研究不同缺失值填補方法的適用性,從而實現(xiàn)根據(jù)數(shù)據(jù)集的缺失程度選擇最合適的填補方法,進一步提高后續(xù)數(shù)據(jù)處理分析的準(zhǔn)確性和可靠性。

      1 缺失值檢測方法設(shè)計

      當(dāng)對數(shù)據(jù)集的缺失程度進行分析時,首先需要對其進行缺失值檢測。在實際生產(chǎn)過程中,數(shù)據(jù)集中的每個數(shù)據(jù)點往往具有多個屬性維度,在空間中具有復(fù)雜的形態(tài),采用Dataframe格式[24]對數(shù)據(jù)集進行存儲。DataFrame 是一種表格型數(shù)據(jù)結(jié)構(gòu),它含有1 組有序的列,每列可以是不同的值,既有行索引,也有列索引,數(shù)據(jù)點的分布更為直觀,方便進行缺失值檢測。所設(shè)計的缺失值檢測流程如圖1 所示,具體步驟如下。

      圖1 缺失值檢測流程及偽代碼Fig.1 Flowchart and pseudo-code of missing value detection

      (1) 輸入待處理的數(shù)據(jù)集D1,并將其整合成n×m階矩陣,其中n代表數(shù)據(jù)點的數(shù)量,m代表每個數(shù)據(jù)點的維度,每個元素為xij(其中i表示矩陣行數(shù),j表示矩陣列數(shù))。

      為了更直觀說明,這里采用一組6×4階數(shù)據(jù)集D'1進行舉例描述。設(shè)數(shù)據(jù)集D'1有6個數(shù)據(jù)點,每個數(shù)據(jù)點包含4個屬性維度。根據(jù)數(shù)據(jù)集D'1的分布可以看出,第1個和第5個數(shù)據(jù)點發(fā)生了缺失。

      (2) 定義n×m維全零矩陣Z0從矩陣的第1行第1 列即i=1、j=1 開始在空間中對數(shù)據(jù)集矩陣的行列依次進行檢測,并判斷每一個數(shù)據(jù)點xi(0<i≤n,i∈N)的每一個維度xij(0<j≤m,j∈N)是否為空。若判斷出xij為空,則將數(shù)據(jù)集矩陣的第i行第j列標(biāo)記為“F”,即xij=F,并為矩陣Z的第i行第j列賦值為1,即Z[i,j]=1,表明xij發(fā)生缺失。反之,則不填充。

      (3) 重復(fù)進行步驟(2),直至對整個數(shù)據(jù)集D1完成檢測。如圖2 所示,此時Z矩陣標(biāo)記完畢,從空間上直觀給出了數(shù)據(jù)集的缺失分布,被標(biāo)記為1 的表明數(shù)據(jù)點在相應(yīng)維度發(fā)生了缺失。

      圖2 矩陣Z示意Fig.2 Schematic diagram of matrix Z

      圖3 缺失值檢測后數(shù)據(jù)集矩陣示意Fig.3 Schematic diagram of dataset matrix after missing value detection

      相應(yīng)地,對數(shù)據(jù)集D'1檢查完后,對應(yīng)的D'1及其Z矩陣為

      利用上述缺失值檢測方法能夠查找出數(shù)據(jù)集中發(fā)生缺失的數(shù)據(jù)點的位置及缺失屬性的個數(shù)。接著基于該缺失值檢測方法提出多種缺失度概念,根據(jù)缺失值檢測結(jié)果對數(shù)據(jù)集的缺失度進行計算,從而客觀全面地反應(yīng)整個數(shù)據(jù)集的缺失程度。

      2 多維特性數(shù)據(jù)集缺失度

      數(shù)據(jù)缺失會造成數(shù)據(jù)集攜帶信息的損失,需要對數(shù)據(jù)集的缺失程度進行評估,以便研究人員全面直觀地了解數(shù)據(jù)集。而數(shù)據(jù)缺失可能有數(shù)據(jù)點缺失、屬性維度缺失[25]等,因此有必要結(jié)合數(shù)據(jù)的多維特性對數(shù)據(jù)集進行缺失度評估。針對該問題提出數(shù)據(jù)點缺失度、數(shù)據(jù)總體缺失度和加權(quán)數(shù)據(jù)總體缺失度3個概念。

      2.1 數(shù)據(jù)點缺失度

      數(shù)據(jù)點缺失度用于衡量整個數(shù)據(jù)集中具有缺失的數(shù)據(jù)點占所有數(shù)據(jù)點的比重,記為“Mall”。如圖4a所示,該數(shù)據(jù)集中第2行和第i行的數(shù)據(jù)點分別在不同維度發(fā)生了缺失,即存在數(shù)值為“F”的項,因此把第2個和第i個數(shù)據(jù)點標(biāo)記為缺失數(shù)據(jù)點,數(shù)據(jù)集總體缺失2個單位。

      圖4 3種缺失度示意Fig.4 Diagram of three missing degrees

      數(shù)據(jù)點缺失度的具體計算方法如下:

      (1)統(tǒng)計缺失數(shù)據(jù)點總個數(shù)。首先定義Sdata為缺失數(shù)據(jù)點的總個數(shù),從第1 行開始,依次對Z矩陣的每一行進行各個維度的求和,若某一行所有維度總和相加為零,則表明該行維度全為零,即該數(shù)據(jù)點在任意維度上都沒有發(fā)生缺失,反之,若Z矩陣的第i行各個維度之和不為零,表明第i個數(shù)據(jù)點發(fā)生了缺失,則對Sdata進行加1。

      (2)計算數(shù)據(jù)集數(shù)據(jù)點缺失度。數(shù)據(jù)集數(shù)據(jù)點缺失度(Mall)計算公式為

      式中:row(Z)表示Z矩陣的行數(shù),即數(shù)據(jù)集所包含數(shù)據(jù)點的總個數(shù)。

      數(shù)據(jù)點缺失度側(cè)重于計算整個數(shù)據(jù)集中發(fā)生缺失的數(shù)據(jù)點所占的比重。其有效考察了含有缺失值的數(shù)據(jù)點個數(shù),反應(yīng)了數(shù)據(jù)集在整體上的缺失程度。

      2.2 數(shù)據(jù)總體缺失度

      在大數(shù)據(jù)背景下一個數(shù)據(jù)點往往會在多個屬性維度發(fā)生缺失。倘若只根據(jù)數(shù)據(jù)點缺失度對缺失數(shù)據(jù)點的個數(shù)及其所占的比重進行判斷,則較為片面。為了更全面地為數(shù)據(jù)集缺失質(zhì)量提供理論支撐,提出數(shù)據(jù)總體缺失度(Mmen)這一概念。與數(shù)據(jù)點缺失度不同,數(shù)據(jù)總體缺失度的最小單位為數(shù)據(jù)點的一個屬性維度,而非一個數(shù)據(jù)點。數(shù)據(jù)總體缺失度用于衡量整個數(shù)據(jù)集中發(fā)生缺失的屬性維度占總屬性維度的百分比。如圖4b所示,該數(shù)據(jù)集中第2行的第1、2、j列以及第i行的第3、j列為F,因此,第2個數(shù)據(jù)點在1、2、j這3個屬性維度上發(fā)生了缺失,第i個數(shù)據(jù)點在3、j這2個屬性維度上發(fā)生了缺失,數(shù)據(jù)集總體缺失5個屬性維度單位。

      數(shù)據(jù)總體缺失度Mmen的計算式為

      式中:Z[i,j]表示矩陣Z的第i行、第j列。通過對整個數(shù)據(jù)集中各個數(shù)據(jù)點的各個屬性維度上的數(shù)字進行求和,即可得知整個數(shù)據(jù)集中發(fā)生缺失的屬性維度總個數(shù)。再將缺失屬性維度總個數(shù)與數(shù)據(jù)集中數(shù)據(jù)點所有維度總和m×n求商,從而得到數(shù)據(jù)集中發(fā)生缺失的屬性維度占數(shù)據(jù)總體的百分比,即數(shù)據(jù)集的數(shù)據(jù)總體缺失度。

      2.3 加權(quán)數(shù)據(jù)總體缺失度

      在生產(chǎn)過程中,數(shù)據(jù)集的每一屬性維度對企業(yè)管理人員的參考價值往往不同。例如根據(jù)設(shè)備的電流、電壓參數(shù)監(jiān)測設(shè)備的健康狀況時,電流和電壓2個屬性維度的數(shù)據(jù)相對溫度、濕度等其他數(shù)據(jù)來說更為重要,即當(dāng)數(shù)據(jù)點在電流、電壓屬性方面發(fā)生缺失,會比在其他屬性缺失造成更嚴(yán)重的影響。因此,為數(shù)據(jù)集的每一屬性維度設(shè)定權(quán)重比例系數(shù),并引入加權(quán)數(shù)據(jù)總體缺失度(Mw),從而更加靈活全面描述數(shù)據(jù)集的缺失度,更能符合實際需求。

      式中:Z[i,j]表示矩陣Z的第i行、第j列。依次對每一個數(shù)據(jù)點的每一屬性維度進行檢測,并與該維度對應(yīng)的權(quán)重系數(shù)相乘,從而求得該數(shù)據(jù)點的加權(quán)缺失度,再將所有數(shù)據(jù)點的加權(quán)缺失度求和,并與數(shù)據(jù)集中數(shù)據(jù)點所有維度總和m×n求商,從而得到數(shù)據(jù)集的加權(quán)數(shù)據(jù)總體缺失度。

      3 面向多維數(shù)據(jù)的缺失值填補算法及對比分析

      在機器學(xué)習(xí)和數(shù)據(jù)挖掘研究領(lǐng)域,為了能從數(shù)據(jù)集中提取到有用的信息,對含有缺失值的數(shù)據(jù)集進行處理是非常必要的,但如何從眾多的缺失值填補算法中選擇合適的方法仍有待研究。本文基于提出的多種缺失度概念和公開數(shù)據(jù)集對多種不同典型的缺失值填補算法進行性能評估,采用多種評價指標(biāo)研究不同缺失值填補方法在各種缺失度情況下的適用度。

      3.1 實驗數(shù)據(jù)集

      從常用機器學(xué)習(xí)數(shù)據(jù)庫UCI Machine Learning Repository[26]中選取Iris數(shù)據(jù)集進行實驗,Iris共包含150 個樣本數(shù)據(jù)點、4 個屬性維度,所有的數(shù)據(jù)點被分為3個類。

      實驗從數(shù)據(jù)點缺失度和數(shù)據(jù)總體缺失度的大小關(guān)系出發(fā),評價缺失度對填補算法性能的影響。實驗一共設(shè)置5組不同缺失程度的對比數(shù)據(jù)集:20-05、20-15、40-15、60-15、60-45。表1 介紹了數(shù)據(jù)集的具體信息,列舉了每個數(shù)據(jù)集發(fā)生缺失的數(shù)據(jù)點個數(shù)、發(fā)生缺失的屬性維度個數(shù)、數(shù)據(jù)點缺失度和數(shù)據(jù)總體缺失度這4 個屬性。例如20-15 表示用隨機方法構(gòu)建數(shù)據(jù)點缺失度為20%、數(shù)據(jù)總體缺失度為15%的數(shù)據(jù)集,該數(shù)據(jù)集發(fā)生缺失的數(shù)據(jù)點個數(shù)為30個,發(fā)生缺失的屬性維度個數(shù)為90 個,平均每個數(shù)據(jù)點在3個屬性維度上發(fā)生了缺失。

      表1 數(shù)據(jù)集介紹Tab.1 Introduction to dataset

      根據(jù)上述缺失度的設(shè)置,這些數(shù)據(jù)集囊括了Mall偏小且Mmen偏小、Mall偏小且Mmen偏大、Mall中等且Mmen中等、Mall偏大且Mmen偏小,以及Mall偏大且Mmen偏大這5 種情況。后續(xù)實驗在這5 組數(shù)據(jù)集的基礎(chǔ)上,對5種缺失值填補算法進行全面性能評估。

      3.2 算法性能評價指標(biāo)

      采用典型的F1-score和RMSE2個指標(biāo)來評判多種缺失值填補算法的性能。F1-score能有效判斷預(yù)測分類和實際分類的相似程度,是預(yù)測模型精確率和召回率的一種加權(quán)平均。RMSE計算了預(yù)測結(jié)果與真實結(jié)果的均方根誤差,用于進一步衡量缺失值預(yù)測結(jié)果是否接近真實結(jié)果。表2 為預(yù)測模型的混淆矩陣,其包含了模型預(yù)測的4種結(jié)果:在真實結(jié)果為0的情況下,若預(yù)測結(jié)果也為0,則表示真負(fù)例(true negative,TN),若預(yù)測結(jié)果為1,則表示假正例(false positive,F(xiàn)P);在真實結(jié)果為1的情況下,若預(yù)測結(jié)果也為1,則表示真正例(true positive,TP),若預(yù)測結(jié)果為0,則表示假負(fù)例(false negative,F(xiàn)N)。

      表2 混淆矩陣Tab.2 Confusion matrix

      根據(jù)模型預(yù)測的結(jié)果可以得到該模型預(yù)測的精確率Precision和召回率Recall,具體計算公式為

      式中:NTP表示真正例的個數(shù);NFP表示假正例的個數(shù);NFN表示假負(fù)例的個數(shù)。精確率表示被正確預(yù)測為1的樣本占預(yù)測為1的樣本總數(shù)的比例;召回率表示被正確預(yù)測為1 的樣本占真實為1 的樣本總數(shù)的比例,F(xiàn)1-score為精確率和召回率的調(diào)和平均數(shù)。

      F1-score的范圍為[0,1],根據(jù)式(7)可以看出,精準(zhǔn)率和召回率只要有一個比較小的話,F(xiàn)1-score的值都會降低,即F1-score越大表明預(yù)測結(jié)果越好。

      實驗采用的另一個評價指標(biāo)為RMSE,具體計算式為

      式中:ei為原始未發(fā)生缺失的數(shù)據(jù);e?i為發(fā)生缺失后進行填充的數(shù)據(jù);m為缺失維度總個數(shù)。RMSE值越大,表明誤差越大,缺失值填補算法的預(yù)測效果越不好。

      綜上所述,F(xiàn)1-score是用于評判模型預(yù)測缺失值的準(zhǔn)確度,而RMSE是用于評判模型累計預(yù)測誤差值。

      3.3 缺失值填補算法

      目前常用的缺失值填補方法可分為固定值填補、替換缺失值和模型填補的方法,為了對不同填補方法在不同缺失度時填補效果進行全面評估,從固定值填補方法里面選擇補零法,從替換缺失值方法里選擇平均值和插值填補方法,從模型填補方法里選擇KNN填補和Iterative Imputer填補算法,基于提出的缺失度概念對這5種典型的缺失值填補算法進行性能比較。需要說明的是,上述5 種常見方法多應(yīng)用于數(shù)據(jù)點缺失度不超過60%的情況,當(dāng)缺失度過高時,由于算法原理的原因,上述算法無法達到良好的填補效果,此時可選擇低秩逼近方法[20]。實驗中5種缺失值填補方法具體介紹如下:

      (1)補零法[27]。將檢測出的缺失數(shù)據(jù)全部填充為零。

      (2)平均值填補[28]。將缺失數(shù)據(jù)所在維度的其他所有數(shù)據(jù)求平均,用平均值對該維度所有缺失值進行填補。

      (3)插值填補[29]。插值填補是基于擬合函數(shù)的一種填補方法,其具體思想為:根據(jù)數(shù)據(jù)集中未發(fā)生缺失的完整數(shù)據(jù)點求取出插值函數(shù),再對缺失值進行預(yù)測,并將預(yù)測值作為缺失值的可能填補值。

      (4)KNN 填補算法[23]。KNN 填補算法是基于數(shù)據(jù)點之間的相似性來達到填補缺失值的目的。具體步驟為:① 設(shè)定最近鄰個數(shù)K值;② 在特征空間中,根據(jù)歐氏距離判斷出與缺失值距離最近的K個相鄰數(shù)據(jù)點;③ 依次對這K個相鄰數(shù)據(jù)點的類別進行判斷,統(tǒng)計出這些相鄰點所屬的類別,并確定包含最多相鄰點的類別。④ 根據(jù)這整個類的特征利用預(yù)測模型對缺失值進行填補。

      (5)Iterative Imputer 填 補 算 法[30]。Iterative Imputer是以循環(huán)的方式實現(xiàn)建模預(yù)測缺失值的,具體步驟為:①指定一個維度作為輸出值y;② 其他剩余維度均作為輸入值x;③ 根據(jù)x和y對回歸預(yù)測模型進行訓(xùn)練;④ 利用訓(xùn)練好的模型預(yù)測出維度y上的所有缺失值。⑤重復(fù)步驟①-④,循環(huán)更新維度作為新的輸出值y,直至完成所有維度的缺失值填補。

      實驗所采用的算法參數(shù)說明如下:補零法、平均值填補、插值填補為基于統(tǒng)計信息的填補方法,不存在超參數(shù)的設(shè)置。KNN填補算法中存在超參數(shù)“聚類個數(shù)k值”等,Iterative Imputer 填補算法中存在超參數(shù)“迭代次數(shù)”等。需要說明的是,實驗?zāi)康氖菫榱藢Ρ确治霾煌笔е堤钛a算法在數(shù)據(jù)集不同缺失度時的效果,而上述算法中超參數(shù)選擇的不同會同時影響該算法在不同缺失度下的填補效果,即超參數(shù)選擇越合理,該算法在不同缺失度下的填補效果越高。此外,考慮到目前研究中選擇KNN 和Iterative Imputer方法對缺失值進行填補時均會優(yōu)化對應(yīng)超參數(shù),進行實驗時也對KNN 和Iterative Imputer方法中的超參數(shù)根據(jù)實驗結(jié)果進行了優(yōu)化,選擇最優(yōu)的實驗結(jié)果對應(yīng)的超參數(shù);同時為了消除實驗結(jié)果偶然性的影響,對含有超參數(shù)的KNN 和Iterative Imputer 方法進行5 次實驗,對應(yīng)的實驗結(jié)果為多次結(jié)果的平均值。綜上所述,實驗結(jié)果具有普遍性,超參數(shù)的選擇不影響實驗結(jié)論。

      3.4 同種算法在不同缺失度情況下的性能對比

      根據(jù)上述5種缺失值填補算法和數(shù)據(jù)集進行實驗,5種填補算法在不同缺失程度數(shù)據(jù)集上的填補效果如圖5所示。

      圖5 5種算法在不同缺失度時的填補結(jié)果Fig.5 Imputation results of five algorithms at different missing degrees

      圖5a為補零法在數(shù)據(jù)集5種缺失情況下的性能指標(biāo)分析:① 對不同缺失程度的數(shù)據(jù)集來說,RMSE指標(biāo)相差不多,表明補零法的預(yù)測填補值誤差在5 種缺失情況下效果較為接近;②F1-score指標(biāo)按照Iris20-05、Iris20-15、Iris40-15、Iris60-15、Iris60-45 的順序依次降低,表明填補的準(zhǔn)確度逐步下降。③ 總體來說,數(shù)據(jù)點缺失度越大,補零法對缺失值的填補效果越差;在數(shù)據(jù)點缺失度相同的情況下,數(shù)據(jù)總體缺失度越大,補零法效果越差。數(shù)據(jù)點缺失度比數(shù)據(jù)總體缺失度對補零法的影響大。

      圖5b為平均值法在數(shù)據(jù)集5種缺失情況下的性能指標(biāo)分析:① 對不同缺失程度的數(shù)據(jù)集來說,RMSE指標(biāo)相差不多,表明平均值法的預(yù)測填補值誤差效果較為接近。②F1-score指標(biāo)在Iris20-05 數(shù)據(jù)集上最好,按照Iris20-15、Iris40-15 和Iris60-15 的順序略有降低。在Iris60-45 數(shù)據(jù)集上最差,表明預(yù)測的填補值與真實情況最不接近。③ 總體來說,數(shù)據(jù)點缺失度越大平均值法對缺失值的填補效果越差;在數(shù)據(jù)點缺失度相同的情況下,數(shù)據(jù)總體缺失度越小,平均值法效果越好。數(shù)據(jù)點缺失度比數(shù)據(jù)總體缺失度對平均值法的影響大。

      圖5c為插值法在數(shù)據(jù)集5種缺失情況下的性能指標(biāo)分析:① 5 個不同缺失程度數(shù)據(jù)集的RMSE指標(biāo)都比較小,數(shù)值在0.55 左右,且相差不多。表明插值法對于這5個數(shù)據(jù)集的預(yù)測填補值與真實值都比較 接 近。② 按 照Iris60-15、Iris40-15、Iris60-45、Iris20-05、Iris20-15 的順序,數(shù)據(jù)集的F1-score指標(biāo)的結(jié)果值逐漸變好,表明預(yù)測填補值與真實情況逐漸接近。③ 比較數(shù)據(jù)點缺失度相同、數(shù)據(jù)總體缺失度不同 的 數(shù) 據(jù) 集 組Iris20-05 和Iris20-15、Iris60-15 和Iris60-45可知,數(shù)據(jù)點缺失度相同的情況下,數(shù)據(jù)總體缺失度越大,數(shù)據(jù)集的F1-score指標(biāo)值越好。因為數(shù)據(jù)集本身分為3 類,每個類別的數(shù)據(jù)點之間差異性較大,若擬合出一個插值函數(shù)來形容數(shù)據(jù)集中的所有數(shù)據(jù)點,誤差比較大。而數(shù)據(jù)總體缺失度較大的數(shù)據(jù)集Iris20-15 和Iris60-45 中,平均每個數(shù)據(jù)點缺失3 個屬性維度,這種情況下不同類別的數(shù)據(jù)點之間的差異性變小,因此插值法擬合出的函數(shù)能較好地表示整個數(shù)據(jù)集的特點。④ 數(shù)據(jù)集Iris20-05缺失數(shù)據(jù)點較少,類別之間差異性明顯;數(shù)據(jù)集Iris60-15缺失數(shù)據(jù)點過多,無法擬合正確函數(shù),因此插值法對這2種低數(shù)據(jù)總體缺失度的數(shù)據(jù)集填補效果相對不佳。⑤ 總體來說,在數(shù)據(jù)點缺失度相同的情況下,數(shù)據(jù)總體缺失度越大,插值法填補效果越好。

      圖5d 為KNN 填補算法在數(shù)據(jù)集5 種缺失情況下的性能指標(biāo)分析:① 數(shù)據(jù)集Iris20-05、Iris40-15、Iris60-15的RMSE指標(biāo)相差不多,Iris20-15的RMSE值最差,表明KNN在Iris20-15數(shù)據(jù)集上預(yù)測填補值與真實值誤差最大。②F1-score指標(biāo)在Iris20-05 數(shù)據(jù)集上最好,數(shù)據(jù)集Iris60-15 其次,數(shù)據(jù)集Iris60-45 最差。③ 總體來說,在數(shù)據(jù)點缺失度相同的情況下,數(shù)據(jù)總體缺失度越大,KNN 對缺失值的填補效果越差。數(shù)據(jù)總體缺失度比數(shù)據(jù)點缺失度對KNN 填補法的影響大,這是因為KNN算法是根據(jù)缺失點的最近K個數(shù)據(jù)點所屬的類別進行判斷的,當(dāng)數(shù)據(jù)總體缺失度過大時,每個數(shù)據(jù)點均有多個屬性維度發(fā)生缺失,數(shù)據(jù)點的特征性不明顯,KNN無法準(zhǔn)確判斷數(shù)據(jù)點所屬的類別,導(dǎo)致預(yù)測的填補值不準(zhǔn)確,誤差較大。

      圖5e為Iterative Imputer填補算法在數(shù)據(jù)集5種缺失情況下的性能指標(biāo)。由于Iterative Imputer算法和KNN 算法的填補思想皆為通過統(tǒng)計未缺失數(shù)據(jù)點的類別來確定缺失數(shù)據(jù)點的特征并進行填補,因此這2種填補算法的分析結(jié)果類似。

      3.5 不同算法在同種缺失度數(shù)據(jù)集上的性能對比

      圖6 進一步展示了在每種缺失度的數(shù)據(jù)集上5種不同算法的填補效果,從而系統(tǒng)地對每種填補算法的性能進行分析。

      圖6 相同缺失度下不同填補方法結(jié)果對比Fig.6 Comparison of different imputation methods at the same missing degree

      圖6a 為不同算法在20-05 缺失度上的填補結(jié)果。當(dāng)數(shù)據(jù)集的數(shù)據(jù)點缺失度為20%、數(shù)據(jù)總體缺失度為5%時,補零法、平均值法、插值法、KNN 法、Iterative Imputer算法的缺失值填補效果依次變好。

      圖6b 為不同算法在20-15 缺失度上的填補結(jié)果。當(dāng)數(shù)據(jù)集的數(shù)據(jù)點缺失度為20%、數(shù)據(jù)總體缺失度為15%時,補零法的填補效果最差,其次為平均值法和KNN 算法,Iterative Imputer 算法較好,插值法填補效果最佳。

      圖6c 為不同算法在40-15 缺失度上的填補結(jié)果。當(dāng)數(shù)據(jù)集的數(shù)據(jù)點缺失度為40%、數(shù)據(jù)總體缺失度為15%時,補零法的填補效果最差,其次為平均值法,KNN 法的效果居中,插值法、Iterative Imputer算法的填補效果均比較好。

      圖6d 為不同算法在60-15 缺失度上的填補結(jié)果。當(dāng)數(shù)據(jù)集的數(shù)據(jù)點缺失度為60%、數(shù)據(jù)總體缺失度為15%時,補零法的填補效果最差,平均值法、插值法、KNN法、Iterative Imputer算法的依次變好。

      圖6e 為不同算法在60-45 缺失度上的填補結(jié)果。當(dāng)數(shù)據(jù)集的數(shù)據(jù)點缺失度為60%、數(shù)據(jù)總體缺失度為45%時,補零法的填補效果最差,其次為平均值法,KNN 算法的填補效果居中,Iterative Imputer算法較好,但插值法填補效果最佳。

      由上述5 種情況分析可以得到如下結(jié)論:① 補零法和平均值法在各種缺失度下的填補效果均不好,因此僅可以在對填補精度要求不高時使用。②在數(shù)據(jù)總體缺失度不高的情況下,基于模型的KNN算法和Iterative Imputer 算法都能有較好的填補效果。KNN 和Iterative Imputer 都為基于預(yù)測模型的缺失值填補算法,但是Iterative Imputer 算法的性能總是優(yōu)于KNN算法,因為Iterative Imputer算法是循環(huán)更改輸入變量來訓(xùn)練缺失值預(yù)測模型,因此模型的誤差更小,填補效果更好。③ 在數(shù)據(jù)總體缺失度較大的情況下,即單個數(shù)據(jù)點缺失屬性維度較多的情況下,插值法具有最好的填補效果。綜上所述,該實驗可以證明,通過對數(shù)據(jù)集缺失度進行全面系統(tǒng)的評估可以對缺失值填補算法的選擇起到良好的指導(dǎo)作用。

      4 結(jié)語

      從多維特性數(shù)據(jù)缺失值檢測和填補工作切入,針對傳統(tǒng)缺失值檢測方法缺少對多維特性數(shù)據(jù)缺失程度全面立體的評估以及多種缺失值填補方法難以選擇的問題,通過設(shè)計缺失值檢測方法,在數(shù)據(jù)點缺失度基礎(chǔ)上,提出數(shù)據(jù)總體缺失度和加權(quán)數(shù)據(jù)總體缺失度的概念,實現(xiàn)對數(shù)據(jù)集缺失程度的全面檢測,進而通過實驗橫向、縱向?qū)Ρ群头治霾煌笔е堤钛a方法的性能。實驗證明,補零法和平均值法在各種缺失度下的填補效果均不好,因此僅可以在對填補精度要求不高時使用。在數(shù)據(jù)總體缺失度不高的情況下,基于模型的KNN算法和Iterative Imputer算法都能有較好的填補效果,且Iterative Imputer 算法比KNN 算法性能更好。在數(shù)據(jù)總體缺失度較大的情況下,插值法具有更好的填補效果。綜上所述,通過對數(shù)據(jù)集缺失度進行全面系統(tǒng)的評估可以對缺失值填補算法的選擇起到良好的指導(dǎo)作用。

      提出的缺失值檢測和填補方法主要應(yīng)用于具有多維特性的數(shù)據(jù)集,不適用于以樹、鏈表等復(fù)雜數(shù)據(jù)結(jié)構(gòu)表達的數(shù)據(jù)集,今后會考慮向復(fù)雜數(shù)據(jù)結(jié)構(gòu)的缺失值檢測和填補領(lǐng)域開展。此外,本文目前只考慮了對離線數(shù)據(jù)進行缺失值檢測和填補,由于實際生產(chǎn)過程中也會有大量的實時數(shù)據(jù)產(chǎn)生,因此后續(xù)可以針對實時數(shù)據(jù)流設(shè)計相應(yīng)的缺失值檢測和填補方法。

      作者貢獻聲明:

      喬 非:研究工作思路與全程指導(dǎo)。

      翟曉東:研究工作補充完善與總結(jié)。

      王巧玲:初步研究工作。

      猜你喜歡
      總體維度預(yù)測
      無可預(yù)測
      黃河之聲(2022年10期)2022-09-27 13:59:46
      選修2-2期中考試預(yù)測卷(A卷)
      選修2-2期中考試預(yù)測卷(B卷)
      用樣本估計總體復(fù)習(xí)點撥
      2020年秋糧收購總體進度快于上年
      淺論詩中“史”識的四個維度
      中華詩詞(2019年7期)2019-11-25 01:43:00
      外匯市場運行有望延續(xù)總體平穩(wěn)發(fā)展趨勢
      中國外匯(2019年6期)2019-07-13 05:44:06
      直擊高考中的用樣本估計總體
      不必預(yù)測未來,只需把握現(xiàn)在
      光的維度
      燈與照明(2016年4期)2016-06-05 09:01:45
      郯城县| 海丰县| 凤台县| 怀宁县| 仙桃市| 那曲县| 砚山县| 崇文区| 三江| 贡嘎县| 阿勒泰市| 板桥市| 呼图壁县| 恭城| 仲巴县| 合江县| 南充市| 玉溪市| 兴安县| 福清市| 务川| 孟州市| 湘阴县| 德保县| 定南县| 东乡| 广元市| 玉环县| 晋州市| 改则县| 兴国县| 靖边县| 荆门市| 安平县| 临湘市| 通州区| 健康| 濮阳市| 东兴市| 深水埗区| 栾川县|