簡介
基於時間的預測與常規表格機器學習有一個非常重要的區別:時間順序是核心。如果您以錯誤的方式劃分資料或建立功能,很容易用漂亮的結果來欺騙自己,但在實際部署時卻毫無用處。
課程目標
- 了解預測和常規迴歸之間的差異。
- 知道如何建立基本的時間特徵。
- 避免時間序列中的洩漏。
時間序列的特徵
- 資料依先前的順序排列。
- 可能有趨勢、季節、週期。
- 密切觀察往往是相互依賴的。
熱門功能
- 滯後功能,例如 sales_t-1、sales_t-7。
- 滾動統計,例如7天、30天平均值。
- 日曆功能,例如星期幾、月份、季度和假期。
如何正確劃分數據
不會像常規表格那樣隨機洗牌。我們沿著時間軸來劃分:train是過去的,validation是接近現在的,test是最新的一段。
基線非常重要
在使用複雜模型之前,請與基準進行比較,例如前一期的數值、移動平均值或上週同一時期的數值。
常見錯誤
- 隨機分割時間序列。
- 創建一個展望未來的滾動功能。
- 不要與幼稚基線進行比較。
練習練習
- 使用滯後特徵和簡單的基於樹的模型預測每日收入。
- 與前一天同期的基準進行比較。
- 當模型學習到超出基線的更多訊號時寫下評論。
完成標準
- 以時間邏輯劃分資料。
- 建立基本的滯後和滾動功能。
- 將模型與時間基準進行比較。
逐步練習(進階)
- 在時間軸上建立訓練/驗證/測試。
- 建立滯後特徵和捲動視窗特徵。
- 將 ML 模型與樸素基準進行比較。
- 透過MAE、MAPE和階段誤差進行評估。
- 在重要的季節性里程碑測試效能。
應提交工件
- 隨著時間的推移預測與實際圖表。
- 按週或按月的錯誤表。
- 對季節性漂移發表評論並建議模型更新。
自測題
- 為什麼隨機分裂會導致預測出現嚴重錯誤?
- 同期基線什麼時候夠好可以立即使用?
- 哪些特徵容易導致時間序列洩漏?