導航:首頁 > 數據處理 > 異常數據如何調查處理方式

異常數據如何調查處理方式

發布時間:2023-03-05 03:56:02

Ⅰ 怎麼對統計數據的異常值進行判斷和處理

異常值也稱離群值,具體地說,判斷標准依據實際情況,根據業務知識及實際需要而定。

上界=75%分位數+(75%分位數-25%分位數)*1.5

下界=25%分位數- (75%分位數-25%分位數)*1.5

比上界大的和比下界小的都是異常值。

(1)異常數據如何調查處理方式擴展閱讀:

取檢出水平α為5%,剔除水平α』為1%,按雙側情形檢驗,從附表中查得檢出水平α對應格拉布斯檢驗臨界值G0.975,剔除水平α』對應格拉布斯檢驗臨界值G0.995。

若Gn>Gn』,且Gn>G0.975,則判斷fn為異常值,否則,判斷無異常值;

若Gn>Gn』,且Gn>G0.995,則判斷fn為高度異常值,可考慮剔除;

若Gn』>Gn,且Gn』>G0.975,則判斷f1為異常值,否則,判斷無異常值;

若Gn』>Gn,且Gn』>G0.995,則判斷f1為高度異常值,可考慮剔除;

Ⅱ ​一文看懂數據清洗:缺失值、異常值和重復值的處理

作者:宋天龍

如需轉載請聯系華章 科技

數據缺失分為兩種:一種是 行記錄的缺失 ,這種情況又稱數據記錄丟失;另一種是 數據列值的缺失 ,即由於各種原因導致的數據記錄中某些列的值空缺。

不同的數據存儲和環境中對於缺失值的表示結果也不同,例如,資料庫中是Null,Python返回對象是None,Pandas或Numpy中是NaN。

在極少數情況下,部分缺失值也會使用空字元串來代替,但空字元串絕對不同於缺失值。從對象的實體來看,空字元串是有實體的,實體為字元串類型;而缺失值其實是沒有實體的,即沒有數據類型。

丟失的數據記錄通常無法找回,這里重點討論數據列類型缺失值的處理思路。通常有4種思路。

1. 丟棄

這種方法簡單明了,直接刪除帶有缺失值的行記錄(整行刪除)或者列欄位(整列刪除),減少缺失數據記錄對總體數據的影響。 但丟棄意味著會消減數據特徵 ,以下任何一種場景都不宜採用該方法。

2. 補全

相對丟棄而言,補全是更加常用的缺失值處理方式。通過一定的方法將缺失的數據補上,從而形成完整的數據記錄,對於後續的數據處理、分析和建模至關重要。常用的補全方法如下。

3. 真值轉換法

在某些情況下,我們可能無法得知缺失值的分布規律,並且無法對於缺失值採用上述任何一種補全方法做處理;或者我們認為數據缺失也是一種規律,不應該輕易對缺失值隨意處理,那麼還有一種缺失值處理思路—真值轉換。

該思路的根本觀點是, 我們承認缺失值的存在,並且把數據缺失也作為數據分布規律的一部分 ,將變數的實際值和缺失值都作為輸入維度參與後續數據處理和模型計算中。但是變數的實際值可以作為變數值參與模型計算,而缺失值通常無法參與運算,因此需要對缺失值進行真值轉換。

以用戶性別欄位為例,很多資料庫集都無法對會員的性別進行補足,但又捨不得將其丟棄掉,那麼我們將選擇將其中的值,包括男、女、未知從一個變數的多個值分布狀態轉換為多個變數的真值分布狀態。

然後將這3列新的欄位作為輸入維度替換原來的1個欄位參與後續模型計算。

4. 不處理

在數據預處理階段,對於具有缺失值的數據記錄不做任何處理,也是一種思路。這種思路主要看後期的數據分析和建模應用, 很多模型對於缺失值有容忍度或靈活的處理方法 ,因此在預處理階段可以不做處理。

常見的能夠自動處理缺失值的模型包括:KNN、決策樹和隨機森林、神經網路和樸素貝葉斯、DBSCAN(基於密度的帶有雜訊的空間聚類)等。這些模型對於缺失值的處理思路是:

在數據建模前的數據歸約階段,有一種歸約的思路是 降維 ,降維中有一種直接選擇特徵的方法。假如我們通過一定方法確定帶有缺失值(無論缺少欄位的值缺失數量有多少)的欄位對於模型的影響非常小,那麼我們根本就不需要對缺失值進行處理。

因此,後期建模時的欄位或特徵的重要性判斷也是決定是否處理欄位缺失值的重要參考因素之一。

對於缺失值的處理思路是先通過一定方法找到缺失值,接著分析缺失值在整體樣本中的分布佔比,以及缺失值是否具有顯著的無規律分布特徵,然後考慮後續要使用的模型中是否能滿足缺失值的自動處理,最後決定採用哪種缺失值處理方法。

在選擇處理方法時,注意投入的時間、精力和產出價值,畢竟,處理缺失值只是整個數據工作的冰山一角而已。

在數據採集時,可在採集端針對各個欄位設置一個默認值。以MySQL為例,在設計資料庫表時,可通過default指定每個欄位的默認值,該值必須是常數。

在這種情況下,假如原本數據採集時沒有採集到數據,欄位的值應該為Null,雖然由於在建立庫表時設置了默認值會導致「缺失值」看起來非常正常,但本質上還是缺失的。對於這類數據需要尤其注意。

異常數據是數據分布的常態,處於特定分布區域或范圍之外的數據通常會被定義為異常或「噪音」。產生數據「噪音」的原因很多,例如業務運營操作、數據採集問題、數據同步問題等。

對異常數據進行處理前,需要先辨別出到底哪些是真正的數據異常。從數據異常的狀態看分為兩種:

大多數數據挖掘或數據工作中,異常值都會在數據的預處理過程中被認為是噪音而剔除,以避免其對總體數據評估和分析挖掘的影響。但在以下幾種情況下,我們無須對異常值做拋棄處理。

1. 異常值正常反映了業務運營結果

該場景是由業務部門的特定動作導致的數據分布異常,如果拋棄異常值將導致無法正確反饋業務結果。

例如:公司的A商品正常情況下日銷量為1000台左右。由於昨日舉行優惠促銷活動導致總銷量達到10000台,由於後端庫存備貨不足導致今日銷量又下降到100台。在這種情況下,10000台和100台都正確地反映了業務運營的結果,而非數據異常案例。

2. 異常檢測模型

異常檢測模型是針對整體樣本中的異常數據進行分析和挖掘,以便找到其中的異常個案和規律,這種數據應用圍繞異常值展開,因此異常值不能做拋棄處理。

異常檢測模型常用於客戶異常識別、信用卡欺詐、貸款審批識別、葯物變異識別、惡劣氣象預測、網路入侵檢測、流量作弊檢測等。在這種情況下,異常數據本身是目標數據,如果被處理掉將損失關鍵信息。

3. 包容異常值的數據建模

如果數據演算法和模型對異常值不敏感,那麼即使不處理異常值也不會對模型本身造成負面影響。例如在決策樹中,異常值本身就可以作為一種分裂節點。

數據集中的重復值包括以下兩種情況:

去重是重復值處理的主要方法,主要目的是保留能顯示特徵的唯一數據記錄。但當遇到以下幾種情況時,請慎重(不建議)執行數據去重。

1. 重復的記錄用於分析演變規律

以變化維度表為例。例如在商品類別的維度表中,每個商品對應的同1個類別的值應該是唯一的,例如蘋果iPhone7屬於個人電子消費品,這樣才能將所有商品分配到唯一類別屬性值中。但當所有商品類別的值重構或升級時(大多數情況下隨著公司的發展都會這么做),原有的商品可能被分配了類別中的不同值。如下表所示展示了這種變化。

此時,我們在數據中使用Full join做跨重構時間點的類別匹配時,會發現蘋果iPhone7會同時匹配到個人電子消費品和手機數碼2條記錄。對於這種情況,需要根據具體業務需求處理。

2. 重復的記錄用於樣本不均衡處理

在開展分類數據建模工作時,樣本不均衡是影響分類模型效果的關鍵因素之一。解決分類方法的一種方法是對少數樣本類別做簡單過采樣,通過隨機過采樣,採取簡單復制樣本的策略來增加少數類樣本。

經過這種處理方式後,也會在數據記錄中產生相同記錄的多條數據。此時,我們不能對其中的重復值執行去重操作。

3. 重復的記錄用於檢測業務規則問題

對於以分析應用為主的數據集而言,存在重復記錄不會直接影響實際運營,畢竟數據集主要是用來做分析的。

但對於事務型的數據而言, 重復數據可能意味著重大運營規則問題 ,尤其當這些重復值出現在與企業經營中與金錢相關的業務場景時,例如:重復的訂單、重復的充值、重復的預約項、重復的出庫申請等。

這些重復的數據記錄通常是由於數據採集、存儲、驗證和審核機制的不完善等問題導致的,會直接反映到前台生產和運營系統。以重復訂單為例:

因此,這些問題必須在前期數據採集和存儲時就通過一定機制解決和避免。如果確實產生了此類問題,那麼數據工作者或運營工作者可以基於這些重復值來發現規則漏洞,並配合相關部門,最大限度地降低由此而帶來的運營風險。

本文摘編自《Python數據分析與數據化運營》(第2版),經出版方授權發布。

Ⅲ 如何剔除數據中的異常值

剔除數據中的異常值的方法:

一、異常值檢測

異常值的檢驗有很多種方法,最常見的是圖示法,也有使用分析方法進行探索。

箱盒圖:實驗研究時經常使用,非常直觀的展示出異常數據。

散點圖:研究X和Y的關系時,可直觀展示查看是否有異常數據。

描述分析:可通過最大最小值等各類指標大致判斷數據是否有異常。

其它:比如結合正態分布圖,頻數分析等判斷是否有異常值。

二、異常值判定

上述已經說明異常值會帶來嚴重的影響,扭曲數據結論等。那麼首先需要設定異常值的標准,然後再對其進行處理。異常值的判定標准並不統一,更多是通過人為標准進行設定,SPSSAU提供以下幾類判定規則:

1、設置為Null值;此類處理最簡單,而且絕大多數情況下均使用此類處理;直接將異常值「幹掉」,相當於沒有該異常值。如果異常值不多時建議使用此類方法。

2、填補;如果異常值非常多時,則可能需要進行填補設置,SPSSAU共提供平均值,中位數,眾數和隨機數共四種填補方式。建議使用平均值填補方式。

Ⅳ 怎麼處理缺失值/異常值

https://www.hu.com/question/58230411?sort=created
https://blog.csdn.net/Forlogen/article/details/89534235

(1)隨機丟失(MAR,Missing at Random)(數據丟失的概率與丟失的數據本身無關,而依賴於其他完全變數(無缺失變數))

隨機丟失意味著數據丟失的概率與丟失的數據本身無關,而僅與部分已觀測到的數據有關。也就是說,數據的缺失不是完全隨機的,該類數據的缺失依賴於其他完全變數。

(2)完全隨機丟失(MCAR,Missing Completely at Random)(數據缺失完全隨機事件,無依賴關系)

數據的缺失是完全隨機的,不依賴於任何不完全變數或完全變數,不影響樣本的無偏性。簡單來說,就是數據丟失的概率與其假設值以及其他變數值都完全無關。

(3)非隨機丟失(MNAR,Missing not at Random)

數據的缺失與不完全變數自身的取值有關。分為兩種情況:缺失值取決於其假設值(例如,高收入人群通常不希望在調查中透露他們的收入);或者,缺失值取決於其他變數值(假設基礎數據很正常,也無臨床症狀,醫生可能就覺得無需進一步檢查,所以會有數據缺失)。

在前兩種情況下可以根據其出現情況刪除缺失值的數據,同時,隨機缺失可以通過已知變數對缺失值進行估計。

在第三種情況下,刪除包含缺失值的數據可能會導致模型出現偏差,同時,對數據進行填充也需要格外謹慎。

如果一個病人的體溫測量值是有時缺失的,其原因是醫生覺得病得太重的病人不需要量體溫,那這個缺失顯然不是MAR或者MCAR的。對於離散型特徵,如果將特徵中的缺失值單獨編碼成一個獨立的類別(比如missing),而這個missing類別訓練出來後對response有預測作用,那麼這個特徵中的缺失行為基本不是MAR或者MCAR的。

(1)generative methods:這些方法主要依賴於EM演算法和深度學習,如DAE、GAN等
(2)discriminative methods:如MICE、MissForest、matrix completion等

目前的生成式填補演算法存在著一些缺點,它們是以一種基於對數據分布的先驗假設的方法,當數據中含有混合類別和連續變數時,它的泛化能力就會很差。DAE在一定程度上解決了這個問題,但是它在訓練的過程中需要完整的數據集,在很多情況下,缺失的數據部分在一定程度上反映了完整數據集的內在結構信息,所以獲取到完整的數據集是不太可能的。DAE的另一種方法允許使用不完整的數據集進行訓練,但是它只能根據觀察到的部分來表示數據。而使用DCGANs來完成圖像填補的演算法,同樣需要完整的數據集來訓練判別器。

難點:如果其他變數和缺失變數無關,則預測的結果無意義。如果預測結果相當准確,則又說明這個變數是沒必要加入建模的。一般情況下,介於兩者之間。

方法 0(最簡單粗暴):在構建模型時忽略異常值。 如果缺失數據量少的話

方法1(快速簡單但效果差):把數值型(連續型)變數中的缺失值用其所對應的類別中的中位數替換。把描述型(離散型)變數缺失的部分用所對應類別中出現最多的數值替代。

方法2(耗時費力但效果好):雖然依然是使用中位數和出現次數最多的數來進行替換,方法2引入了權重。即對需要替換的數據先和其他數據做相似度測量也就是下面公式中的Weight,在補全缺失點是相似的點的數據會有更高的權重W。

方法3 (類xgboost):把缺失值當做稀疏矩陣來對待,本身的在節點分裂時不考慮的缺失值的數值。缺失值數據會被分到左子樹和右子樹分別計算損失,選擇較優的那一個。如果訓練中沒有數據缺失,預測時出現了數據缺失,那麼默認被分類到右子樹。這樣的處理方法固然巧妙,但也有風險:即我們假設了訓練數據和預測數據的分布相同,比如缺失值的分布也相同,不過直覺上應該影響不是很大:)

方法4 (回歸):基於完整的數據集,建立回歸方程。對於包含空值的對象,將已知屬性值代入方程來估計未知屬性值,以此估計值來進行填充。當變數不是線性相關時會導致有偏差的估計。

方法5 (Kmeans)先根據歐式距離或相關分析來確定距離具有缺失數據樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失數據。

方法6 (離散化)為缺失值定製一個特徵值比如,男/女/缺失 分別對應[0/1,0/1,0/1]=>[0,0,1] 這種onehot編碼,特徵離散化後加入計算。

方法1(AutoEncoder系列):在訓練的時候使用0作為缺失值,相當於不激活邊,在輸出的時候不論輸出了什麼都強行置為0,防止反向傳播的時候影響到邊的權重。

方法2 GAN(GAIN),目前的SOTA

方法1(MissForest):對於一個有n個特徵的數據來說,其中特徵T有缺失值,我們就把特徵T當作標簽,其他的n-1個特徵和原本的標簽組成新的特徵矩陣。那對於T來說,它沒有缺失的部分,就是我們的Y_test,這部分數據既有標簽也有特徵,而它缺失的部分,只有特徵沒有標簽,就是我們需要預測的部分。

那如果數據中除了特徵T之外,其他特徵也有缺失值怎麼辦?答案是遍歷所有的特徵,從缺失最少的開始進行填補(因為填補缺失最少的特徵所需要的准確信息最少)。

填補一個特徵時,先將其他特徵的缺失值若為連續型值可用中位數、平均數代替,離散可用眾數代替,每完成一次回歸預測,就將預測值放到原本的特徵矩陣中,再繼續填補下一個特徵。每一次填補完畢,有缺失值的特徵會減少一個,所以每次循環後,需要用0來填補的特徵就越來越少。當進行到最後一個特徵時(這個特徵應該是所有特徵中缺失值最多的),已經沒有任何的其他特徵需要用0來進行填補了,而我們已經使用回歸為其他特徵填補了大量有效信息,可以用來填補缺失最多的特徵。

方法2(matrix factorization):矩陣分解

然後梯度下降一把梭

「年收入」:商品推薦場景下填充平均值,借貸額度場景下填充最小值;
「行為時間點」:填充眾數;
「價格」:商品推薦場景下填充最小值,商品匹配場景下填充平均值;
「人體壽命」:保險費用估計場景下填充最大值,人口估計場景下填充平均值;
「駕齡」:沒有填寫這一項的用戶可能是沒有車,為它填充為0較為合理;
」本科畢業時間」:沒有填寫這一項的用戶可能是沒有上大學,為它填充正無窮比較合理;
「婚姻狀態」:沒有填寫這一項的用戶可能對自己的隱私比較敏感,應單獨設為一個分類,如已婚1、未婚0、未填-1。

主流的機器學習模型千千萬,很難一概而論。但有一些經驗法則(rule of thumb)供參考:
1)樹模型對於缺失值的敏感度較低,大部分時候可以在數據有缺失時使用。
2)涉及到距離度量(distance measurement)時,如計算兩個點之間的距離,缺失數據就變得比較重要。因為涉及到「距離」這個概念,那麼缺失值處理不當就會導致效果很差,如K近鄰演算法(KNN)和支持向量機(SVM)。
3)線性模型的代價函數(loss function)往往涉及到距離(distance)的計算,計算預測值和真實值之間的差別,這容易導致對缺失值敏感。
4)神經網路的魯棒性強,對於缺失數據不是非常敏感,但一般沒有那麼多數據可供使用。
5)貝葉斯模型對於缺失數據也比較穩定,數據量很小的時候首推貝葉斯模型。

總結來看,對於有缺失值的數據在經過缺失值處理後:

Ⅳ 用什麼方法剔除不合理調查數據

剔除異常數據的方法有4d法、X士25法等。應用這些方法都有一定的條件,如樣本數據須來自正態總體(若來自對數正態總體,數據轉換成對數),且須是小樣本。當樣本容量較大時,用這些方法來剔除異常數據就不合理,不妥當。 以樣本容量為 100,用X士25法剔除異常數據為例。此法是這樣進行的:求出樣本的平均值X和標准差S,然後將樣本中落在(X士25)范圍外〔主〕的數據作為異常數據而剔除。 倘若樣本中只有一個數據(或數據不多,即是小樣本),這個方法是確實可行實的。因為在一次觀察中,得到一個數據,其值落在(X士25)范圍外,這意味著發生了小概率事件。根據統計學上的「小概率事件在一次試驗中實際上不可能出現」的原理,從而認為此數據不是來自我們所研究的總體,而是來自污染土壤的總體,因而是異常數據而加以剔除。 如果樣本中有100個數據,在這100個數據中出現落在(X士25)范圍外的數據就不是小概率事件了。它的概率可如下計算〔2〕:率事件,把樣本中落在(X士

閱讀全文

與異常數據如何調查處理方式相關的資料

熱點內容
代理期間工資如何發放 瀏覽:906
學而思程序bug怎麼反饋 瀏覽:766
怎麼代理一個早餐店 瀏覽:504
信息存儲技術的發展歷程哪些 瀏覽:413
信息技術課怎麼退出界面 瀏覽:814
市場法中參照物差異有哪些 瀏覽:93
寶雞鳥市場在哪裡 瀏覽:576
寧波三山村菜市場怎麼樣 瀏覽:509
申請執行有哪些信息 瀏覽:754
鴨產品有什麼優勢 瀏覽:262
還有哪些物體利用了納米技術 瀏覽:548
微信如何防撤銷信息 瀏覽:294
批發市場推銷包怎麼樣 瀏覽:33
科羅娜啤酒怎麼代理 瀏覽:696
推廣自己的產品怎麼操作 瀏覽:112
phpmysql如何進入資料庫 瀏覽:891
臨展如何寫技術要求 瀏覽:56
服裝市場如何砍價 瀏覽:27
你吃過什麼減肥產品最有效 瀏覽:826
程序員哪個可以讓你變富有 瀏覽:288