資料分析的流程一開始,必須先確認目標或問題,並依此蒐集資料、清理、檢視資料單一變數分佈、多變數之間的關係,進一步針對目的執行對應分析或建立模型,並且呈現便於使用者理解分析結果,將相關內容部署到應用環境上,依據資料提供的洞見採取行動,同時定期監控分析結果的成效。而資料分析的目的,可以先參考資料分析的三大目的:探索、解釋及預測一文。
以下個階段都先從廚師角色出發,我們一起看看,資料分析流程和廚師料理究竟有多像!
客人坐進你的餐廳,點了一份義大利麵。這時候身為廚師的我們,不會直接在廚房就開始料理,而是會細問要青醬、紅醬、白醬或是清炒?配料要用海鮮、肉醬或是蔬食。
我們知道義大利有很多種樣態,客人想要什麼,必須在開始的時候完整確認,也就是所謂的需求訪談。
在需求訪談的時候必須問出客人想要的究竟是什麼。需求訪談的詳實程度,決定客戶最終的滿意度。
客人的需求如同靶心,沒有確認好需求目的,再頂級的廚師團隊(資料分析師們)、再傳說的廚具(電腦硬體)、精準的火侯刀工(演算法)和頂級食材(資料)都只會脫靶。
如同在資料分析前最重要的事:決定「分析單位(unit of analysis)」一文中所述,確認分析標的(確認「分析單位」),攸關客人是否心甘情願吃下這盤他心目中理想的義大利麵。
食材的來源會依照我們提供不同的服務而異。如果我們是在自己開的餐廳裡料理,我們的餐廳可以有非常大的冰箱(我們自己擁有大量可重複應用的資料),天上飛的、海裡游的、地面爬的應有盡有,就看客人需不需要;有時是去客人家料理,食材就可能是在客人家的冰箱中(客戶自有資料),或是我們要從外面(開放資料)準備攜帶過去。甚至有時,客人慕名而來是因為我們可以自己種的有機食材,(生成資料、合成資料,如製作問卷發放回收、合成特定隱私資料等)都是可能的來源。
然而,重點仍在於蒐集或應用的資料,必須和客人想要的有關。例如客人想要的是番茄肉醬義大利麵,身為廚師的我們,就不會準備羅勒要打青醬。
當然,我們專業上會建議不要這樣,但當客人真的想要試試番茄肉醬義大利麵中加點青醬,只要食材備齊,客人接受,沒有我們覺得不行的道理!誰叫出錢的是老闆呢!
蔬菜沒清洗乾淨就料理,吃土沒關係,但可以接受品嚐農藥嗎?
食材的清洗和食材的來源息息相關。如果資料越原始,清洗所需要耗費的時間越長。原始的意思代表資料在蒐集的過程中,沒有經過標準化,例如收到的食材是鮮蚵,還是帶殼的那種,處理完之後還有一堆垃圾(我說的是殼),這就像收到一堆資料,而且都是紙本,處理完之後還有一堆廢紙。
所以不幸的話,首先需要將客戶提供的資料數位化,並定義資料欄位的標準化格式以及合理的範圍區間,例如一顆正常的牡蠣落在5到15公克重,資料上發現有顆50公克重的牡蠣,那就要看和來源是否相符(看是不是賺到了一顆生蠔,要嘛丟掉不然吃掉);一般來說,會是多填了一個 0 的鮮蚵而已,必須修正資料,確保資料正確性。
幸運的話,接觸到的食材已經過標準的清洗流程、和依規定的大小分切完成,並貼上標籤妥善儲存在冰箱中對應位置,也就是做好了資料倉儲管理(data warehousing)。不過,即便有了智慧化、標準化、倉儲化的冰箱,料理前還是需要依照客人的口味需要,進行微調;微調是否耗工,端看這個冰箱多麼智慧和標準。
廚師的味覺是與生俱來的,但是不同食材會受到季節、地域不同有所差異。確保所要完成的料理相對應的食材是否備齊、味道是否如同想像;料理前先對各項食材單獨嚐試過一輪、互相搭配測試口味也不為過。
料理前總要先確認冰箱裡有什麼,新不新鮮、食材之間是否可以互相搭配。資料分析也必須從理解資料開始,也就是探索性資料分析。這個階段的目的在於理解資料的分佈,和資料之間的關係,並且朝著分析目標的方向探索。例如透過次數分配表、直方圖、長條圖、圓餅圖等,了解各個變數的分佈狀況。進一步透過變數之間的相關性,初步掌握資料間彼此的關聯為何。
廚師和傳說廚具(電腦硬體)、精準的火侯刀工(演算法)和頂級食材(資料)的相遇,就是現在了!
廚師最令人敬佩的地方,在於知道客人想要的佳餚後,就已經掌握需要的食材、烹飪方式和調味比例。烹飪方式和調味比例最吃廚師的功力,就像是資料分析或模型建立,也可以說就是演算方式。
這裡所謂的「演算方式」並非嚴格定義的演算法,可以是資料流程的設計、計算平均、比較差異、了解組成或結構等,也可以是透過應用既有的統計方法、機器學習方法建立解釋或預測模型,以滿足客人對於成品的想像。也就是說,廚師本身十八般武藝,蒸煮炒炸燉烤烹煎樣樣行;但這樣的能力並非與生俱來,而是在不同的客人需求以及各種食材間來回穿梭,一步一腳印踏出來的,最需要的是實務經驗的累積。
料理美味,要兼顧視覺享受。
好吃的料理要「色香味」俱全,「色」更是重中之重。料理終究需要出餐到客人面前享用,必定需要適當的擺盤。如果客人看到端上桌的是一盤慘白無修飾的義大利麵,鐵定滿臉問號,就算只是需要客人用叉子輕輕翻攪一下,就可以發現美味的番茄丁和肉醬,這樣的神祕感絕不能是資料分析的調味料。
但這不是說把不能吃的東西弄得很好看就可以賣了,而是料理本身已經是美味可口的番茄肉醬義大利麵,就是出餐前再貼心一點,先鋪麵、淋肉醬、補番茄丁、灑巴西里、轉帕瑪森,讓客人一看就知道這是他要的番茄義大利肉醬麵;前面是不是沒有提過巴西里和帕瑪森?高於客人期待,超過100分。
資料分析的結果就像料理擺盤,需要藝術的美感,但最重要的是資訊的表達,必須簡單明瞭。重要的內容優先、明顯,結果呈現的數值單位定義清楚、一致,客戶不經說明就可以理解,就是最好的結果呈現方式。
將客人點的餐點,放到他適合吃的地方。
料理完成之後,總要端上桌。而上菜的方式要看客人是到餐廳享用,或是點外送到客戶公司,甚至只點我們的料理當開胃,是要搭配他們的主食。
分析結果的呈現可以是透過網頁或是其他視覺化工具,提供客戶獨立網頁線上瀏覽,或是嵌入到客戶現有的網站中,甚至模型的應用是包裝成應用程式介面(API)提供客戶取用,更可以是將模型直接整合到客戶的業務流程當中,端看客戶的需求是使用方式。
餐點準時送達,不要客氣,開吃!
餐點送達之後,客人想要如何食用,或是搭配其他食物、飲料,都是客人的自由。不過廚師對於自己的料理,一定要說得出口的品嚐美味的方式。例如:應該先聞香氣,嚐一口肉醬味道,再和義大利麵拌勻,大口吸入麵條!
好的分析結果必須帶來可行動的方案,例如:分析結果發現連續數年的營業額下降,原因是青少年人口減少,那麼將產品銷售對象轉為成人或高齡者,就會是一個可行動的方案。而若是預測模型,則可以禦敵於先,像是預測結果是暑假第一個週末的爆量出遊人潮,那麼多聘僱一些臨時工讀生就是一各行動方案。
請問滿意今天的餐點嗎?
廚師的任務起點,不是在客人點餐開始,而是品嚐之後。知道每次的料理是否符合客人期待和口味,用完餐點的滿意度調查至關重要,可以讓我們知道,這次的餐點水準如何,有沒有可以再精進的地方。雖然餐點不如預期的主因,多數時候是缺少關鍵食材或是食材品質不佳。
資料分析的監控目的,在於隨時注意分析結果是否正常,以及掌握分析的品質或預測的準確度是否符合預期,更重要的是,其中隱含未來可作為精進的方向。監控的方式相當多元,包含服務是否正常?客戶依分析結果行動前的預期和結果之間的差異是否為正?預測結果和實際結果一致性是否高度重疊?資料或是模型的作動是否偏離預期?監控是資料分析的最後一里路,更是優化資料分析的起點!
看到最後,幾乎可以明白資料分析流程和廚師料理過程幾乎一模一樣!本文透過比較容易想像的廚師料理的過程,說明資料分析的流程。並且強調了解客戶的需求和業務流程,是好的資料分析的關鍵;另外納入一般分析流程中較少提到的「部署」、「行動」和「監控」,完備資料分析從無到有,以及未來精進且不可或缺的完整程序。
用「廚師做料理的流程」比喻資料分析的工作,大概是從資料分析這個詞被發明以來就已經存在。本文透過輕鬆的描述,和大家一起重溫或是了解資料分析的過程如何。目的是作為之後文章的引子,先有詳細的流程,後續各部分說明的時候,不至於瞎子摸象。
如果有更恰當的比喻、想法或是覺得有遺漏可以補充的地方,都歡迎留言和我分享,謝謝。