異常值的處理

概述

異常值分析是檢驗數(shù)據(jù)是否有錄入錯誤以及含有不合常理的數(shù)據(jù)姨蝴;
異常值是指樣本中的個別值,其數(shù)據(jù)明顯偏離其余的觀測值腹忽。異常值也稱為離群點,異常值的分析也稱為離群點分析于个。
異常值處理一般分為以下幾個步驟:異常值檢測巡球、異常值篩選廊鸥、異常值處理。
其中:
異常值檢測的方法主要有:箱型圖斤吐、簡單統(tǒng)計量(比如觀察極(大/小)值)搔涝,3σ原則 ;
異常值處理方法主要有:刪除法和措、插補法庄呈、替換法。


提到異常值不得不說一個詞:魯棒性派阱。就是不受異常值影響诬留,一般是魯棒性高的數(shù)據(jù),比較優(yōu)質(zhì)贫母。

一文兑、異常值檢驗

異常值大概包括缺失值、離群值腺劣、重復(fù)值绿贞、數(shù)據(jù)不一致。
1橘原、基本函數(shù)
summary可以顯示每個變量的缺失值數(shù)量.
2籍铁、缺失值檢驗
關(guān)于缺失值的檢測應(yīng)該包括:缺失值數(shù)量、缺失值比例趾断、缺失值與完整值數(shù)據(jù)篩選拒名。

sum(complete.cases(saledata))         #is.na(saledata)  
sum(!complete.cases(saledata))  
mean(!complete.cases(saledata))       #1/201數(shù)字,缺失值比例  
saledata[!complete.cases(saledata),]  #篩選出缺失值的數(shù)值

3芋酌、箱型圖檢驗離群值
箱型圖的檢測包括:四分位數(shù)檢測(箱型圖自帶)+1δ標準差上下+異常值數(shù)據(jù)點增显。
箱型圖有一個非常好的地方是,boxplot之后脐帝,結(jié)果中會自帶異常值同云。
4糖权、數(shù)據(jù)去重
數(shù)據(jù)去重與數(shù)據(jù)分組合并存在一定區(qū)別,去重是純粹的所有變量都是重復(fù)的梢杭,而數(shù)據(jù)分組合并可能是因為一些主鍵的重復(fù)温兼。
數(shù)據(jù)去重包括重復(fù)檢測(table、unique函數(shù))以及重復(fù)數(shù)據(jù)處理(unique/duplicated)武契。
常見的有unique、數(shù)據(jù)框中duplicated函數(shù)荡含,duplicated返回的是邏輯值咒唆。
5、數(shù)據(jù)不一致
指數(shù)據(jù)的矛盾性释液、不相容性全释;在數(shù)據(jù)挖掘過程中,不一致數(shù)據(jù)的產(chǎn)生主要發(fā)生在數(shù)據(jù)集成的過程中,可能是由于被挖掘數(shù)據(jù)是來自于從不同的數(shù)據(jù)源、重復(fù)存放的數(shù)據(jù)未能進行一致性地更新造成的误债。

二浸船、異常值處理

異常值的的處理有刪除含有異常值的觀測(直接刪除,當(dāng)樣本少時直接刪除會造成樣本量不足寝蹈,改變變量的分布)李命、當(dāng)作缺失值(利用現(xiàn)有的信息,對其當(dāng)缺失值填補)箫老、平均值修正(用前后兩個觀測值的均值修正該異常值)封字、不處理。
常見的異常值處理辦法是刪除法耍鬓、替代法(連續(xù)變量均值替代阔籽、離散變量用眾數(shù)以及中位數(shù)替代)、插補法(回歸插補牲蜀、多重插補)
除了直接刪除笆制,可以先把異常值變成缺失值、然后進行后續(xù)缺失值補齊涣达。
實踐中在辆,異常值處理,一般劃分為NA缺失值或者返回公司進行數(shù)據(jù)修整(數(shù)據(jù)返修為主要方法)
1峭判、異常值識別
利用圖形——箱型圖進行異常值檢測开缎。

par(mfrow=c(1,2))#將繪圖窗口劃為1行兩列,同時顯示兩圖  
dotchart(inputfile$sales)#繪制單變量散點圖,多蘭圖  
pc=boxplot(inputfile$sales,horizontal=T)#繪制水平箱形圖  

2林螃、蓋帽法
整行替換數(shù)據(jù)框里99%以上和1%以下的點奕删,將99%以上的點值=99%的點值;小于1%的點值=1%的點值疗认。

q1<-quantile(result$tot_derog, 0.001)        #取得時1%時的變量值  
q99<-quantile(result$tot_derog, 0.999)       #replacement has 1 row, data has 0 說明一個沒換  
result[result$tot_derog<q1,]$tot_derog<-q1  
result[result$tot_derog>q99,]$tot_derog<-q99  
summary(result$tot_derog)                    #蓋帽法之后完残,查看數(shù)據(jù)情況  
fix(inputfile)#表格形式呈現(xiàn)數(shù)據(jù)  
which(inputfile$sales==6607.4)#可以找到極值點序號(位置)是啥  

3伏钠、噪聲數(shù)據(jù)處理——分箱法
將連續(xù)變量等級化之后,不同的分位數(shù)的數(shù)據(jù)就會變成不同的等級數(shù)據(jù)谨设,連續(xù)變量離散化了熟掂,消除了極值的影響。
4扎拣、異常值處理——均值替換
數(shù)據(jù)集分為缺失值赴肚、非缺失值兩塊內(nèi)容。缺失值處理如果是連續(xù)變量二蓝,可以選擇均值誉券;離散變量,可以選擇眾數(shù)或者中位數(shù)刊愚。
計算非缺失值數(shù)據(jù)的均值踊跟,然后賦值給缺失值數(shù)據(jù)。
均值替換法處理缺失鸥诽,結(jié)果轉(zhuǎn)存
思路:拆成兩份商玫,把缺失值一份用均值賦值,然后重新合起來

avg_sales=mean(inputfile1$sales)#求變量未缺失部分的均值  
inputfile2$sales=rep(avg_sales,n)#用均值替換缺失  
result2=rbind(inputfile1,inputfile2)#并入完成插補的數(shù)據(jù)  

5牡借、異常值處理——回歸插補法

model=lm(sales~date,data=inputfile1)#回歸模型擬合  
inputfile2$sales=predict(model,inputfile2)#模型預(yù)測  
result3=rbind(inputfile1,inputfile2)

6拳昌、異常值處理——多重插補——mice包
注意:多重插補的處理有兩個要點:先刪除Y變量的缺失值然后插補
1)被解釋變量有缺失值的觀測不能填補,只能刪除蓖捶,不能自己亂補地回;
2)只對放入模型的解釋變量進行插補。
比較詳細的來介紹一下這個多重插補法俊鱼。筆者整理了大致的步驟簡介如下:
缺失數(shù)據(jù)集——MCMC估計插補成幾個數(shù)據(jù)集——每個數(shù)據(jù)集進行插補建模(glm刻像、lm模型)——將這些模型整合到一起(pool)——評價插補模型優(yōu)劣(模型系數(shù)的t統(tǒng)計量)——輸出完整數(shù)據(jù)集(compute)
步驟詳細介紹:
函數(shù)mice()首先從一個包含缺失數(shù)據(jù)的數(shù)據(jù)框開始,然后返回一個包含多個(默認為5個)完整數(shù)據(jù)集的對象并闲。
每個完整數(shù)據(jù)集都是通過對原始數(shù)據(jù)框中的缺失數(shù)據(jù)進行插補而生成的细睡。 由于插補有隨機的成分,因此每個完整數(shù)據(jù)集都略有不同帝火。
其中溜徙,mice中使用決策樹cart有以下幾個要注意的地方:該方法只對數(shù)值變量進行插補,分類變量的缺失值保留犀填,cart插補法一般不超過5k數(shù)據(jù)集蠢壹。
然后, with()函數(shù)可依次對每個完整數(shù)據(jù)集應(yīng)用統(tǒng)計模型(如線性模型或廣義線性模型) 九巡,
最后图贸, pool()函數(shù)將這些單獨的分析結(jié)果整合為一組結(jié)果。最終模型的標準誤和p值都將準確地反映出由于缺失值和多重插補而產(chǎn)生的不確定性。

library(lattice) #調(diào)入函數(shù)包  
library(MASS)  
library(nnet)  
library(mice) #前三個包是mice的基礎(chǔ)  
imp=mice(inputfile,m=4) #4重插補疏日,即生成4個無缺失數(shù)據(jù)集  
fit=with(imp,lm(sales~date,data=inputfile))#選擇插補模型  
pooled=pool(fit) 
summary(pooled)  
result4=complete(imp,action=3)#選擇第三個插補數(shù)據(jù)集作為結(jié)果  

結(jié)果解讀:
1)imp對象中偿洁,包含了:每個變量缺失值個數(shù)信息、每個變量插補方式(PMM沟优,預(yù)測均值法常見)涕滋、插補的變量有哪些、預(yù)測變量矩陣(在矩陣中挠阁,行代表插補變量,列代表為插補提供信息的變量侵俗, 1和0分別表示使用和未使用);
同時 利用這個代碼impimpsales 可以找到坡慌,每個插補數(shù)據(jù)集缺失值位置的數(shù)據(jù)補齊具體數(shù)值是啥藻三。
2)with對象洪橘。插補模型可以多樣化,比如lm棵帽,glm都是可以直接應(yīng)用進去,詳情可見《R語言實戰(zhàn)》第十五章逗概;
3)pool對象。summary之后逾苫,會出現(xiàn)lm模型系數(shù)卿城,可以如果出現(xiàn)系數(shù)不顯著,那么則需要考慮換插補模型铅搓;
4)complete對象瑟押。m個完整插補數(shù)據(jù)集星掰,同時可以利用此函數(shù)輸出多望。

三氢烘、離群點檢測

離群點檢測與異常值主要的區(qū)別在于:
異常值針對單一變量,而離群值指的是很多變量綜合考慮之后的異常值播玖。
下面介紹一種基于聚類+歐氏距離的離群點檢測方法。
基于聚類的離群點檢測的步驟如下:數(shù)據(jù)標準化——聚類——求每一類每一指標的均值點——每一類每一指標生成一個矩陣——計算歐式距離——畫圖判斷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末镰绎,一起剝皮案震驚了整個濱河市木西,隨后出現(xiàn)的幾起案子畴栖,更是在濱河造成了極大的恐慌八千,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件照皆,死亡現(xiàn)場離奇詭異沸停,居然都是意外死亡膜毁,警方通過查閱死者的電腦和手機愤钾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杂瘸,“玉大人,你說我怎么就攤上這事败玉【邓叮” “怎么了运翼?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谦疾。 經(jīng)常有香客問我南蹂,道長,這世上最難降的妖魔是什么念恍? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮疗疟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘策彤。我一直安慰自己,他們只是感情好店诗,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捧弃,像睡著了一般擦囊。 火紅的嫁衣襯著肌膚如雪违霞。 梳的紋絲不亂的頭發(fā)上瞬场,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音眼五,去河邊找鬼彤灶。 笑死,一個胖子當(dāng)著我的面吹牛枢希,可吹牛的內(nèi)容都是我干的朱沃。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼搬卒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了契邀?” 一聲冷哼從身側(cè)響起失暴,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逗扒,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體现恼,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年始锚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喳逛。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖艺配,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情皮钠,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布麦轰,位于F島的核電站砖织,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏侧纯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一妹笆、第九天 我趴在偏房一處隱蔽的房頂上張望娜氏。 院中可真熱鬧拳缠,春花似錦贸弥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽帕胆。三九已至般渡,卻和暖如春懒豹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背儒老。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工记餐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人片酝。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像雕沿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子肥哎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一疾渣、認識缺失值 在我們的數(shù)據(jù)分析過程中,經(jīng)常會碰到缺失值的情況榴捡。缺失值產(chǎn)生的原因很多,比如人工輸入失誤吊圾,系統(tǒng)出錯,...
    鳴人吃土豆閱讀 6,049評論 0 11
  • 想寫這個系列很久了,最近剛好項目結(jié)束了閑下來有點時間躏筏,于是決定把之前學(xué)過的東西做個總結(jié)。之前看過一些機器學(xué)習(xí)方面的...
    huihui7987閱讀 1,143評論 0 0
  • 什么是離群點 ??離群點是一個數(shù)據(jù)對象埃碱,它顯著不同于其他數(shù)據(jù)對象酥泞,好像它是被不同的機制產(chǎn)生的一樣。有時也稱非離群點...
    尼小摩閱讀 4,931評論 0 6
  • 前提 在數(shù)據(jù)挖掘中颂跨,海量的原始數(shù)據(jù)中存在大量不完整(有缺失值)关贵、不一致、有異常的數(shù)據(jù)羡藐,會嚴重影響到數(shù)據(jù)挖掘建模的執(zhí)...
    神奇的考拉閱讀 1,957評論 0 3
  • 霜隨著我低落的心情直下 寒冷的到來讓我沒有防備 風(fēng)四起侵襲我單薄的身體 大衣裹得住我的心臟 卻裹不住內(nèi)心的冰涼 秋...
    冰清玉婕閱讀 126評論 0 0