




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
異常值的處理教師:亢華愛北京信息職業技術學院商務數據分析與應用專業教學資源庫目錄Contents基于3σ原則檢測異常值概述基于箱形圖檢測異常值1PART概述概述樣本中的個別值,其數值明顯偏離它所屬樣本的其余觀測值,這些數值是不合理的或錯誤異常值要想確認一組數據中是否有異常值,則常用的檢測方法有3σ原則(拉依達準則)和箱形圖,其中,3σ原則是基于正態分布的數據檢測,而箱形圖沒有什么嚴格的要求,可以檢測任意一組數據2PART基于3σ原則檢測異常值基于3σ原則檢測異常值3σ原則又稱為拉依達原則,它是指假設一組檢測數據只含有隨機誤差,對其進行計算處理得到標準偏差,按一定概率確定一個區間,凡是超過這個區間的誤差都是粗大誤差,在此誤差范圍內的數據應予以剔除。在正態分布概率公式中,3σ表示標準差,μ表示平均數,??(??)表示正態分數函數,具體如下基于3σ原則檢測異常值正態分布函數圖根據正態分布函數圖可知,3??原則在各個區間所占的概率如下所示(1)數值分布在(??-??,??+??)中的概率為0.682。(2)數值分布在(??-??,??+??)中的概率為0.954。(3)數值分布在(??-3??,??+3??)中的概率為0.997。由此可知,數值幾乎全部集中在(??-3??,??+3??)區間內,超岀這個范圍的可能性僅占不到0.3%。所以,凡是誤差超過這個區間的就屬于異常值,應予以剔除定義一個基于3??原則的函數,用來檢測一組數據中是否存在異常值,具體代碼如下In[13]:importnumpyasnp#serl表示傳入DataFrame的某一列defthree_sigma(serl):#求平弱值mean_value=serl.mean()#求標準差std_value=serl.std()#位于(??-3??,??+3??)區間的數據是正常的,不在這個區間的數據為異常的#serl中的數值小于??-3??或大于??+3??均為異常值#一旦發現有異常值,就標注為True,否則標注為Falserule=(mean_value-3*std_value>ser1) |(serl.mean()+3*serl.std()<ser1)#返回異常值的位置索引index=np.arange(serl.shape[0])[rule]#獲取異常數據outrange=serl.iloc[index]returnoutrange基于3σ原則檢測異常值這里,我們準備了一套符合正態分布的包含異常值的數據,將其保存在example.data.csv文件中。使用Pandas的read_csv()函數從文件中讀取數據,并轉換為DataFrame對象,具體代碼如下In[14]:#導入需要使用的包importpandasaspdfile=open(r'E:/數據分析/example_data.csv')df=pd.readcsv(file)dfOut[14]:
A
B0
1
21
2
32
3
83
4
54
5
65
560
76
2
87
3
98
3
09
4
310
5
411
3
512
2
6基于3σ原則檢測異常值13
4
714
5
215
23
116
2
5從輸出結果可以看出,位于第5行第A列的數據為560,這個數值比其他值大很多,很有可能是一個異常值。最后對df對象中的A列數據進行檢測,示例代碼如下In[15]:three_sigma(df['A'])Out[15]:5 560Name:A,dtype:int64基于3σ原則檢測異常值經過3??原則檢測后,返回了索引5對應的數據,也就是剛剛我們看到的異常值同樣可以檢測B列數據中是否存在異常值,示例代碼如下In[16]:three_sigma(df['B'])Out[16]:Series([],Name:B,dtype:int64)基于3σ原則檢測異常值從輸出結果可以看岀,沒有返回任何數據,這表明該列數據中不存在異常值3PART基于箱形圖檢測異常值基于箱形圖檢測異常值31QL稱為下四分位數,表示全部觀察中四分之一的數據取值比它小2QL稱為下四分位數,表示全部觀察中四分之一的數據取值比它小3IQR稱為四分位數間距,是上四分位數Qu與下四分位數2之差,其間包含了全部觀察值的一半一種用作顯示一組數據分散情況的統計圖。在箱形圖中,異常值通常被定義為小于QL-1.5QR或大于QU+1.5IQR的值。箱形圖12基于箱形圖檢測異常值箱型圖結構示意圖離散點表示的是異常值,上界表示除異常值以外數據中最大值;下界表示除異常值以外數據中最小值箱形圖是根據實際數據進行繪制,對數據沒有任何要求(如3??原則要求數據服從正態分布或近似正態分布)。箱形圖判斷異常值的標準是以四分位數和四分位距為基礎為了能夠從箱形圖中查看異常值,Pandas中提供了一個boxplot()方法,專門用來繪制箱形圖根據一組帶有異常值的數據繪制箱形圖,具體示例代碼如下In[17]:importpandasaSpddf=pd.DataFrame({'A':[1,2,3,4],'B':[2,3,5,2],'C':[1,4,7,4],'D':[1,5,30,3]})df.boxplot(column=['A','B','C','D'])Out[17]:<matplotlib.axes._subplots.AxesSubplotat0x831b978>基于箱形圖檢測異常值基于箱形圖檢測異常值運行結果圖上述示例中,創建的df對象中共有16個數據,其中有15個數值位于10以內,還有一個數值比10大很多。從輸出的箱形圖中可以看出,D列的數據中有一個離散點,說明箱形圖成功檢測出了異常值?;谙湫螆D檢測異常值用具體的值來進行替換,可用前后兩個觀測值的平均值修正該異常值直接將含有異常值的記錄刪除不處理,直接在具有異常值的數據集上進行統計分析視為缺失值,利用缺失值的處理方法修正該異常值檢測出異常值后,通常會采用如下四種方式處理這些異常值基于箱形圖檢測異常值異常數據被檢測出來之后,需要進一步確認它們是否為真正的異常值,等確認完以后再決定選用哪種方法進行解決如果希望對異常值進行修改,則可以使用Pandas中replace()方法進行替換,該方法不僅可以對單個數據進行替換,也可以多個數據執行批量替換操作replace()方法的語法格式如下replace(to_replace=None,value=None,inplace=False,None,regex=False,method=,pad*)上述方法中部分參數表示的含義如下:(1)to_replace:表不查找被替換值的方式。(2)value:用來替換任何匹配to_replace的值,默認值None。(3)limit:表示前向或后向填充的最大尺寸間隙。(4)regex:接收布爾值或與to_replace相同的類型,默認為False,表示是否將to_replace和value解釋為正則表達式。(5)method:替換時使用的方法,pad/ffill表示向前填充,hfill表示向后填充?;谙湫螆D檢測異常值假設現在有一張菜譜單,它里面列出了菜品的名稱以及具體價格,如圖所示使用箱形圖對菜譜中的價格一列進行檢測時,發現價格一列中有一個離散點,這個離散點是干鍋鴨掌的價格,在詢問老板之后得知干鍋鴨掌的價格應該為38.8元,只不過在打印的時候漏掉了小數點帶有異常值的一組數據我們通過一個替換菜單異常價格的示例,演示如何使用replace()方法替換異常值,具體代碼如下In[18]:importpandasaspddf=pd.DataFrame({'菜譜名':['紅燒肉','鐵板就魚','小炒肉','干鍋鴨掌','酸菜魚'],'價格':[38,25,26,388,35]})df.replace(to_replace=388,value=38.8)Out[18]:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CNCA 063-2024煤的真密度測定氦氣置換法
- T/TMAC 093-2024隧道工程玄武巖纖維噴射混凝土技術規范
- 2025年簡單個人蔬菜大棚承包合同7篇
- LED顯示屏戶外媒體廣告發布合同協議7篇
- 留學中介服務合同6篇
- 勞動合同臺賬模板勞動合同管理臺賬6篇
- 電力工程施工合同與電力工程施工承包合同5篇
- 理論聯系實際談一談你對高質量發展的理解參考答案二
- 中小學生生理衛生知識
- 文字、語音、圖象識別設備項目績效評估報告
- 北師大版五年級數學下冊第七單元用方程解決問題單元檢測(含答案)
- 全國職業院校技能大賽高職組(商務數據分析賽項)備賽試題庫(含答案)
- 《中華人民共和國職業分類大典》(2022年版)各行業職業表格統計版(含數字職業)
- 數字孿生數據映射機制-深度研究
- 《藥學綜合知識與技能》課件-過敏性鼻炎的自我藥療與用藥指導
- 加溫毯預防術中低體溫
- 檢驗科實驗室生物安全風險評估
- 石材維修合同范本(2025年)
- 【MOOC】全新版大學進階英語綜合教程I-內蒙古大學 中國大學慕課MOOC答案
- 《南方航空公司匯率風險管理策略案例分析》
- 2025年山東省春季高考模擬考試英語試卷(含答案解析)
評論
0/150
提交評論