大數據中異常值檢測的重要性 The Importance of Outlier Detection in Big Data

大數據中異常值檢測的重要性 The Importance of Outlier Detection in Big Data

異常值 ( 離群值 ) 檢測的介紹  Introduction to Outlier Detection

幾十年來,異常值檢測 ( Outlier Detection ) 一直被用來檢測那些被認為是 “異常” 的點,或者不符合特定模式的點。由於其高度的實用性,異常值檢測被用於許多實際的案例中。最著名的例子包括檢測(金融)欺詐和情報機構檢測 “惡意” 聊天。由於異常值檢測的演算法,對於任何組織都非常有用,本文將探討常見的異常值檢測技術及其在大數據環境中的應用。

異常值檢測是廣泛性、針對異常值檢測技術的一個總結性術語。多年來,出現了許多性質相類似的不同術語,如新穎性檢測 ( novelty detection )、異常檢測 ( anomaly detection )、噪音檢測 ( noise detection )、偏差檢測 ( deviation detection ) 和異常點挖掘 ( exception mining ) 等[1],雖然每個術語的側重點可能略有不同,但許多基礎技術在根本上是相同的。依據企業大數據框架 ( Enterprise Big Data Framework ) 中使用的術語,我們將利用Grubbs關於異常檢測的定義來說明,該定義早在1969年就已經提出了。

離群觀測值 ( outlying observation ),或稱異常值 ( outlier ),是指某些觀測值與樣本中的其他觀測值,出現了明顯偏離 [2]。

從定義中可以看出,這個定義中有一個重要的 (同時也是令人困惑的) 因素。異常值 “看起來” 與數據集中的其他成員不同。這個重要的因素意味著:異常值檢測技術可以檢測出潛在的異常值,但對結果的最終解釋仍然必須要人為的介入。今天的情況與1969年當時是一樣。

大數據環境中的異常值檢測  Outlier Detection in Big Data Environments

然而,Grubbs的時代和今天的時代有很大的差異。所產生的數據和需要處理的數據,在數量上和速度上,比起以前的任何時候都要大得多。在任何時刻,都會有數以百萬計的社群媒體張貼、消息、交易和視頻被產生。因此,異常值檢測技術需要具備幾乎即時 ( real time ) 處理數據的能力。它們需要立即展示潛在的異常值。因為在許多情況下,大數據中的異常值檢測所提供的資訊,是具有時間敏感性 ( time-sensitive ) 的。例如:我們前面說過的例子 – 信用卡檢測和惡意聊天,就是異常值檢測,必須要即時顯示結果的有力證明。

因此,我們說:大數據改變了異常值檢測的遊戲規則,絕對是不誇張的。同時,大數據也為從異常值檢測技術中獲得(更多)價值,這也開創了一個充滿機遇的世界。因為數據集越大,異常值檢測可能帶來的價值就越大。我們類比一下,假設在乾草堆中找針,乾草堆越大,異常值檢測演算法獲得的價值就可能越大。

異常值檢測的價值隨著產生的數據規模不斷的增加而增加,大數據中越來越多的異常值檢測案例開始出現。在下面的概述中提供了一些有趣的(和賺錢的)例子。

  • 詐欺檢測 – 檢測信用卡交易、保險索賠、費用報告或財務資訊中的詐欺行為。
  • 入侵檢測 – 檢測對於電腦網路或系統的未經授權之訪問或嘗試。
  • 活動監控 – 檢測(惡意)電話、資訊和其他形式的聊天,從而提供有關惡意人員的情報。
  • 品質控制 – 檢測生產缺陷或與公司生產的其他產品不符合相同標準的產品特性。
  • 圖像分析 – 檢測變化的圖像。這可以應用於醫療掃描,以檢測某些類型的疾病,或衛星圖像,以檢測異常或變化的模式。
  • 醫藥研究 – 檢測醫療或患者的異常值,從而推動醫藥或醫療研究的發展。

上面的列表絕不是對異常值檢測案例的全部,而是僅僅為了說明大數據如何顯著改變了光譜。對於上述所有例子,數據來源近年來都有顯著增加。如前所述,每天產生的交易、消息和圖像的數量,已經遠比以往任何時候都來的多很多。

異常值檢測技術概述  Overview of Outlier Detection Techniques

那麼,在大數據的環境中,什麼是最好的異常值檢測技術?以及是否有任何推薦的演算法,可以最好地利用這些演算法來解決特定的異常值檢測案例。不幸的是,這個問題沒有一個直接的答案。每個演算法的速度和準確性取決於需要分析的源數據,以及源數據的同質性 ( homogeneity of the source data )。

然而,這並不意味著根本沒有答案。根據以往的研究發現,異常值檢測演算法大致可以分為四大類。這些類別可以相應地使用在類似問題的源數據。

壹、統計模型 ( Statistical Models )

統計異常值檢測演算法構成了異常值檢測最早的技術之一,也是目前使用最廣泛的技術之一。在大多數情況下,統計學上的概率 ( statistically probability ) (或更好的表述:統計學上的不可能性statistical improbability ) 構成了檢測任何異常值的基礎。在最簡單的形式下,統計模型的工作基礎是:某個偶然性不太可能發生,所以它一定是一個異常值。在一個非常簡單的例子中,這就是應用在箱形圖中指示異常值的技術。

貳、基於接近度的技術 ( Proximity Based Techniques )

基於接近性的技術,是一種使用於雙變量和多變量數據中常見的技術。它們的運算是相對的簡單,通過檢測數據點之間的距離來運作。在基於接近度的技術中,k-NN ( k nearest neighbor ) 是迄今為止使用最廣泛的技術,因為它的計算簡單。可是,使用基於接近度的技術進行異常值的檢測,有一個重要的缺點:運行時的複雜性與數據的大小成正比。因此,基於接近度的技術將會需要比較長的處理時間來處理大量的大數據。

叁、參數模型 ( Parametric Models )

在異常值檢測的場合,參數模型克服了上述鄰近模型所帶來的運行複雜性之問題。因此,它們非常適合處理大數據。常用的參數模型是最小體積橢球估計( Minimum Volume Ellipsoid estimation, MVE ) 和凸削皮 ( Convex Peeling )[3]。 在參數模型中,運行時複雜度僅隨模型大小而增加,而不隨數據大小而增加。 唯一的困難是,根據參數模型的定義:參數需要被估計。 因此,模型的使用者應該需要事先將數據適合模型。結果,參數異常值檢測模型非常適合特定問題且準確無誤!但不能用於一般用途,因為輸入數據集的屬性是未知的。

肆、類神經網路 ( Neural Networks )

用於異常值檢測的類神經網路技術,將更多現代技術引入到異常值的識別和選擇中。類神經網路是非參數和基於模型的,因此,它們非常適合應用於 “看不見的” 數據模式。從這個意義上說,可以利用類神經網路來處理更通用的情況,而且輸入數據的結構是未知的。在類神經網路異常值檢測技術中,可以使用監督技術(分類 classification )以及非監督技術(聚類 clustering )。

上面的概論介紹了大數據中使用最多的異常值檢測技術。我們可以說,目前大多數仍在使用的異常值檢測技術都是基於統計、基於距離和參數的方法。然而,隨著數據量和數據產生速度的不斷增加,類神經網路的方法,或包含類神經網路的混合形式,將構成未來異常值檢測解決方案的基礎。

  • [1] Hodge, V. and Austin, J., 2004. A survey of outlier detection methodologies. Artificial intelligence review, 22(2), pp.85-126
  • [2] Grubbs, F.E., 1969. Procedures for detecting outlying observations in samples. Technometrics, 11(1), pp.1-21.
  • [3] Van Aelst, S. and Rousseeuw, P., 2009. Minimum volume ellipsoid. Wiley Interdisciplinary Reviews: Computational Statistics, 1(1), pp.71-82

原文翻譯自:https://www.bigdataframework.org/the-importance-of-outlier-detection-in-big-data/

文章授權(創用CC授權)
by-sa
comment

CONTACT US

We're not around right now. But you can send us an email and we'll get back to you, asap.

Sending

©2020 Business Next Publishing Corp. 聯絡、建議隱私權

Log in with your credentials

or    

Forgot your details?

Create Account