網路上資料分析的課程,遇到像是空值都會教如何去補,用平均值、眾數或往前往後補等等,但遇到異常值 (outlier) 的時候,通常都是教如何判斷並刪除,像是超過三倍標準差就踢除掉之類的方法,但在真實世界中,出現這些異常值都是有原因的,好好思考異常值背後的原因和意義,甚至比一般值的分析還要來得重要。
異常值帶給我的反思
以我個人在數位媒體做資料分析的經驗,有一次在分析 Facebook 粉絲專頁洞察報告時,就發現某個月有 2 篇貼文觸及人數異常地高,是其他貼文的 10 倍以上,不禁讓我反思,在這茫茫數據中出現如此明顯的異常值,真的該按照 SOP 把他們刪掉嗎?
當然不能夠像是對待課程教材一樣,收到資料就乖乖按照原本的做法來分析,首先我覺得應該要先查明異常值出現的原因,像是臉書這樣的社群平台,其實很吃風向和時事,有沒有可能是貼文剛好有跟到一波爆紅的話題,或是因為「聞氫哥」來貼文底下留言而導致的觸及飆升?這些都是在做資料分析時,最有趣也是最困難的問題。
而我後來發現那 2 篇貼文其實是因為有下廣告,觸及才會這麼高,這同時也說明了數據跨部門溝通的重要性,如果能越了解整間公司的運作、專案的進行或廣告投放的狀況,數據部門就能做出越快速、越準確的洞察與決策建議,但這又是另一段故事了…
總之,這下子就很清楚該如何處理異常值了,我覺得下廣告的當然是不能跟平常的貼文一起分析,於是決定把他們暫時拿掉,但並不是永久刪除掉,畢竟會在意平常貼文觸及的可能是編輯、社群小編或行銷人員,而在乎廣告貼文成效的就是完全不同的廣告部門,因此我讓這些下廣告的貼文成為這次專案的支線任務,之後再另外進行分析。
異常值有時候其實才是主角?
順帶一提,異常值有時候才是老闆主管們真正關心的,像是有次被老闆問到「這兩天流量是不是怪怪的,怎麼會突然高這麼多?」
我去查了之後發現是因為有關新垣結衣的文章流量暴增,就趕快跟他說「你看!是因為大家的國民老婆結婚的消息太過震驚,搜尋量大增導致我們的文章也受惠了唷~」(這也是剛剛所提到的,因為「搭上時事」而產生異常值的真實案例)
我覺得資料分析是一個很講求不同情境,而且充滿驚喜和冒險感的工作,如果要用遊戲的類型來比喻的話,我想應該是 Roguelike 遊戲吧!每次拿到一批數據就像是進入一個隨機地圖,永遠不知道接下來會在哪個轉角遇到敵人,也不會知道這次「數據探險」結束,帶回來的是賣不了錢的垃圾?還是價值連城的寶物呢?(笑)
—
若覺得文章不錯的話可以訂閱我的部落格,也歡迎追蹤我的 Facebook 粉絲專頁:https://www.facebook.com/jumpingcoder