- 【論文導讀】Long-term forecasting of hourly retail customer flow on intermittent time series with multiple seasonality
- 論文導讀聲明
- 論文出處
- 前言
- 導讀結論
- 背景
- 貢獻
- 多重季節性
- 資料集與前處理
- 資料集
- 演算法 — 線上季節性 z 分數異常值檢測(Online seasonal zscore outlier detection)
- z-score
- 異常資料填充
- MinMax 標準化 (MinMax Normalization)
- 方法論
- 模型
- 季節性天真方法(Seasonal naïve)
- 多重季節性天真方法 (Multiple seasonal naïve)
- HistGB(Histogram-based Gradient Boosting)
- MLP(Multi-Layer Perceptron)
- LSTM(Long Short-Term Memory)
- Prophet
- TBATS(Trigonometric, Box-Cox, ARMA, Trend, Seasonality)
- 多步預測策略(Multistep ahead forecasting strategies)
- 遞迴策略(Recursive strategy)
- Seasonal recursive strategy
- MIMO 策略
- 加權平均集成(Weighted Average Ensemble, WAE)
- 表現衡量指標(Performance measures)
- 相對性衡量指標 (RelMAE)
- 結果評估
- 總結
【論文導讀】Long-term forecasting of hourly retail customer flow on intermittent time series with multiple seasonality
論文導讀聲明
此文章為論文導讀紀錄與推廣意圖,目的為精簡核心概念,以及分享心得與觀點,本文章遵守著作權法,並遵守合理使用原則(如學術引用、評論權),以及原始資料所適用之授權條款(如 CC授權等)如需完整了解研究細節與圖表數據,請參考原始論文出處。
論文出處
Martim Sousa, Ana Maria Tomé, José Moreira, Long-term forecasting of hourly retail customer flow on intermittent time series with multiple seasonality, Data Science and Management, Volume 5, Issue 3, 2022, Pages 137-148, ISSN 2666-7649, https://doi.org/10.1016/j.dsm.2022.07.002
前言
人力優化(Workforce optimization)是一個活躍的研究主題,因為它能為企業帶來不可忽視的人事成本降低
另一個需要克服的問題是,如何應對所謂的multiple seasonality問題,並讓機器學習模型有效學習到時間週期所發生的特徵變化
這些研究不僅是應用在一般的人力優化上,也可以應用至各個商業行為分析,以及具有季節週期性的資料預測
導讀結論
此篇研究主軸為預測每個時間點零售客戶的數量,這關於了時間序列(time series)與季節週期性的關係,而這些概念適用於任意時間序列有關的資料,文中提到的多步預測策略則介紹資料的運作方式,使的在深度學習模型的訓練上有更多的開發方向。
而本文所提出的加權平均集成模型(Weighted Average Ensemble, WAE)是整個論文的核心,文中描述了WAE的架構,從流程最初資料處理至預測模型(Forecasting Models),在到評估指標、篩選、加權,最終集成為WAE預測模型,在後續測試結果中展示WAE模型優於本文所使用的各個預測模型。
背景
截至2022年,文獻回顧顯示,尚無論文探討多步預測情境下,具有多重季節性週期的間歇性時間序列,這導致模型選擇上的誤導性結論,因此,該研究針對此問題提出相應之解決方案
該研究主要目標是能準確預測長達一個月的零售商店顧客流(time series of customer entries),以幫助企業做出良好的決策
貢獻
該研究有幾項貢獻:
(1) 季節性遞迴法(seasonal recursive)大幅優於其競爭者遞迴策略(recursive strategy)
(2) 線上季節性 z 分數異常值檢測(online seasonal zscore outlier detection)明確偵測出大量異常值,減少餵給模型的噪音,進而降低預測誤差;
(3) 多重季節性簡單法(multiple seasonal naïve)表現優於任何單一季節性簡單法。
(4) 提出加權絕對誤差框架(WAE framework, Weighted Absolute Error),他的表現在該研究中勝過所有模型。
多重季節性
什麼是多重季節性問題,多重季節性指的是在同樣的時間週期,將出現類似的行為模式
舉個例子
在每日季節性中,觀察出早上或傍晚高峰值
在月季節中,觀察出月中或月底,原因是發薪日或其他因素的影響
在年季節中,觀察是否在不同節慶或是季節發生變化
單位以一個小時的時間序列來表示每日、每周、每月和每年,並稱為Seasonal cycle length,季節時常大小設定為24的倍數,即24、168、672和8736
資料集與前處理
資料集
該資料集包含 98 條實際零售時間序列,涵蓋的資訊時間範圍為 2015 年 1 月至 2019 年 11 月。
而 2019 年 11 月的資料被用作驗證集(validation set)進行模型評估,其餘年份的資料則用於訓練模型。
資料具有以下特性:
-
資料不連續(由於非營業時段造成的缺失)
-
多重季節性問題(日、週、月、年)
-
長期預測需求(例如:預測未來 720 小時,即 30 天)
演算法 — 線上季節性 z 分數異常值檢測(Online seasonal zscore outlier detection)
該研究提出一種演算法:線上季節性 z-score 異常值檢測(Online seasonal zscore outlier detection)
這些異常值可能出現在特殊事件、國定假日、資料錯誤等等,在樣本數據不夠多或是資料不夠穩定時,該研究建議以保留整體趨勢為優先。
演算法將透過z-score找出極端值,並替換為相同季節值的平均數,使模型在訓練時不受到異常值的影響,而降低了整體趨勢的預測準確度
演算法的重點整理
最開始: 輸入時間序列資料陣列,以及季節元素的總週期數 ,以及季節循環長度
第3行: while 迴圈表示處理逐筆資料
第6行: while 迴圈負責找出目前時間序相對應的季節時間
第9行: 負責判斷該時間資料是否為極端值,原理就是計算出z-score,並且將上界和下界去加入倒O集合內,而這個z-score的平均數與標準差則是以相同季節資料為基準參數。
z-score
z-score 是統計學(Statistics)中用來衡量一個資料點與整體資料平均值的距離,並以標準差(Standard Deviation)為單位的指標
在本演算法中,計算 Z-score 所使用的平均值與標準差,僅基於相同季節位置的歷史資料,而不是全體資料。
異常資料填充
當我們擁有了擁有異常值的O集合,則將每一個異常值,以相同季節總平均值替代。
是前幾個季節元素的數量, 是季節循環長度,透過函數加總,最後再取平均值來代替
MinMax 標準化 (MinMax Normalization)
MinMax 標準化為機器學習常用的標準化方法,因為它確保了更穩定和更快速的收斂,讓模型更容易進行訓練
它會將每個元素映射到區間 ,計算公式如下:
方法論
主要的流程架構,
最一開始進行資料前處理,包括線上季節性 z-score 異常值檢測(Online Seasonal Z-score Outlier Detection)與MinMax 正規化(MinMax Normalization)
再來透過多步季節性策略(multistep seasonal strategies)重新組織時間序列資料,並輸入至各種預測模型進行訓練
訓練完成後,透過相對平均絕對誤差(Relative Mean Absolute Error, RelMAE)評估模型效能,選出誤差最小的前五名模型
這些模型會使用加權絕對誤差法(Weighted Absolute Error, WAE)進行組合,並再次使用 RelMAE 評估整體效能,最終選出表現最好的模型作為最終預測結果。
模型
該研究中使用的幾個現有模型,在流程圖中的黃色區塊標示
季節性天真方法(Seasonal naïve)
季節性天真方法(Seasonal naïve)是一種針對季節性時間序列的簡單預測方法,該研究中,預測值設定為,等於最後一次觀察到的相同期季節的值。
儘管此方法較為簡單,卻能勝過更複雜的方法,特別是在高度季節性且無明顯趨勢的時間序列中。
多重季節性天真方法 (Multiple seasonal naïve)
該研究將季節性簡單法延伸至多重季節性,透過對不同季節週期長度多次套用季節性簡單法,並對各預測結果取平均值來達成。
HistGB(Histogram-based Gradient Boosting)
基於分桶優化的梯度提升決策樹模型,能高效處理結構化資料的回歸與分類任務,適合配合特徵工程應用於時間序列預測。
MLP(Multi-Layer Perceptron)
經典的前饋式神經網路,透過多層非線性轉換學習輸入與目標之間的複雜函數關係,適用於固定長度的向量輸入資料。
LSTM(Long Short-Term Memory)
一種具備時間記憶能力的遞迴式神經網路,可捕捉長期與短期依賴,廣泛應用於時間序列與序列資料建模。
Prophet
由 Meta(Facebook)開發的可解釋時間序列預測模型,結合趨勢、週期與節日效應,適用於具有明確結構的業務預測場景。
TBATS(Trigonometric, Box-Cox, ARMA, Trend, Seasonality)
一種專為處理多重季節性與非線性趨勢而設計的統計預測模型,適合應對不規則或長週期時間序列。
多步預測策略(Multistep ahead forecasting strategies)
Multistep ahead forecasting strategies 是指在進行時間序列預測時,如何設計輸入資料的結構、模型的訓練流程,以及最後輸出預測值的方式。
你可以把它理解為在實際開發深度學習或機器學習模型時,所採用的資料切分策略、訓練方法與預測架構。
有幾種常見且實用的策略
遞迴策略(Recursive strategy)
Recursive strategy 目標是根據過去 個觀測值,預測未來 個時間點的值,這決定了資料每一次遞迴的長度
因為是單輸出策略,每一次的預測,都將受到前面的影響,這包括了預測值,因此,這個策略的缺點是它會嚴重受到誤差積累的影響
Seasonal recursive strategy
Seasonal recursive strategy 主要特色是,它包含了k個季節延遲,使模型捕捉季節性的變化,並減少 recursive strategy 積累誤差問題
季節性遞迴策略中,前面與一般遞迴一樣,而後半部則包含所有對應的季節數
MIMO 策略
MIMO 策略是多輸入多輸出的架構,因此不會像 Recursive strategy(遞迴策略) 那樣面臨預測誤差積累的問題
在這個研究中,MIMO 策略使用在 LSTM 與 MLP 模型
MIMO的缺點是,當資料規模龐大時候,模型訓練可能會出現如,計算成本限制、過擬合、缺乏彈性調整
加權平均集成(Weighted Average Ensemble, WAE)
WAE是一個整合預測方法,用來組合多個模型的預測結果,透過加權平均數來進行加總,WAE 的設計可以保留來自不同模型的季節性特徵資訊,特別適合於多重季節性的時間序列預測任務。
公式表示第 個模型對未來第 小時的預測值,並對每個時間步 分別進行加權
加權的原理就是該模型的準確度除以所有模型的準確度,也就是加權平均數
表現衡量指標(Performance measures)
回顧基礎 RMSE(均方根誤差)與 MAE(平均絕對誤差)是回歸任務中最常使用的指標
而這兩者都是與資料尺度相關(scale dependent)的,因此不適合用來比較多條不同尺度的時間序列。原因是它們依賴於時間序列本身的數值大小,因此無法準確反映模型的預測效果。
相對性衡量指標 (RelMAE)
該研究建議使用相對性衡量指標(relative measures,RelMAE),原因是當存在多個樣本外預測時,預測範圍(forecast horizon)必須足夠大。
RelMAE指標的特性為尺度獨立(scale-independent)、對稱的(symmetric)、容易解釋的(easily interpretable),即使是對於間歇性時間序列(intermittent time series),也很少會出現異常值的情況。
RelMAE 的定義如下:
當 RelMAE > 1 時,表示基準模型的表現優於被評估模型;當 RelMAE < 1 時,則表示被評估模型表現較佳。
此外,本文建議使用 naïve 或 seasonal naïve 方法作為基準模型
結果評估
圖 a 表示了每個模型被選 WAE 選重的次數,總次數為 98 筆店家資料 乘以 5 次 WAE 所選擇的最佳模型,在這裡可以看到常被選擇的模型有 MLP、Mutiple Naive 、HistGB、Prophet、TBATS
圖 b 為 boxplot 來表示每個模型的在WAE中的權重表現,例如整體可以看出 MLP 、HisGB 整體表現中上,且沒有太多極端值,表現相較穩定,而像是 Prophet 有時出現了異常高權重與異常低的權重
圖7、8中表示,各個模型的單獨的表現結果與真實值得比對,The model was evaluated on the validation set in the second week of November 2019,真實值為紫色,如果模型預測結果與真實值重疊越緊密,表示該預測越準確
其中表現最差為 LSTM,其次為HistGB 2 和 3
圖9 表示了WAE與真實值,可以看到WAE己乎吻合了真實值,達到穩定的預測品質
這個表格表示了WAE與其他模型單獨預測的表現,你可以看到圖表中的結果,WAE有著最低的誤差值0.742,並且在總資料98筆中勝出了55次,為所有模型中最好的表現
總結
該研究結合了多步預測策略(Multistep ahead forecasting strategies)間歇性時間序列(Intermittent time series)、多重季節性建模(Multiple seasonality models)、異常值檢測與處理(Outlier detection and treatment)、尺度獨立的效能指標(Scale-independent performance measures)以及提出之集成模型 WAE(Weighted Average Ensemble) 在整體表現上顯著優於其他方法,其平均絕對誤差為基準模型的 1.35 倍以下,顯示此方法在多重季節性預測任務中的有效性與穩定性。
關於短處 由於研究範疇所限,該研究未能進一步探討最佳化超參數