
數(shù)據(jù)分析中的缺失值處理
沒有高質(zhì)量的數(shù)據(jù),就沒有高質(zhì)量的數(shù)據(jù)挖掘結(jié)果,數(shù)據(jù)值缺失是數(shù)據(jù)分析中經(jīng)常遇到的問題之一。當(dāng)缺失比例很小時(shí),可直接對缺失記錄進(jìn)行舍棄或進(jìn)行手工處理。但在實(shí)際數(shù)據(jù)中,往往缺失數(shù)據(jù)占有相當(dāng)?shù)谋戎?。這時(shí)如果手工處理非常低效,如果舍棄缺失記錄,則會(huì)丟失大量信息,使不完全觀測數(shù)據(jù)與完全觀測數(shù)據(jù)間產(chǎn)生系統(tǒng)差異,對這樣的數(shù)據(jù)進(jìn)行分析,你很可能會(huì)得出錯(cuò)誤的結(jié)論。
造成數(shù)據(jù)缺失的原因
現(xiàn)實(shí)世界中的數(shù)據(jù)異常雜亂,屬性值缺失的情況經(jīng)常發(fā)全甚至是不可避免的。造成數(shù)據(jù)缺失的原因是多方面的:
信息暫時(shí)無法獲取。例如在醫(yī)療數(shù)據(jù)庫中,并非所有病人的所有臨床檢驗(yàn)結(jié)果都能在給定的時(shí)間內(nèi)得到,就致使一部分屬性值空缺出來。
信息被遺漏??赡苁且?yàn)檩斎霑r(shí)認(rèn)為不重要、忘記填寫了或?qū)?shù)據(jù)理解錯(cuò)誤而遺漏,也可能是由于數(shù)據(jù)采集設(shè)備的故障、存儲介質(zhì)的故障、傳輸媒體的故障、一些人為因素等原因而丟失。
有些對象的某個(gè)或某些屬性是不可用的。如一個(gè)未婚者的配偶姓名、一個(gè)兒童的固定收入狀況等。
有些信息(被認(rèn)為)是不重要的。如一個(gè)屬性的取值與給定語境是無關(guān)。
獲取這些信息的代價(jià)太大。
系統(tǒng)實(shí)時(shí)性能要求較高。即要求得到這些信息前迅速做出判斷或決策。
對缺失值的處理要具體問題具體分析,為什么要具體問題具體分析呢?因?yàn)閷傩匀笔в袝r(shí)并不意味著數(shù)據(jù)缺失,缺失本身是包含信息的,所以需要根據(jù)不同應(yīng)用場景下缺失值可能包含的信息進(jìn)行合理填充。下面通過一些例子來說明如何具體問題具體分析,仁者見仁智者見智,僅供參考:
“年收入”:商品推薦場景下填充平均值,借貸額度場景下填充最小值;
“行為時(shí)間點(diǎn)”:填充眾數(shù);
“價(jià)格”:商品推薦場景下填充最小值,商品匹配場景下填充平均值;
“人體壽命”:保險(xiǎn)費(fèi)用估計(jì)場景下填充最大值,人口估計(jì)場景下填充平均值;
“駕齡”:沒有填寫這一項(xiàng)的用戶可能是沒有車,為它填充為0較為合理;
”本科畢業(yè)時(shí)間”:沒有填寫這一項(xiàng)的用戶可能是沒有上大學(xué),為它填充正無窮比較合理;
“婚姻狀態(tài)”:沒有填寫這一項(xiàng)的用戶可能對自己的隱私比較敏感,應(yīng)單獨(dú)設(shè)為一個(gè)分類,如已婚1、未婚0、未填-1。
缺失的類型
在對缺失數(shù)據(jù)進(jìn)行處理前,了解數(shù)據(jù)缺失的機(jī)制和形式是十分必要的。將數(shù)據(jù)集中不含缺失值的變量稱為完全變量,數(shù)據(jù)集中含有缺失值的變量稱為不完全變量。從缺失的分布來將缺失可以分為完全隨機(jī)缺失,隨機(jī)缺失和完全非隨機(jī)缺失。
完全隨機(jī)缺失(missing completely at random,MCAR):指的是數(shù)據(jù)的缺失是完全隨機(jī)的,不依賴于任何不完全變量或完全變量,不影響樣本的無偏性。如家庭地址缺失。
隨機(jī)缺失(missing at random,MAR):指的是數(shù)據(jù)的缺失不是完全隨機(jī)的,即該類數(shù)據(jù)的缺失依賴于其他完全變量。例如財(cái)務(wù)數(shù)據(jù)缺失情況與企業(yè)的大小有關(guān)。
非隨機(jī)缺失(missing not at random,MNAR):指的是數(shù)據(jù)的缺失與不完全變量自身的取值有關(guān)。如高收入人群的不原意提供家庭收入。
對于隨機(jī)缺失和非隨機(jī)缺失,刪除記錄是不合適的,隨機(jī)缺失可以通過已知變量對缺失值進(jìn)行估計(jì);而非隨機(jī)缺失還沒有很好的解決辦法。
說明:對于分類問題,可以分析缺失的樣本中,類別之間的比例和整體數(shù)據(jù)集中,類別的比例
缺失值處理的必要性
數(shù)據(jù)缺失在許多研究領(lǐng)域都是一個(gè)復(fù)雜的問題。對數(shù)據(jù)挖掘來說,缺省值的存在,造成了以下影響:
系統(tǒng)丟失了大量的有用信息;
系統(tǒng)中所表現(xiàn)出的不確定性更加顯著,系統(tǒng)中蘊(yùn)涵的確定性成分更難把握;
包含空值的數(shù)據(jù)會(huì)使挖掘過程陷入混亂,導(dǎo)致不可靠的輸出。
數(shù)據(jù)挖掘算法本身更致力于避免數(shù)據(jù)過分?jǐn)M合所建的模型,這一特性使得它難以通過自身的算法去很好地處理不完整數(shù)據(jù)。因此,缺省值需要通過專門的方法進(jìn)行推導(dǎo)、填充等,以減少數(shù)據(jù)挖掘算法與實(shí)際應(yīng)用之間的差距。
缺失值處理方法的分析與比較
處理不完整數(shù)據(jù)集的方法主要有三大類:刪除元組、數(shù)據(jù)補(bǔ)齊、不處理。
刪除元組
也就是將存在遺漏信息屬性值的對象(元組,記錄)刪除,從而得到一個(gè)完備的信息表。這種方法簡單易行,在對象有多個(gè)屬性缺失值、被刪除的含缺失值的對象與初始數(shù)據(jù)集的數(shù)據(jù)量相比非常小的情況下非常有效,類標(biāo)號缺失時(shí)通常使用該方法。
然而,這種方法卻有很大的局限性。它以減少歷史數(shù)據(jù)來換取信息的完備,會(huì)丟棄大量隱藏在這些對象中的信息。在初始數(shù)據(jù)集包含的對象很少的情況下,刪除少量對象足以嚴(yán)重影響信息的客觀性和結(jié)果的正確性;因此,當(dāng)缺失數(shù)據(jù)所占比例較大,特別當(dāng)遺漏數(shù)據(jù)非隨機(jī)分布時(shí),這種方法可能導(dǎo)致數(shù)據(jù)發(fā)生偏離,從而引出錯(cuò)誤的結(jié)論。
說明:刪除元組,或者直接刪除該列特征,有時(shí)候會(huì)導(dǎo)致性能下降。
數(shù)據(jù)補(bǔ)齊
這類方法是用一定的值去填充空值,從而使信息表完備化。通?;诮y(tǒng)計(jì)學(xué)原理,根據(jù)初始數(shù)據(jù)集中其余對象取值的分布情況來對一個(gè)缺失值進(jìn)行填充。數(shù)據(jù)挖掘中常用的有以下幾種補(bǔ)齊方法:
人工填寫(filling manually)
由于最了解數(shù)據(jù)的還是用戶自己,因此這個(gè)方法產(chǎn)生數(shù)據(jù)偏離最小,可能是填充效果最好的一種。然而一般來說,該方法很費(fèi)時(shí),當(dāng)數(shù)據(jù)規(guī)模很大、空值很多的時(shí)候,該方法是不可行的。
特殊值填充(Treating Missing Attribute values as Special values)
將空值作為一種特殊的屬性值來處理,它不同于其他的任何屬性值。如所有的空值都用“unknown”填充。這樣將形成另一個(gè)有趣的概念,可能導(dǎo)致嚴(yán)重的數(shù)據(jù)偏離,一般不推薦使用。
平均值填充(Mean/Mode Completer)
將初始數(shù)據(jù)集中的屬性分為數(shù)值屬性和非數(shù)值屬性來分別進(jìn)行處理。
如果空值是數(shù)值型的,就根據(jù)該屬性在其他所有對象的取值的平均值來填充該缺失的屬性值;
如果空值是非數(shù)值型的,就根據(jù)統(tǒng)計(jì)學(xué)中的眾數(shù)原理,用該屬性在其他所有對象的取值次數(shù)最多的值(即出現(xiàn)頻率最高的值)來補(bǔ)齊該缺失的屬性值。與其相似的另一種方法叫條件平均值填充法(Conditional Mean Completer)。在該方法中,用于求平均的值并不是從數(shù)據(jù)集的所有對象中取,而是從與該對象具有相同決策屬性值的對象中取得。
這兩種數(shù)據(jù)的補(bǔ)齊方法,其基本的出發(fā)點(diǎn)都是一樣的,以最大概率可能的取值來補(bǔ)充缺失的屬性值,只是在具體方法上有一點(diǎn)不同。與其他方法相比,它是用現(xiàn)存數(shù)據(jù)的多數(shù)信息來推測缺失值。
熱卡填充(Hot deck imputation,或就近補(bǔ)齊)
對于一個(gè)包含空值的對象,熱卡填充法在完整數(shù)據(jù)中找到一個(gè)與它最相似的對象,然后用這個(gè)相似對象的值來進(jìn)行填充。不同的問題可能會(huì)選用不同的標(biāo)準(zhǔn)來對相似進(jìn)行判定。該方法概念上很簡單,且利用了數(shù)據(jù)間的關(guān)系來進(jìn)行空值估計(jì)。這個(gè)方法的缺點(diǎn)在于難以定義相似標(biāo)準(zhǔn),主觀因素較多。
K最近距離鄰法(K-means clustering)
先根據(jù)歐式距離或相關(guān)分析來確定距離具有缺失數(shù)據(jù)樣本最近的K個(gè)樣本,將這K個(gè)值加權(quán)平均來估計(jì)該樣本的缺失數(shù)據(jù)。
使用所有可能的值填充(Assigning All Possible values of the Attribute)
用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補(bǔ)齊效果。但是,當(dāng)數(shù)據(jù)量很大或者遺漏的屬性值較多時(shí),其計(jì)算的代價(jià)很大,可能的測試方案很多。
組合完整化方法(Combinatorial Completer)
用空缺屬性值的所有可能的屬性取值來試,并從最終屬性的約簡結(jié)果中選擇最好的一個(gè)作為填補(bǔ)的屬性值。這是以約簡為目的的數(shù)據(jù)補(bǔ)齊方法,能夠得到好的約簡結(jié)果;但是,當(dāng)數(shù)據(jù)量很大或者遺漏的屬性值較多時(shí),其計(jì)算的代價(jià)很大。
回歸(Regression)
基于完整的數(shù)據(jù)集,建立回歸方程。對于包含空值的對象,將已知屬性值代入方程來估計(jì)未知屬性值,以此估計(jì)值來進(jìn)行填充。當(dāng)變量不是線性相關(guān)時(shí)會(huì)導(dǎo)致有偏差的估計(jì)。
期望值最大化方法(Expectation maximization,EM)
EM算法是一種在不完全數(shù)據(jù)情況下計(jì)算極大似然估計(jì)或者后驗(yàn)分布的迭代算法。在每一迭代循環(huán)過程中交替執(zhí)行兩個(gè)步驟:E步(Excepctaion step,期望步),在給定完全數(shù)據(jù)和前一次迭代所得到的參數(shù)估計(jì)的情況下計(jì)算完全數(shù)據(jù)對應(yīng)的對數(shù)似然函數(shù)的條件期望;M步(Maximzation step,極大化步),用極大化對數(shù)似然函數(shù)以確定參數(shù)的值,并用于下步的迭代。算法在E步和M步之間不斷迭代直至收斂,即兩次迭代之間的參數(shù)變化小于一個(gè)預(yù)先給定的閾值時(shí)結(jié)束。該方法可能會(huì)陷入局部極值,收斂速度也不是很快,并且計(jì)算很復(fù)雜。
多重填補(bǔ)(Multiple Imputation,MI)
多重填補(bǔ)方法分為三個(gè)步驟:
為每個(gè)空值產(chǎn)生一套可能的填補(bǔ)值,這些值反映了無響應(yīng)模型的不確定性;每個(gè)值都被用來填補(bǔ)數(shù)據(jù)集中的缺失值,產(chǎn)生若干個(gè)完整數(shù)據(jù)集合。
每個(gè)填補(bǔ)數(shù)據(jù)集合都用針對完整數(shù)據(jù)集的統(tǒng)計(jì)方法進(jìn)行統(tǒng)計(jì)分析。
對來自各個(gè)填補(bǔ)數(shù)據(jù)集的結(jié)果進(jìn)行綜合,產(chǎn)生最終的統(tǒng)計(jì)推斷,這一推斷考慮到了由于數(shù)據(jù)填補(bǔ)而產(chǎn)生的不確定性。該方法將空缺值視為隨機(jī)樣本,這樣計(jì)算出來的統(tǒng)計(jì)推斷可能受到空缺值的不確定性的影響。該方法的計(jì)算也很復(fù)雜。
C4.5方法
通過尋找屬性間的關(guān)系來對遺失值填充。它尋找之間具有最大相關(guān)性的兩個(gè)屬性,其中沒有遺失值的一個(gè)稱為代理屬性,另一個(gè)稱為原始屬性,用代理屬性決定原始屬性中的遺失值。這種基于規(guī)則歸納的方法只能處理基數(shù)較小的名詞型屬性。
就幾種基于統(tǒng)計(jì)的方法而言,刪除元組法和平均值法差于熱卡填充法、期望值最大化方法和多重填充法;回歸是比較好的一種方法,但仍比不上hot deck和EM;EM缺少M(fèi)I包含的不確定成分。值得注意的是,這些方法直接處理的是模型參數(shù)的估計(jì)而不是空缺值預(yù)測本身。它們合適于處理無監(jiān)督學(xué)習(xí)的問題,而對有監(jiān)督學(xué)習(xí)來說,情況就不盡相同了。譬如,你可以刪除包含空值的對象用完整的數(shù)據(jù)集來進(jìn)行訓(xùn)練,但預(yù)測時(shí)你卻不能忽略包含空值的對象。另外,C4.5和使用所有可能的值填充方法也有較好的補(bǔ)齊效果,人工填寫和特殊值填充則是一般不推薦使用的。
不處理
補(bǔ)齊處理只是將未知值補(bǔ)以我們的主觀估計(jì)值,不一定完全符合客觀事實(shí),在對不完備信息進(jìn)行補(bǔ)齊處理的同時(shí),我們或多或少地改變了原始的信息系統(tǒng)。而且,對空值不正確的填充往往將新的噪聲引入數(shù)據(jù)中,使挖掘任務(wù)產(chǎn)生錯(cuò)誤的結(jié)果。因此,在許多情況下,我們還是希望在保持原始信息不發(fā)生變化的前提下對信息系統(tǒng)進(jìn)行處理。
不處理缺失值,直接在包含空值的數(shù)據(jù)上進(jìn)行數(shù)據(jù)挖掘的方法包括貝葉斯網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)等。
貝葉斯網(wǎng)絡(luò)提供了一種自然的表示變量間因果信息的方法,用來發(fā)現(xiàn)數(shù)據(jù)間的潛在關(guān)系。在這個(gè)網(wǎng)絡(luò)中,用節(jié)點(diǎn)表示變量,有向邊表示變量間的依賴關(guān)系。貝葉斯網(wǎng)絡(luò)僅適合于對領(lǐng)域知識具有一定了解的情況,至少對變量間的依賴關(guān)系較清楚的情況。否則直接從數(shù)據(jù)中學(xué)習(xí)貝葉斯網(wǎng)的結(jié)構(gòu)不但復(fù)雜性較高(隨著變量的增加,指數(shù)級增加),網(wǎng)絡(luò)維護(hù)代價(jià)昂貴,而且它的估計(jì)參數(shù)較多,為系統(tǒng)帶來了高方差,影響了它的預(yù)測精度。
人工神經(jīng)網(wǎng)絡(luò)可以有效的對付缺失值,但人工神經(jīng)網(wǎng)絡(luò)在這方面的研究還有待進(jìn)一步深入展開。
知乎上的一種方案:
4.把變量映射到高維空間。比如性別,有男、女、缺失三種情況,則映射成3個(gè)變量:是否男、是否女、是否缺失。連續(xù)型變量也可以這樣處理。比如Google、百度的CTR預(yù)估模型,預(yù)處理時(shí)會(huì)把所有變量都這樣處理,達(dá)到幾億維。這樣做的好處是完整保留了原始數(shù)據(jù)的全部信息、不用考慮缺失值、不用考慮線性不可分之類的問題。缺點(diǎn)是計(jì)算量大大提升。
而且只有在樣本量非常大的時(shí)候效果才好,否則會(huì)因?yàn)檫^于稀疏,效果很差。
總結(jié)
大多數(shù)數(shù)據(jù)挖掘系統(tǒng)都是在數(shù)據(jù)挖掘之前的數(shù)據(jù)預(yù)處理階段采用第一、第二類方法來對空缺數(shù)據(jù)進(jìn)行處理。并不存在一種處理空值的方法可以適合于任何問題。無論哪種方式填充,都無法避免主觀因素對原系統(tǒng)的影響,并且在空值過多的情形下將系統(tǒng)完備化是不可行的。從理論上來說,貝葉斯考慮了一切,但是只有當(dāng)數(shù)據(jù)集較小或滿足某些條件(如多元正態(tài)分布)時(shí)完全貝葉斯分析才是可行的。而現(xiàn)階段人工神經(jīng)網(wǎng)絡(luò)方法在數(shù)據(jù)挖掘中的應(yīng)用仍很有限。值得一提的是,采用不精確信息處理數(shù)據(jù)的不完備性已得到了廣泛的研究。不完備數(shù)據(jù)的表達(dá)方法所依據(jù)的理論主要有可信度理論、概率論、模糊集合論、可能性理論,D-S的證據(jù)理論等。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03