資料不科學:Outlier-我就愛妳的與眾不同(簡介篇)

On 八月 29, 2014 by o1o1o

前言:負評網期許自己能提供有趣的知識給消費者及廠商,資料不科學專欄會不定時提供我們在學術及實務的一些小小心得。之所以叫不科學是因為我們不是超級聰明的學者,也不是沙場征戰數十年的老將,所以我們虛心期待資料科學的前輩們給予指教!

在我們生活中鶴立雞群的朋友,常常是先知,引導著流行。我們今天就要介紹資料海中的魯蛇,我就愛跟大家不一樣之Outlier。這篇文章談的是某特定領域的分享,比較無趣,如果您不感興趣,請幫我們分享出去並假裝你很喜歡!

topic

 

Outlier一般被稱為離群值或異常值。定義上,Outlier就是所有資料中離開主要群體的物件。大家第一次接觸Outlier,應該都是在學平均數等指標時,老師告訴我們如果把最大跟最小的值去除掉,會得到一個比較不受極值影響的平均。事實上,Outlier不見得是最大或最小的值(如下圖),所以有一些文章將Outlier翻成極端值可能會造成一些誤解。
Outlier

 

由於Outlier在早期幾乎都是被認為是資料中的雜訊,偵測Outlier也僅被視為資料前置處理過程中的一個小分支,所以相關的研究也比一些熱門的資料探勘技術來得少。但隨著資料科學的演進及商業應用的需要,Outlier的應用及偵測演算法也越來越多人討論。而看見Outlier與眾不同的美,也是我們今天的主要目的。

首先如大家熟知的,離群值偵測的應用當然是為了加強資料分析應用的品質,一般而言大型資料庫的錯誤或異常的資料可能高達10%,如果不將這些資料分開處理,可能會讓後續資料分析的品質跟信度降得很低,嚴重時甚至無法進行。

另外其實大家想一下,在很多情境下我們更需要找出特別的點。例如在犯罪偵測醫學疾病之類的領域其實我們都是透過大眾的資料希望找出那特別的離群值。除了網路上的攻擊行為,由於電腦視覺技術的進步,配合偵測Outlier的技巧,可以用於偵測可疑人士。例如將攝影機影像中移動的物體抓出來,將移動過程轉換成路徑及速度資料,找到不正常的訪客,就可達成自動預防犯罪的功能,所以未來當您在賣場心煩意亂地亂走散心,可能都會被預防犯罪的刑警逮捕喔。而在醫學疾病防治上,比起知道你有那些正常的東西,我想妳應該會更想知道有沒有什麼問題能被提早偵測出來。

Edwin M. Knorr, Raymond T. Ng, Vladimir Tucakov (2000)

Edwin M. Knorr, Raymond T. Ng, Vladimir Tucakov (2000)


而在商業領域,Outlier又有什麼重要性呢?其實有時候離群值不是錯誤,他可能是”先知“的腳色。如下圖當市場呈現清楚的定位時,那獨特的離群值可能隱含了一個新的市場機會。他可能告訴您一個新的產品組合或是一種未來的使用者行為。其實像賈伯斯那樣的使用者就是資料海中的離群值,他的意見可能不是很主流,但他卻可能定義了產業的未來。另外一個例子網站的經營者應該心有戚戚焉,如果負評網出現一個每天造訪10小時的訪客,我們會很想了解,他會不會是駭客或是有心人在爬我們網站?或是他看見連負評網都不知道的一種使用情境,可以讓使用者依賴負評網10小時,此時我們可以針對這個情境作優化設計,讓越來越多的這類使用者重新愛上負評網。當然大部分情況不會只看一些簡單的指標,可能連利用網站造訪路徑都可以找出跟大家走得不一樣的訪客,搞不好獨特的造訪走法隱藏的神秘的知識!
new opportunity

而因為離群值本身不代表一種主流行為,所以我們最好在偵測出來後,獨立地且非常重視細節的去了解這個現象,也就是找出來後就不要只用冷冰冰的數字去看,而是可以去實驗甚至進行焦點訪談

總結來說,當您在做最佳化的決策時,大宗的資料可能對您比較有幫助,但當您在思考創新的策略時,其實Outlier是非常值得研究的。未來負評網提供知識時,也會獨立分析這類的資料,提供您另外一個角度思考策略的參考。

了解離群值的應用後,實務上我們要如何從茫茫的資料海中將他偵測出來呢?事實上不是簡單排序後就可以找出離群值,甚至必須先利用其他資料探勘的演算法(例如分群)。也因為複雜性,這類的偵測常常難以即時完成,此時如何選擇適合的演算法可以兼顧效率跟準度。當然如果是要偵測恐怖份子炸大樓這種沒找到會有嚴重後果的離群值,就必須要在意精準度!

透過一些文獻整理,我將Outlier偵測的演算法歸納為五類:(1) Distribution-based、(2) Depth-based、(3) Distance-based、(4) Clustering-based以及(5) Density-based。使用何種方法及用何種標準則仍需端看資料本身的性質。例如在相信資料已經呈現某種分類的情況下,很適合利用Distribution-based的演算法做偵測;而當在大量資料或高維度的情況下利用Distance-based的演算法通常會較有效率。更細部的介紹會被安排在未來的文章中出現。

篇幅有限,希望能把Outlier之美跟價值告訴大家,關於更深入的介紹或是演算法或許之後再找機會寫出來跟大家討論。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

你可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>