2016-01-26 48 views
0

關於數據科學的另一個常見問題! 假設我有一堆樣本,並且必須檢測每個樣本的異常值。我的數據是單變量的,所以我可以使用簡單的方法,如標準偏差或中位數絕對偏差。異常值檢測的驗證是什麼?

現在我的問題是:怎麼會做任何形式的驗證,以查看結果是否一致,尤其是如果由於數據的大小而不是一個選項來看待它們?例如,選擇用多少標準差來定義異常值。到目前爲止,我還沒有看到任何定量方法。它甚至存在嗎?

乾杯

+0

取決於上下文。這一般不能被回答。 – cel

+0

它如何取決於上下文?任何例子? – Luks

回答

1

有趣的是,您沒有定義「數據大小」的維度。這在我看來很重要。例如,你可以繪製高維數據的q-q圖,但對於許多數據點來說並不那麼容易。

但是,當尋找一種通用的方法時,我會從概率的角度來解決這個問題。這永遠不會告訴你哪個數據點是異常的,然而,它會告訴你你有異常值的可能性(在你的數據的某些區域)。我必須做兩個假設:(a)你知道你的數據源自的分佈族,例如normal或poisson(b)你可以根據給定的數據集估計這個族的參數。

現在您可以定義數據來自此分佈的假設以及數據不是來自此分佈的替代假設(H0)。如果您從您的估計分佈中抽取一個隨機樣本,則此繪製的分佈應該與您的觀察樣本一樣平均來自分佈。如果情況並非如此

但是,可能更有趣的是找到包含異常值的子空間。這可以通過以下經驗程序來完成。如果您現在根據數據估算您的分佈參數。您可以將估計的分佈與所看到的數據的直方圖進行比較。這使您可以爲直方圖的每個bin顯示ic包含異常值的概率。對於高維數據,可以通過編程來檢查。

+0

好的,如果我理解正確的話,這是將一切超出正態分佈的X標準偏差排除在外的泛化。 爲了回答你,我必須將它應用於大小不同的數據:每個獨立系列的記錄數從10到10,000。 – Luks

+0

謝謝你回答我的問題CAFEBABE :)你是一個很大的幫助 – Luks

+0

@路克斯:是的,這正是六西格瑪背後的想法。它實際上可以推廣到多模態分佈。但是,在那裏可能會非常棘手。 – CAFEBABE