




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.wd.wd.wd.異常值的檢測(cè)與處理目錄:一. 用箱線圖檢測(cè)異常值二. 使用局部異常因子法LOF法檢測(cè)異常值三. 用聚類(lèi)方法檢測(cè)異常值四. 檢測(cè)時(shí)間序列數(shù)據(jù)中的異常值五. 基于穩(wěn)健馬氏距離檢測(cè)異常值正文:異常值,是指測(cè)量數(shù)據(jù)中的隨機(jī)錯(cuò)誤或偏差,包括錯(cuò)誤值或偏離均值的孤立點(diǎn)值。在數(shù)據(jù)處理中,異常值會(huì)極大的影響回歸或分類(lèi)的效果。為了防止異常值造成的損失,需要在數(shù)據(jù)預(yù)處理階段進(jìn)展異常值檢測(cè)。另外,某些情況下,異常值檢測(cè)也可能是研究的目的,例如,數(shù)據(jù)造假的發(fā)現(xiàn)、電腦入侵的檢測(cè)等。一、用箱線圖檢測(cè)異常值在一條數(shù)軸上,以數(shù)據(jù)的上下四分位數(shù)Q1-Q3為界畫(huà)一個(gè)矩形盒子中間50%的數(shù)據(jù)落在盒內(nèi);在數(shù)據(jù)的中位
2、數(shù)位置畫(huà)一條線段為中位線;用標(biāo)記數(shù)據(jù)的均值;默認(rèn)延長(zhǎng)線不超過(guò)盒長(zhǎng)的1.5倍,之外的點(diǎn)認(rèn)為是異常值用標(biāo)記。盒形圖的主要應(yīng)用就是,剔除數(shù)據(jù)的異常值、判斷數(shù)據(jù)的偏態(tài)和尾重。 R語(yǔ)言實(shí)現(xiàn),使用函數(shù)boxplot.stats(), 基本格式為:stats, n, conf, out=boxplot.stats(x, coef=1.5, do.conf=TRUE, do.out=TRUE)其中,x為數(shù)值向量NA、NaN值將被忽略;coef為盒須的長(zhǎng)度為幾倍的IQR盒長(zhǎng),默認(rèn)為1.5;do.conf和do.out設(shè)置是否輸出conf和out返回值:stats返回5個(gè)元素的向量值,包括盒須最小值、盒最小值、中
3、位數(shù)、盒最大值、盒須最大值;n返回非缺失值的個(gè)數(shù);conf返回中位數(shù)的95%置信區(qū)間;out返回異常值。單變量異常值檢測(cè):set.seed(2016)x-rnorm(100)#生成100個(gè)服從N(0,1)的隨機(jī)數(shù)summary(x)#x的匯總信息Min. 1st Qu. Median Mean 3rd Qu. Max.-2.7910 -0.7173 -0.2662 -0.1131 0.5917 2.1940boxplot.stats(x)#用箱線圖檢測(cè)x中的異常值$stats1 -2.5153136 -0.7326879 -0.2662071 0.5929206 2.1942200$n1 10
4、0$conf1 -0.47565320 -0.05676092$out1 -2.791471boxplot(x)#繪制箱線圖多變量異常值檢測(cè):x-rnorm(100)y-rnorm(100)df-data.frame(x,y)#用x,y生成兩列的數(shù)據(jù)框head(df) x y1 0.41452353 0.48522682 -0.47471847 0.69676883 0.06599349 0.18551394 -0.50247778 0.70073355 -0.82599859 0.31168106 0.16698928 0.7604624#尋找x為異常值的坐標(biāo)位置a-which(x %in%
5、 boxplot.stats(x)$out)a1 78 81 92#尋找y為異常值的坐標(biāo)位置b-which(y %in% boxplot.stats(y)$out)b1 27 37intersect(a,b)#尋找變量x,y都為異常值的坐標(biāo)位置integer(0)plot(df)#繪制x, y的散點(diǎn)圖p2-union(a,b)#尋找變量x或y為異常值的坐標(biāo)位置1 78 81 92 27 37points(dfp2,col=red,pch=x,cex=2)#標(biāo)記異常值二、使用局部異常因子法LOF法檢測(cè)異常值局部異常因子法LOF法,是一種基于概率密度函數(shù)識(shí)別異常值的算法。LOF算法只對(duì)數(shù)值型數(shù)據(jù)有
6、效。算法原理:將一個(gè)點(diǎn)的局部密度與其周?chē)狞c(diǎn)的密度相比較,假設(shè)前者明顯的比后者小LOF值大于1,那么該點(diǎn)相對(duì)于周?chē)狞c(diǎn)來(lái)說(shuō)就處于一個(gè)相比照擬稀疏的區(qū)域,這就說(shuō)明該點(diǎn)是一個(gè)異常值。R語(yǔ)言實(shí)現(xiàn):使用DMwR或dprep包中的函數(shù)lofactor(), 基本格式為:lofactor(data, k)其中,data為數(shù)值型數(shù)據(jù)集;k為用于計(jì)算局部異常因子的鄰居數(shù)量。library(DMwR)iris2-iris,1:4#只選數(shù)值型的前4列head(iris2) Sepal.Length Sepal.Width Petal.Length Petal.Width1 5.1 3.5 1.4 0.22 4.9
7、 3.0 1.4 0.23 4.7 3.2 1.3 0.24 4.6 3.1 1.5 0.25 5.0 3.6 1.4 0.26 5.4 3.9 1.7 0.4out.scores-lofactor(iris2,k=10)#計(jì)算每個(gè)樣本的LOF值plot(density(out.scores)#繪制LOF值的概率密度圖#LOF值排前5的數(shù)據(jù)作為異常值,提取其樣本號(hào)out-order(out.scores,decreasing=TRUE)1:5out1 42 107 23 16 99iris2out,#異常值數(shù)據(jù) Sepal.Length Sepal.Width Petal.Length Pet
8、al.Width42 4.5 2.3 1.3 0.3107 4.9 2.5 4.5 1.723 4.6 3.6 1.0 0.216 5.7 4.4 1.5 0.499 5.1 2.5 3.0 1.1對(duì)鳶尾花數(shù)據(jù)進(jìn)展主成分分析,并利用產(chǎn)生的前兩個(gè)主成分繪制成雙標(biāo)圖來(lái)顯示異常值:n-nrow(iris2)#樣本數(shù)n1 150labels-1:n#用數(shù)字1-n標(biāo)注labels-out-.#非異常值用.標(biāo)注biplot(prcomp(iris2),cex=0.8,xlabs=labels)說(shuō)明:函數(shù)prcomp()對(duì)數(shù)據(jù)集iris2做主成份分析,biplot()取主成份分析結(jié)果的前兩列數(shù)據(jù)即前兩個(gè)主成
9、份繪制雙標(biāo)圖。上圖中,x軸和y軸分別代表第一、二主成份,箭頭指向了原始變量名,其中5個(gè)異常值分別用對(duì)應(yīng)的行號(hào)標(biāo)注。也可以通過(guò)函數(shù)pairs()繪制散點(diǎn)圖矩陣來(lái)顯示異常值,其中異常值用紅色的+標(biāo)注:pchs-rep(.,n)pchsout=+cols-rep(black,n)colsout-redpairs(iris2,pch=pchs,col=cols)注:另外,Rlof包中函數(shù)lof()可實(shí)現(xiàn)一樣的功能,并且支持并行計(jì)算和選擇不同距離。三、用聚類(lèi)方法檢測(cè)異常值通過(guò)把數(shù)據(jù)聚成類(lèi),將那些不屬于任何一類(lèi)的數(shù)據(jù)作為異常值。比方,使用基于密度的聚類(lèi)DBSCAN,如果對(duì)象在稠密區(qū)域嚴(yán)密相連,那么被分組到
10、一類(lèi);那些不會(huì)被分到任何一類(lèi)的對(duì)象就是異常值。也可以用k-means算法來(lái)檢測(cè)異常值:將數(shù)據(jù)分成k組,通過(guò)把它們分配到最近的聚類(lèi)中心。然后,計(jì)算每個(gè)對(duì)象到聚類(lèi)中心的距離或相似性,并選擇最大的距離作為異常值。kmeans.result-kmeans(iris2,centers=3)#kmeans聚類(lèi)為3類(lèi)kmeans.result$centers#輸出聚類(lèi)中心 Sepal.Length Sepal.Width Petal.Length Petal.Width1 5.901613 2.748387 4.393548 1.4338712 5.006000 3.428000 1.462000 0.24
11、60003 6.850000 3.073684 5.742105 2.071053kmeans.result$cluster#輸出聚類(lèi)結(jié)果1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 30 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 3 1 1 1 1 1 59 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 88 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 3 3 3 3 1 3 3 3
12、3 3 3 1 1 3117 3 3 3 1 3 1 3 1 3 3 1 1 3 3 3 3 3 1 3 3 3 3 1 3 3 3 1 3 3146 3 1 3 3 1#centers返回每個(gè)樣本對(duì)應(yīng)的聚類(lèi)中心樣本centers - kmeans.result$centerskmeans.result$cluster, #計(jì)算每個(gè)樣本到其聚類(lèi)中心的距離distances-sqrt(rowSums(iris2-centers)2)#找到距離最大的5個(gè)樣本,認(rèn)為是異常值out-order(distances,decreasing=TRUE)1:5out#異常值的樣本號(hào)1 99 58 94 61
13、119iris2out,#異常值 Sepal.Length Sepal.Width Petal.Length Petal.Width99 5.1 2.5 3.0 1.158 4.9 2.4 3.3 1.094 5.0 2.3 3.3 1.061 5.0 2.0 3.5 1.0119 7.7 2.6 6.9 2.3#繪制聚類(lèi)結(jié)果plot(iris2,c(Sepal.Length,Sepal.Width),pch=o,col=kmeans.result$cluster,cex=0.3)#聚類(lèi)中心用*標(biāo)記points(kmeans.result$centers,c(Sepal.Length, Sep
14、al.Width), col=1:3, pch=8, cex=1.5)#異常值用+標(biāo)記points(iris2out,c(Sepal.Length, Sepal.Width), pch=+, col=4, cex=1.5)四、檢測(cè)時(shí)間序列數(shù)據(jù)中的異常值對(duì)時(shí)間序列數(shù)據(jù)進(jìn)展異常值檢測(cè),先用函數(shù)stl()進(jìn)展穩(wěn)健回歸分解,再識(shí)別異常值。函數(shù)stl(),基于局部加權(quán)回歸散點(diǎn)平滑法(LOESS),對(duì)時(shí)間序列數(shù)據(jù)做穩(wěn)健回歸分解,分解為季節(jié)性、趨勢(shì)性、不規(guī)那么性三局部。f-stl(AirPassengers,periodic,robust=TRUE)#weights返回穩(wěn)健性權(quán)重,以控制數(shù)據(jù)中異常值產(chǎn)生的影
15、響out-which(f$weights 1e-8)#找到異常值out1 79 91 92 102 103 104 114 115 116 126 127 128 138 139 140#設(shè)置繪圖布局的參數(shù)op head(f$time.series,3) seasonal trend remainder1, -16.519819 123.1857 5.33416242, -27.337882 123.4214 21.91643993, 9.009778 123.6572 -0.6670047sts-f$time.series#用紅色x標(biāo)記異常值points(time(sts)out, 0.8*
16、sts,remainderout, pch=x, col=red)par(op)五、基于穩(wěn)健馬氏距離檢測(cè)異常值 檢驗(yàn)異常值的 基本思路是觀察各樣本點(diǎn)到樣本中心的距離,假設(shè)某些樣本點(diǎn)的距離太大,就可以判斷是異常值。假設(shè)使用歐氏距離,那么具有明顯的缺點(diǎn):將樣本不同屬性即各指標(biāo)變量之間的差異等同對(duì)待。而馬氏距離那么不受量綱的影響,并且在多元條件下,還考慮到了變量之間的相關(guān)性。對(duì)均值為,協(xié)方差矩陣為的多變量向量,其馬氏距離為(x-)T-1(x-)但是傳統(tǒng)的馬氏距離檢測(cè)方法是不穩(wěn)定的,因?yàn)閭€(gè)別異常值會(huì)把均值向量和協(xié)方差矩陣向自己方向吸引,這就導(dǎo)致馬氏距離起不了檢測(cè)異常值的所用。解決方法是利用迭代思想構(gòu)造
17、一個(gè)穩(wěn)健的均值和協(xié)方差矩陣估計(jì)量,然后計(jì)算穩(wěn)健馬氏距離,這樣異常值就能正確地被識(shí)別出來(lái)。 用mvoutlier包實(shí)現(xiàn),library(mvoutlier)set.seed(2016)x-cbind(rnorm(80),rnorm(80)y-cbind(rnorm(10,5,1), rnorm(10,5,1)#噪聲數(shù)據(jù)z-rbind(x,y)res1-uni.plot(z)#一維數(shù)據(jù)的異常值檢驗(yàn)#返回outliers標(biāo)記各樣本是否為異常值,md返回?cái)?shù)據(jù)的穩(wěn)健馬氏距離which(res1$outliers=TRUE)#返回異常值的樣本號(hào) 1 81 82 83 84 85 86 87 88 89 9
18、0res2-aq.plot(z)#基于穩(wěn)健馬氏距離的多元異常值檢驗(yàn)which(res2$outliers=TRUE)#返回異常值的樣本號(hào) 1 81 82 83 84 85 86 87 88 89 90上圖為在一維空間中觀察樣本數(shù)據(jù)。說(shuō)明:圖1-1為原始數(shù)據(jù);圖1-2的X軸為各樣本的穩(wěn)健馬氏距離排序,Y軸為距離的經(jīng)歷分布,紅色曲線為卡方分布,藍(lán)色垂線表示閥值,在閥值右側(cè)的樣本判斷為異常值;圖2-1和2-2均是用不同顏色來(lái)表示異常值,只是閥值略有不同。假設(shè)數(shù)據(jù)的維數(shù)過(guò)高,那么上述距離不再有很大意義例如基因數(shù)據(jù)有幾千個(gè)變量,數(shù)據(jù)之間變得稀疏。此時(shí)可以融合主成份降維的思路來(lái)進(jìn)展異常值檢驗(yàn)。mvoutlier包中提供了函數(shù)pcout()來(lái)對(duì)高維數(shù)據(jù)進(jìn)展異常值檢驗(yàn)。data(swiss)#使用swiss數(shù)據(jù)集res3-pcout(swiss)#返回wfinal01標(biāo)記是否為異常值,0表示是which(res3$wfinal01=0)#返回異常值的樣本號(hào) Delemont Franches-Mnt Porrentruy Broye 2 3 6 7 Glane Gruyere Sarine Veveyse 8 9 10 11 La
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 眉山職業(yè)技術(shù)學(xué)院《花紙?jiān)O(shè)計(jì)與排版》2023-2024學(xué)年第二學(xué)期期末試卷
- 質(zhì)量標(biāo)準(zhǔn)在醫(yī)療安全中的作用與實(shí)踐
- 沈陽(yáng)化工大學(xué)《城市復(fù)興設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 高效掌握企業(yè)財(cái)務(wù)分析與決策支持技巧
- 圖片視頻等多媒體緩存方案
- 河北工藝美術(shù)職業(yè)學(xué)院《虛擬現(xiàn)實(shí)引擎技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年銅鼓縣五下數(shù)學(xué)期末調(diào)研模擬試題含答案
- 承德醫(yī)學(xué)院《建筑及規(guī)劃設(shè)計(jì)5(上)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西南寧市良慶區(qū)2025年三下數(shù)學(xué)期末統(tǒng)考模擬試題含解析
- 貴陽(yáng)信息科技學(xué)院《流行趨勢(shì)預(yù)測(cè)與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 消防設(shè)施定期檢查、檢測(cè)、維修保養(yǎng)記錄
- 論十大關(guān)系全文
- 涂裝工技能鑒定考試題庫(kù)匯總-下(多選、判斷題部分)
- 2021年山東能源集團(tuán)西北礦業(yè)有限公司招聘筆試試題及答案解析
- 售后服務(wù)流程圖
- 建筑地基處理技術(shù)規(guī)范JGJ79-2012
- 印象主義、后印象主義課件
- 日常監(jiān)督檢查表
- 隊(duì)列訓(xùn)練教程ppt課件(PPT 86頁(yè))
- 第三章-農(nóng)村公共管理組織課件
- 注塑員工培訓(xùn)
評(píng)論
0/150
提交評(píng)論