為什么需要處理缺失值呢烁竭?
訓(xùn)練數(shù)據(jù)集中缺少的數(shù)據(jù)可以減少模型的擬合抵屿,或者可能導(dǎo)致模型偏差,因?yàn)闆]有正確地分析變量的行為和關(guān)系,可能導(dǎo)致錯(cuò)誤的預(yù)測或分類军掂。

注意上圖中缺失值:在左側(cè)的情況下,沒有處理缺失值恍飘, 男性打板球的機(jī)會(huì)高于女性绢彤。 另一方面,如果看看第二個(gè)表颈墅,其中顯示了處理缺失值后的數(shù)據(jù)(基于性別)蜡镶,我們可以看到女性與男性相比有較高的打板球的機(jī)會(huì)。
為什么會(huì)有缺失值呢恤筛?
前面說明了在數(shù)據(jù)集中處理缺失值的重要性官还, 現(xiàn)在來確定發(fā)生這些缺失值的原因,主要有以下兩個(gè)階段:
數(shù)據(jù)提榷咎场(Data Extraction)
提取過程可能有問題望伦,在這種情況下,應(yīng)該使用數(shù)據(jù)監(jiān)護(hù)檢查數(shù)據(jù)的準(zhǔn)確性煎殷, 一些散列程序也可以用來確保數(shù)據(jù)提取的正確性屯伞,比較容易糾正(數(shù)據(jù)提取主要在NLP或者圖像鄰域,我現(xiàn)在理解不到位豪直,后面補(bǔ)充)劣摇。
數(shù)據(jù)采集(Data collection)
數(shù)據(jù)采集時(shí)發(fā)生的錯(cuò)誤,很難糾正弓乙,主要分為以下四種:
- Missing completely at random
即所有觀測值的缺失變量的概率相同末融。 例如:數(shù)據(jù)收集過程的受訪者決定在拋出一個(gè)硬幣后,宣布他們的收入暇韧。 如果發(fā)生勾习,受訪者宣布他的收入,反之亦然懈玻,這樣语卤,每個(gè)觀察值,具有相同概率的缺失值酪刀。 - Missing at random
即隨機(jī)丟失變量概率粹舵,因其他輸入變量的不同值或類別而變化。 例如:我們收集年齡骂倘,女性相比男性眼滤,具有較高的缺失值。 - 缺失值依賴于不可觀察的預(yù)測變量
即缺失值不是隨機(jī)的并且與未查看的輸入變量相關(guān)历涝。 例如:在一項(xiàng)醫(yī)學(xué)研究中诅需,如果特定診斷導(dǎo)致不適漾唉,那么研究中有更多的輟學(xué)機(jī)會(huì)。 這個(gè)缺失值不是隨機(jī)的堰塌,除非我們將“不適”作為所有患者的輸入變量赵刑。 - 缺失取決于缺失值本身
即缺失值的概率與缺失值本身直接相關(guān)。 例如:擁有較高或較低收入的人士场刑,可能讓其提供收入證明般此,有些不愿意。
缺失值有哪些處理方法呢牵现?
刪除

- 整條記錄刪除(list wise deletion)
刪除任何變量丟失的觀察結(jié)果铐懊,這種方法的主要優(yōu)點(diǎn)之一是簡單,但是這種方法降低了模型的準(zhǔn)確性瞎疼,因?yàn)樗鼫p少了樣本大小科乎。 - 刪除對應(yīng)的缺失值(In pair wise deletion)
這種方法的優(yōu)點(diǎn)是,它保留了許多可用于分析的情況贼急,缺點(diǎn)之一是對不同的變量使用不同的樣本大小茅茂。 - 當(dāng)缺失值為Missing completely at random,使用刪除方法太抓,否則可能會(huì)偏離模型輸出空闲。
Mean/ Mode/ Median估計(jì)
目標(biāo)是使用可以在數(shù)據(jù)集的有效值中識(shí)別的已知關(guān)系來輔助估計(jì)缺失值。 Mean/Mode/Median是最常用的方法之一腻异,包括通過該變量的所有已知值的mean或Median(定量屬性)或Mode(定性屬性)來替換給定屬性的缺失數(shù)據(jù),有以下兩種方式:
- 廣義插補(bǔ)(Generalized Imputation)
在這種情況下这揣,我們計(jì)算該變量的所有非缺失值的mean或Median悔常,然后用Mean或Median替換缺失值。 如上表所示给赞,變量“人力”缺失值机打,取所有非缺失值的平均值(28.33)替換缺失值。 - 相似插補(bǔ)(Similar case Imputation)
如上表片迅,分別計(jì)算性別“男性”(29.75)和“女性”(25)的平均值残邀,然后根據(jù)性別替換缺失值,對于“男”的柑蛇,以29.75代替缺失值芥挣,“女”的以“25”代替。 - 如果missing value占總體的比例非常小耻台,那么直接填入Mean空免、Mode或者M(jìn)edian
預(yù)測模型(Prediction Model)
預(yù)測模型是處理缺失值的復(fù)雜方法之一, 通過創(chuàng)建一個(gè)預(yù)測模型來估計(jì)替代缺失值盆耽。 在這種情況下蹋砚,我們將數(shù)據(jù)集分為兩組:一組沒有變量的缺失值扼菠,另一組有缺少值, 第一個(gè)數(shù)據(jù)集成為模型的訓(xùn)練數(shù)據(jù)集坝咐,而具有缺失值的第二個(gè)數(shù)據(jù)集是測試數(shù)據(jù)集循榆,變量與缺失值被視為目標(biāo)變量。 接下來墨坚,我們創(chuàng)建一個(gè)模型秧饮,根據(jù)訓(xùn)練數(shù)據(jù)集的其他屬性預(yù)測目標(biāo)變量,并填充測試數(shù)據(jù)集的缺失值框杜。我們可以使用回歸浦楣,方差分析,邏輯回歸和各種建模技術(shù)來執(zhí)行此操作咪辱。 這種方法有兩個(gè)缺點(diǎn):
- 模型估計(jì)值通常比真實(shí)值更好
- 如果與數(shù)據(jù)集中的屬性和缺少值的屬性沒有關(guān)系振劳,則該模型對于估計(jì)缺失值將不精確。
如果missing value所占比例不算小也不算大時(shí)油狂,采用該方法历恐。
KNN
此方法使用與值丟失的屬性最相似的屬性來估計(jì)屬性的缺失值,通過距離函數(shù)確定兩個(gè)屬性的相似度专筷。 具有如下優(yōu)點(diǎn)和缺點(diǎn):
優(yōu)點(diǎn):
KNN可以預(yù)測定性和定量屬性
不需要為缺少數(shù)據(jù)的每個(gè)屬性創(chuàng)建預(yù)測模型
具有多個(gè)缺失值的屬性可以輕松處理
數(shù)據(jù)的相關(guān)結(jié)構(gòu)被考慮在內(nèi)
缺點(diǎn):
KNN算法在分析大數(shù)據(jù)方面非常耗時(shí), 搜索所有數(shù)據(jù)集弱贼,尋找最相似的實(shí)例。 k值的選擇是非常關(guān)鍵的磷蛹。
k較高脫顯不了顯著性屬性吮旅,而較低的k會(huì)丟失重要屬性。
注意: 如果missing value所占比例大味咳,那么直接將miss value當(dāng)做一種特殊的情況庇勃,另取一個(gè)值填入。
#個(gè)人主頁:www.iooy.com
參考:https://www.analyticsvidhya.com/blog/2016/01/guide-data-exploration/