有兩個主題:
- 定義問題-不做沒有用的專案
- 假說思考對資料科學家來說至關重要
文末並附上資料相關工作內容
定義問題-不做沒有用的專案
If I had only one hour to solve a problem, I would spend up to two-thirds of that hour in attempting to define what the problem is.
商業分析
- 兩個面向
- 定義問題,並找出問題背後的原因
- 根據情境與原因,提出適當的解決方法
問題
- 常見的兩個問題
- 沒有清楚的目標
- 沒有找出真正的阻礙
- 避免問題的兩個原則
- 從想達成的目標出發,而不是從解決方案出發
- 不要在問題論述中參雜未經驗證的假說
評估問題的有效性:SMART 原則
- 四個重要的關鍵問題
- 我們想要達成的目標是什麼?
- 目前的情境/挑戰是什麼?不解決這些挑戰會有什麼影響?
- 跟這個專案相關的決策人士有誰?他們在意的面向是什麼?
- 如何定義「問題被解決」了?(決策者決定是否要採取行動的依據)
- SMART原則
- Specific(足夠明確)
- Measurable(成敗可以被衡量)
- Action-oriented(有下一部可以落地執行)
- Relevant(與願景/商業目標有直接關聯)
- Time-bound(有一定的時間性)
假說思考對資料科學家來說至關重要
什麼是假說思考?
在解決問題時,不斷提出「根據目前資訊最接近根本原因」的猜想(也就是假說),並驗證假說的過程。換句話說,在解決問題時需要不斷提出 educated guess,並透過資料的搜集與分析去驗證猜想的正確性。
其中有兩個重要的心態:
-
不論⽬前的資訊多有限,都要有⼀個「暫時的答案」,也就是隨時能回答「自己的看法是?」這樣的問題
-
透過提出「假說」,讓該做什麼事變得更清楚,因此有更多時間思考如何驗證以及驗證後如何執行下一步
三大好處:
-
能夠持續「定位問題」,有清楚目標的往前進——如果在遇到問題的第一天就能夠在心裡建立「暫時的解答」,會很清楚地知道專案的下一步就是「驗證這個暫時的解答是否正確」。
-
不論假說驗證完後是對/錯, 都能夠有「下⼀步」——如果目前假說是對的,可以深化分析,並試圖提出可能的解決方案。如果假說不正確,可以趕快換到下一個主題去驗證專案。
-
可以有效利用過去的經驗——「假說」是基於現有知識的最佳解,因此隨著你對於問題領域的了解越來越深入,或是解決問題的經驗越來越豐富,一開始就越有可能提出正確的假說。
資料科學中的假說思考
例如:
- 假設資料分析師分析了上週推薦系統的表現,發現推薦清單的點擊率突然掉了 12%,該怎麼辦呢?
根據過去的經驗,提出幾個比較有可能是原因的「假說」,比如說:
- 是否有介面、產品功能或其他面向的改變,造成點擊率下降呢?
- 是不是資料源有問題,沒有將上週所有的點擊紀錄都傳送回來呢?
- 是不是推薦模型的參數沒有更新,導致預測準確度有所誤差呢?
- 是否最近活躍用戶的習慣或是 profile 改變,需要設計新的推薦模型?
- 公司這一季產品的目標其中之一是能夠提升用戶留存率 10%,能不能夠透過資料分析,去釐清留存率的問題,這時可能會提出一些假說。 比如說:「使用者主要流失的時機可能會發生在 onboarding / value discovery / habit adoption / retention 時」,而到底使用者流失主要發生在哪個階段呢?這時可以從產品的「留存曲線」很容易看出來!
假說思考的關鍵步驟 - OODA
由美國空軍上校約翰・柏伊德 (John Boyd) 提出,由觀察(Observe),定位(Orient), 決定(Decide)與行動(Act)四個階段構成,反覆進行並透過環境給與的回饋持續優化循環。
- 觀察(Observe)
初學者容易犯的錯誤
- 直接把「解決方案」當成「假說」
- 天馬行空的產生假說,而非基於現有資訊
- 定位(Orient)
- 衡量
- 「假說為真的可能性」
- 「研究該假說可以帶來的影響力」
- 衡量
- 決定(Decide)
- 基於「目前認為最好的假說」去進行調查
- 行動(Act)
- 透過不同類型的測試方法,蒐集與分析新的資訊,持續驗證或是推翻假說,並做好隨時調整假說的方式
資料相關工作內容
角色 | 工作內容 |
---|---|
資料分析師 | 有產業, 統計知識, 了解問題, 把問題變成數學問題 |
資料科學家 | 把問題變成數學問題, 抽feature, 訂evaluation, 設計數學演算法, 寫prototype |
資料工程師 | data clean, data storage, big data, cloud computing |
機器學習工程師 | 設計數學演算法, 實作演算法, 挑ML模型, tune參數, 把prototype改成production code |