日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python异常值均值填充_Python 异常值分析

發(fā)布時間:2023/12/9 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python异常值均值填充_Python 异常值分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

異常值分析是檢驗數(shù)據(jù)是否有錄入錯誤以及含有不合常理的數(shù)據(jù)。忽視異常值的存在是十分危險的,不加剔除地把異常值包括進(jìn)數(shù)據(jù)的計算分析過程中,對結(jié)果會產(chǎn)生不良影響;重視異常值的出現(xiàn),分析其產(chǎn)生的原因,常常成為發(fā)現(xiàn)問題進(jìn)而改進(jìn)決策的契機(jī)。

異常值是指樣本中的個別值,其數(shù)值明顯偏離其余的觀測值。異常值也稱為離群點(diǎn),異常值的分析也稱為離群點(diǎn)分析。

(1)簡單統(tǒng)計量分析

可以先對變量做一個描述性統(tǒng)計,進(jìn)而查看哪些數(shù)據(jù)是不合理的。最常用的統(tǒng)計量是最大值和最小值,用來判斷這個變量的取值是否超出了合理的范圍。如客戶年齡的最大值為199歲,則該變量的取值存在異常。

(2)3原則

如果數(shù)據(jù)服從正態(tài)分布,在3原則下,異常值被定義為一組測定值中與平均值的偏差超過3倍標(biāo)準(zhǔn)差的值。在正態(tài)分布的假設(shè)下,距離平均值3之外的值出現(xiàn)的概率為P(|x-|>3)≤0.003,屬于極個別的小概率事件。

如果數(shù)據(jù)不服從正態(tài)分布,也可以用遠(yuǎn)離平均值的多少倍標(biāo)準(zhǔn)差來描述。

(3)箱型圖分析

箱型圖提供了識別異常值的一個標(biāo)準(zhǔn):異常值通常被定義為小于QL-1.5IQR或大于QU+1.5IQR的值。QL稱為下四分位數(shù),表示全部觀察值中有四分之一的數(shù)據(jù)取值比它小;QU稱為上四分位數(shù),表示全部觀察值中有四分之一的數(shù)據(jù)取值比它大;IQR稱為四分位數(shù)間距,是上四分位數(shù)QU與下四分位數(shù)QL之差,其間包含了全部觀察值的一半。

箱型圖依據(jù)實際數(shù)據(jù)繪制,沒有對數(shù)據(jù)作任何限制性要求(如服從某種特定的分布形式),它只是真實直觀地表現(xiàn)數(shù)據(jù)分布的本來面貌;另一方面,箱型圖判斷異常值的標(biāo)準(zhǔn)以四分位數(shù)和四分位距為基礎(chǔ),四分位數(shù)具有一定的魯棒性:多達(dá)25%的數(shù)據(jù)可以變得任意遠(yuǎn)而不會很大地擾動四分位數(shù),所以異常值不能對這個標(biāo)準(zhǔn)施加影響。由此可見,箱型圖識別異常值的結(jié)果比較客觀,在識別異常值方面有一定的優(yōu)越性,如圖3-1所示。

如下數(shù)據(jù):

日期 2015/2/10 2015/2/11 2015/2/12 2015/2/13 2015/2/14

銷量額 2742.8 3014.3 865 3036.8

我們對其進(jìn)行異常值分析

import pandas as pd

catering_sale = 'data2.xls' #餐飲數(shù)據(jù)

data = pd.read_excel(catering_sale, index_col = u'日期') #讀取數(shù)據(jù),指定“日期”列為索引列

import matplotlib.pyplot as plt #導(dǎo)入圖像庫

plt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中文標(biāo)簽

plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負(fù)號

plt.figure() #建立圖像

p = data.boxplot() #畫箱線圖,直接使用DataFrame的方法

x = p['fliers'][0].get_xdata() # 'flies'即為異常值的標(biāo)簽

y = p['fliers'][0].get_ydata()

y.sort() #從小到大排序,該方法直接改變原對象

#用annotate添加注釋

#其中有些相近的點(diǎn),注解會出現(xiàn)重疊,難以看清,需要一些技巧來控制。

#以下參數(shù)都是經(jīng)過調(diào)試的,需要具體問題具體調(diào)試。

for i in range(len(x)):

if i>0:

plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i]))

else:

plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.08,y[i]))

plt.show()

總結(jié)

以上是生活随笔為你收集整理的python异常值均值填充_Python 异常值分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。