刪除和處理數據中異常值的操作指南

2020-12-05 騰訊網

凡是搞計量經濟的,都關注這個號了

所有計量經濟圈方法論叢的code程序, 宏微觀資料庫和各種軟件都放在社群裡.歡迎到計量經濟圈社群交流訪問.

在讀本文之前,強烈建議各位學者參看之前第一篇文章「在數據中查找異常值的5種方法總結及示例解釋」。

正文

刪除和處理數據中異常值的指南

異常值是數據集中的不尋常的值,它們可能會扭曲統計分析並違反其假設。所有分析人員都會面臨異常值並被迫決定如何處理它們。這些問題可能使你認為最好的方法是從數據中刪除它們。但是,事實並非總是如此,刪除異常值僅出於特定原因才是合理的。

異常值可以非常翔實地介紹主題和數據收集過程。了解異常值是如何發生的,以及它們是否會在正常過程或作為研究區域的正常值再次出現非常重要。不幸的是,抵制不適當地刪除異常值可能很困難。異常值會增加數據的可變性,從而降低統計效果。因此,排除異常值可能會使你的結果在統計上顯著。

在上一篇文章中,我們展示了五種可以用來識別異常值的方法。但是,識別只是第一步。決定如何處理異常值取決於調查異常值的根本原因。

在這篇文章中,我們將幫助你決定是否應該從數據集中刪除異常值,以及如何在無法刪除數據時分析該數據。正確的操作取決於導致異常值的原因。寬泛地陳述,異常值的出現通常源於三個原因:數據輸入(或測量誤差)、採樣問題和異常條件、自然變化。

讓我們來討論這三個原因。

1.數據輸入、測量錯誤、異常值

測量和數據輸入期間可能發生錯誤。在數據輸入期間,拼寫錯誤會產生奇怪的值。想像我們測量成年男性的身高並收集以下數據集。

在此數據集中,10.8135 顯然是一個異常值。它不僅脫穎而出,而且是一個不可能的高度值。更仔細地檢查這些數字,零可能是偶然的。我們可以回到原始記錄,甚至重新測量以確定正確的高度。

這些類型的錯誤很容易理解。如果確定異常值是錯誤的,請儘可能更正該值。這可能涉及修復拼寫錯誤或重新測量。如果這行不通的話,你必須刪除數據點,因為你知道數據點的值不正確。

2.採樣問題可能導致異常值

推斷性統計使用樣本得出關於特定總體的結論。研究應仔細定義總體,然後從中具體抽取隨機樣本。這是一個可以了解總體的研究過程。

不幸的是,你的研究可能會意外地獲得來自非目標群體的項目或人員。有幾種方法可以發生這種情況。例如,可能發生偏離定義總體的異常事件或特徵。或者也許實驗者在異常條件下測量項目或主體。在其他情況下,你可能會意外地收集到不屬於目標總體的項,因此,它可能具有異常特徵。

採樣問題示例

讓我們用幾個例子來呈現!

假設一項研究評估產品的強度。研究人員將種群定義為標準製造過程的輸出。正常流程包括標準材料、製造設置和條件。如果在一部分研究的過程中出現異常 (如電源故障或機器設置偏離標準值),則會影響產品。這些異常的製造條件可以通過創建具有非典型強度值的產品而導致異常值。在這些異常條件下生產的產品不會反映你正常工藝中產品的目標數量。因此,你可以合理地從數據集中刪除這些數據點。

作為科學家參與的一項骨密度研究中,我們發現一個受試者的骨密度增長的異常值。她的成長價值非常不尋常。該研究的主要協調人發現,受試者所患的糖尿病會影響骨骼健康。我們研究的目標是為青春期前的女孩骨密度生長建模,這些女孩沒有影響骨骼生長的健康問題。由於發現的那個女孩不是我們目標人群的成員,所以她的數據被排除在我們的分析之外。

如果可以確定某個項或個人不是你的目標總體,則可以刪除該數據點。但是,你必須能夠確定該項不符合目標總體的原因。

3.自然變化可能產生異常值

前面兩個產生異常值的原因是壞事。它們代表著你需要糾正的不同類型問題。然而,自然變化也會產生異常值,但這不一定是個問題。

如果樣本足夠大,則一定會有異常值。在正態分布中,大約每340個觀測值中至少有一個與均值相差三個標準偏差。但是,隨機情況下可能包含較小數據集中的極端值!換句話說,你正在研究的過程或總體可能會自然而然地產生奇怪的變異。這些數據點沒有問題,它們是數據分布的一個正常部分但它們並不常見。

導致異常值的自然變化案例

例如,建立一個模型,它使用歷史上的美國總統支持率,來預測後來的歷史學家最終將如何對每位總統進行排名。事實證明,最低支持率的總統驗證了歷史學家的排名。但是,一個數據點會影響模型的多個方面。杜魯門總統就不適合這個模型,他的支持率最低為22%,但後來歷史學家給他排名弟6,排名相對較好。如果刪除單個觀測值,R2將會增加超過 30 個百分點!然而,我們沒有理由刪除這個觀察值。雖然這是一件奇怪的事,但它準確地反映了政治制度中固有的潛在驚喜和不確定性。如果刪除它,模型會使該過程顯得比實際更加可預測。儘管這個不尋常的觀察是有影響力的,我把它留在模型中。如果刪除數據點只是為了生成更好的擬合模型或具有統計顯著性的結果,那將是個不好的做法。

如果極值是你所研究的總體的自然部分的合法觀測值,那麼應將其保留在數據集中。我們將解釋如何分析含有無法很快排除的異常值的數據集!

處理異常值的準則

最好在數據中保留異常值,這些信息是你研究領域的一部分,因為它們可以捕獲有價值的信息。保留這些異常值可能很難,尤其是當它降低了統計意義時!然而,僅僅由於極端性而排除極端值,會導致刪除關於研究領域固有的變異信息進而扭曲研究結果。因為你強制主要研究領域看起來比實際變量小。

在考慮是否刪除異常值時,你需要評估它是否適當地反映了你的目標總體、主題領域、研究問題和研究方法。測量這些觀測值時是否發生了異常情況,例如電源故障、異常實驗條件或其他任何不符合標準的情況。觀察結果,無論是人員、物品還是交易,是否有實質性不同?是否發生測量或數據輸入錯誤?

如果相關異常值為:

• 測量錯誤或數據輸入錯誤,如果可能的話就糾正錯誤,如果無法修復,請刪除該觀察值,因為你知道該觀測值不正確。

• 如果你正在研究的是總體不是一部分(即異常屬性或條件),那麼你可以合理地刪除異常值。

• 如果你所研究的是總體自然的一部分,那麼你不應該刪除它。

當你決定刪除異常值時,你必須確定刪除異常值的原因,記錄排除的數據點並解釋原因。另一種方法是,分析有這些觀察點和沒有這些觀察點的兩種情況,並討論差異。當你不確定是否刪除異常值或者團隊內部在這個問題上存在重大分歧時,用這種方法進行比較分析比較有效。

可處理異常值的統計分析

當你無法合理地刪除異常值,而且那些異常值違反了統計分析的假設時,該怎麼辦?你希望保留它們,但不希望它們扭曲結果。幸運的是,有多種統計分析可以完成這些任務。下面是幾個可以嘗試的方法。

非參數假設檢驗對異常值的檢驗是可靠的。對於這些較常用的參數檢驗的替代方法,異常值不一定違反其假設或扭曲結果。

在回歸分析中,你可以嘗試轉換數據或使用某些統計包中提供的可靠的回歸分析方法。

最後,bootstrap技術按原樣使用示例數據,而不對分布進行假設。

這些類型的分析幫助你捕獲數據集的全部可變性,從而不會違反假設和扭曲結果。

拓展性閱讀

下面這些短連結文章屬於合集,可以收藏起來閱讀,不然以後都找不到了。

2.5年,計量經濟圈近1000篇不重類計量文章,

可直接在公眾號菜單欄搜索任何計量相關問題,

Econometrics Circle

計量經濟圈組織了一個計量社群,有如下特徵:熱情互助最多、前沿趨勢最多、社科資料最多、社科數據最多、科研牛人最多、海外名校最多。因此,建議積極進取和有強烈研習激情的中青年學者到社群交流探討,始終堅信優秀是通過感染優秀而互相成就彼此的。

相關焦點

  • 單細胞數據上傳GEO操作指南
    最近很多老師的單細胞文章都紛紛開始投稿,卻被文章發表前的臨門一腳——GEO數據上傳難住了,今天我們就來一起學習下單細胞數據上傳GEO的具體操作步驟吧~跟著這份操作指南,上傳從此不再犯難!利用這個資料庫,我們可以公開共享自己的實驗測序數據,也可以檢索到其他文章上傳的數據。很多文章在正式見刊前會要求將數據上傳到GEO資料庫中,具體如何操作呢?
  • Python數據清洗(二):缺失值識別與處理
    Python數據清洗(一):類型轉換和冗餘數據刪除》中分享了有關數據類型轉換和冗餘信息刪除的兩個知識點,接下來繼續講解缺失值的識別和處理辦法。缺失值指的是由於人為或機器等原因導致數據記錄的丟失或隱瞞,缺失值的存在一定程度上會影響後續數據分析和挖掘的結果,所以對他的處理將顯得尤為重要。缺失值的識別判斷一個數據集是否存在缺失觀測,通常從兩個方面入手,一個是變量的角度,即判斷每個變量中是否包含缺失值;另一個是數據行的角度,即判斷每行數據中是否包含缺失值。
  • 2020 版 Python 數據清理終極指南!
    數據清理或清除是指從一個記錄集、表或是資料庫中檢測和修改(或刪除)損壞或不準確的數據記錄的過程,它用於識別數據中不完整的、不正確的、不準確的或者與項目本身不相關的部分,然後對這些無效的數據進行替換、修改或者刪除等操作。這是個很長的定義,不過描述的較為簡單,容易理解。
  • 數據的預處理基礎:如何處理缺失值
    圖片來源: thermofisher數據集缺少值? 讓我們學習如何處理:數據清理/探索性數據分析階段的主要問題之一是處理缺失值。 缺失值表示未在觀察值中作為變量存儲的數據值。 這個問題在幾乎所有研究中都是常見的,並且可能對可從數據得出的結論產生重大影響。
  • 在數據中查找異常值的5種方法總結及示例解釋
    要計算異常值界限,我們需要執行以下操作: 把你的IQR乘以1.5和3。我們將使用這些值來獲取內部和外部的界限。對於我們的示例,IQR 等於 0.222。因此,0.222 * 1.5 = 0.333 和 0.222 *3 = 0.666。
  • 數據處理利器Pandas在python中的基本數據操作
    對索引進行排序Series用sort_index()按索引排序,sort_values()按值排序;DataFrame也是用sort_index()和sort_values()。按行排序按值排序Series:DataFrame:刪除指定軸上的項即刪除Series的元素或DataFrame的某一行(列)的意思,我們可以通過對象的drop(labels, axis=0)方法實現此功能。
  • 脫硫廢水的COD虛高的異常分析和處理
    脫硫廢水的COD虛高的異常分析和處理北極星水處理網訊:摘要:文章以傳統高錳酸鉀法快速測量水樣COD的實驗為基礎,研究水樣中氯離子的含量對測量準確度的影響。研究對象為電廠的脫硫廢水(脫硫廢水具有很高的氯離子含量)通過實際可操作的實驗排除氯離子的幹擾,達到測量準確的目的。
  • 數據分析實踐入門(三):數值操作
    作者 | CDA數據分析師我們把菜品挑選出來以後,就可以開始切菜了。比如要做涼拌黃瓜絲,吧黃瓜找出來以後,你就可以把黃瓜切成絲了。一、數值替換數值替換就是將數值A替換成B,可以用在異常值替換處理、缺失值填充處理中。主要有一對一替換、多對一替換、多對多替換三種替換方法。
  • 程式設計師:MySQL處理插入過程中主鍵或唯一鍵重複值的解決辦法
    向MySQL插入數據有時會遇到主鍵重複的場景,原來的做法是先在程序代碼中SELECT一下,判斷是否存在指定主鍵或唯一鍵的數據,如果沒有則插入,有的話則執行UPDATE操作,或另外一套邏輯,這種方法是不方便的。下面就介紹三種如何避免插入重複值的處理方法。
  • 數據挖掘非常重要的一步:數據預處理
    為什麼數據處理很重要對數據挖掘熟悉的小夥伴,數據處理相關佔據了整個項目的工作時間60%以上的。數據的質量,直接決定了模型的預測和泛化能力的好壞。它涉及很多因素,包括:準確性、完整性、一致性、可信性和解釋性。
  • 心理學(社會學)數據量化分析平臺指南,數據分析從未如此簡單!
    開門送福:後臺回復關鍵詞 心理學 ,即刻奉上心理學數據量化分析平臺指南詳解及軟體資源~由於插件太優秀,唯恐對其各應用環節產生誤解,就花費三日(學業太忙·_·)備下了這30頁的操作講義,建議各位童鞋先行收藏,以便後期應用時略做參照。
  • 機器學習中的線性代數:關於常用操作的新手指南
    如果你也跟本文作者一樣,正在探索深度學習又困於相關數學概念,那麼一定要讀下去,這是一篇介紹深度學習中最常用線性代數操作的新手指南。在深度學習中,線性代數是一個非常有用的數學工具,提供同時操作多組數值的方法。
  • 電磁式電壓互感器運行中的異常現象及處理措施
    通過總結電磁式電壓互感器運行中經常出現的異常現象,結合實際運行中的數據,提出相關處理措施,避免由於電磁式電壓互感器異常對電力系統穩定運行造成影響。1 電磁式電壓互感器運行中的異常現象在電力系統運行實踐中,發現電磁式電壓互感器主要有以下幾種異常現象。(1) 一次保險熔絲熔斷一些變電站電壓互感器出現一次保險熔絲熔斷現象,有時候是一相熔斷、兩相熔斷或是三相同時熔斷,一般以一相熔斷為主。
  • Python數據清洗(三):異常值識別與處理
    作者 | 劉順祥 來源 | 數據分析1480 在《Python數據清洗(一):類型轉換和冗餘數據刪除》和《Python數據清洗(二):缺失值識別與處理》文中已經講解了有關數據中重複觀測和缺失值的識別與處理,在本節中將分享異常值的判斷和處理方法。
  • 廢水水質檢測化驗誤差分析與數據處理
    3廢水水質檢測過程中的數據處理措施3.1實測數據處理水質檢驗誤差主要可通過做好水樣採集、運輸、預處理質控,規範操作,做好實驗室儀器設備精度管理等方法進行控制,在實際操作過程中,應注意以下幾點:在計算分析過程中,需結合以往工作經驗,安排2名以上工作人員採用雙盲法進行讀取、核對、錄入,以尋找重大誤差;經驗法是最直接的數據處理方法
  • 在python中使用KNN算法處理缺失的數據
    處理缺失的數據並不是一件容易的事。 方法的範圍從簡單的均值插補和觀察值的完全刪除到像MICE這樣的更高級的技術。 解決問題的挑戰性是選擇使用哪種方法。 今天,我們將探索一種簡單但高效的填補缺失數據的方法-KNN算法。KNN代表「 K最近鄰居」,這是一種簡單算法,可根據定義的最接近鄰居數進行預測。 它計算從您要分類的實例到訓練集中其他所有實例的距離。
  • 關於數據科學中數學和統計學的完全指南
    但數據科學並不只涉及這些領域。在本文中,您將了解數學和統計學對數據科學的重要意義以及如何將其用於建立機器學習模型。統計學–數據科學的數學和統計學統計學用於處理現實世界中的複雜問題,在此基礎上,數據科學家和分析師可以尋找有意義的數據趨勢和變化
  • 數據清洗在新能源功率預測中的研究綜述和展望
    福州大學電氣工程與自動化學院、福建省電器智能化工程技術研究中心、福建省莆田供電公司、福建莆田荔源集團的研究人員武佳卉、邵振國、楊少華、肖頌勇、吳國昌,在2020年第11期《電氣技術》雜誌上撰文,首先概述了數據清洗的主流方法;然後對異常數據進行詳細分類,從異常值剔除和缺失值重構兩個方面重點闡述和分析了現有數據清洗方法的基本思路、應用條件以及優缺點;最後指出了未來數據清洗中值得關注的問題和方向
  • Excel操作技巧:數據統計分析之數據整理!
    2、數據規範化然後,我們還需要對表格中的數據進行規範化處理,數據規範化包括幾下幾點:不同數據內容,要記錄在不同單元格(1)觀察表中數據,我們可以發現,【姓名/年齡】這一列是兩列數據包含在一起,不方便我們對數據進行處理,所以需要進行分列處理。首先在右側插入一列空白列,選中【姓名/年齡】這一列數據區域,然後點擊【數據】選項卡中的【分列】按鈕,勾選【分隔符號】,然後在分隔符號中輸入「/」,點擊完成即可。
  • Python中的時間序列數據可視化的完整指南
    我將從一些非常簡單的可視化開始,然後慢慢地轉向一些高級的可視化技術和工具在開始之前,我需要再弄清楚一件事。標題中的「完整指南」並不意味著,它有所有的可視化。在這麼多不同的庫中有這麼多的可視化方法,所以在一篇文章中包含所有這些方法是不實際的。