摘要
時間序列預測方法包括使用一組歷史時間序列進行預測,在信號處理、模式識別、計量經濟學、數學金融、天氣預報、地震預測等領域都有廣泛應用。過去時間序列預測方法以線性方法為主,然而在許多最新的應用中已經嘗試使用機器學習、深度學習、高斯過程和人工神經網絡等技術來進行時間序列預測。 在處理時間序列預測問任務時,損失函數的選擇非常重要,因為它會驅動算法的學習過程。以往的工作提出了不同的損失函數,以解決數據存在偏差、需要長期預測、存在多重共線性特征等問題。
本文工作總結了常用的的 14 個損失函數并對它們的優缺點進行分析,這些損失函數已被證明在不同領域提供了最先進的結果。本文在在各種時間序列基準任務上對它們的表現進行分析,希望能助行業專業人士和研究人員快速的為任務選取合適的損失函數,避免過多的實驗嘗試。
問題背景
回歸是一種常見的預測建模技術,用于估計兩個或多個變量之間的關系。它是一種監督學習技術,可以定義為用于對相關實數變量之間的關系建模的統計技術和自變量。
時間序列數據與一般基于回歸的數據略有不同,因為在特征中添加了時間信息,使目標更加復雜。時間序列數據具有以下組成部分
level:每個時間序列都有一個 base level,簡單的 base level 的計算可以直接通過對歷史數據進行平均/中位數計算得到;
周期性:時間序列數據也有一種稱為周期性的模式,它不定期重復,這意味著它不會以相同的固定間隔出現;
趨勢:表示時間序列在一段時間內是增加還是減少。也就是說,它有上升(增加)或下降(減少)的趨勢;
季節性:在一段時間內重復出現的模式稱為季節性;
噪聲:在提取水平、周期性、趨勢和季節性之后,剩下的就是噪聲,噪聲是數據中完全隨機的變化。
每個機器學習模型的基本目標都是改進模型的選定指標并減少與之相關的損失。用于時間序列預測的機器學習或深度學習模型的一個重要組成部分是損失函數,模型的性能是根據損失函數來衡量的,促使了模型參數的更新。
14種損失函數分析
3.1 Mean Absolute Error (MAE)
MAE,也稱為 L1 損失,是預測值與實際值之間的絕對誤差:
所有樣本值的絕對誤差的均值就稱為 MAE:
▲ MAE Loss與Predictions的性能圖
MAE 是回歸模型中經常使用的一種簡單有效的損失函數。但是由于異常值,回歸問題中的變量可能不是嚴格的高斯變量會帶來一些問題。
3.2 Mean Squared Error (MSE) MSE,也稱為 L2 損失,是預測值與實際值之間的平方誤差:
所有樣本值的平方誤差的均值就稱為 MSE,也稱作均方誤差:
MSE 也稱為二次損失,因為懲罰是平方而不是與誤差成正比。當誤差被平方時,離群值被賦予更多的權重,為較小的誤差創建一個平滑的梯度。受益于這種對巨大錯誤的懲罰,有助于優化算法獲得參數的最佳值。鑒于錯誤是平方的,MSE 永遠不會是負數,錯誤的值可以是 0 到無窮大之間的任何值。隨著錯誤的增加,MSE 呈指數增長,好的模型的 MSE 值將接近于 0。
3.3 Mean Bias Error (MBE) 高估或低估參數值的傾向稱為偏差或平均偏差誤差。偏差的唯一可能方向是正向或負向。正偏差表示數據誤差被高估,而負偏差表示誤差被低估。
實際值和預期值之間的差異被測量為平均偏差誤差(MBE)。預測中的平均偏差由 MBE 量化。除了不考慮絕對值外,它實際上與 MAE 相同。應謹慎對待 MBE,因為正向誤差和負向誤差可能會相互抵消。
▲ MBE Loss與Predictions的性能圖
3.4 Relative Absolute Error (RAE)
RAE 的計算將總絕對誤差除以平均值與實際值之間的絕對差值:
RAE 是一種基于比率的指標,用于評估預測模型的有效性。RAE 的可能值介于 0 和 1 之間。接近零的值(零是最佳值)是良好模型的特征。
▲ RAE Loss與Predictions的性能圖
3.5 Relative Squared Error (RSE) RSE 衡量在沒有簡單預測器的情況下結果的不準確程度。這個簡單的預測變量僅代表實際值的平均值。結果,相對平方誤差將總平方誤差除以簡單預測變量的總平方誤差以對其進行歸一化。可以在以不同單位計算誤差的模型之間進行比較。
▲ RSE Loss與Predictions的性能圖
3.6 Mean Absolute Percentage Error (MAPE) 平均絕對百分比誤差(MAPE),也稱為平均絕對百分比偏差(MAPD),是用于評估預測系統準確性的指標。它通過從實際值減去預測值的絕對值除以實際值來計算每個時間段的平均絕對百分比誤差百分比。由于變量的單位縮放為百分比單位,因此平均絕對百分比誤差(MAPE)廣泛用于預測誤差。當數據中沒有異常值時,它效果很好,常用于回歸分析和模型評估。
▲ MAPE Loss與Predictions的性能圖
3.7 Root Mean Squared Error (RMSE)
MSE 的平方根用于計算 RMSE。均方根偏差是 RMSE 的另一個名稱。它考慮了實際值的變化并測量誤差的平均幅度。RMSE 可以應用于各種特征,因為它有助于確定特征是否增強模型預測。當非常不希望出現巨大錯誤時,RMSE 最有用。
▲RMSE Loss與Predictions的性能圖
3.8 Mean Squared Logarithmic Error (MSLE)
均方對數誤差(MSLE)衡量實際值與預期值之間的差異。添加對數減少了 MSLE 對實際值和預測值之間的百分比差異以及兩者之間的相對差異的關注。MSLE 將粗略地處理小的實際值和預期值之間的微小差異以及大的真實值和預測值之間的巨大差異。
這種損失可以解釋為真實值和預測值之間比率的度量:
▲MSLE Loss與Predictions的性能圖
3.9 Root Mean Squared Logarithmic Error (RMSLE)
RMSLE 通過應用 log 到實際和預測的值,然后進行相減。當同時考慮小誤差和大誤差時,RMSLE 可以避免異常值的影響。
▲RMSLE Loss與Predictions的性能圖
3.10 Normalized Root Mean Squared Error (NRMSE) 歸一化均方根誤差(NRMSE)RMSE 有助于不同尺度模型之間的比較。該變量具有觀測范圍的歸一化 RMSE(NRMSE),它將 RMSE 連接到觀測范圍。
▲NRMSE Loss與Predictions的性能圖
3.11 Relative Root Mean Squared Error (RRMSE)
RRMSE 是沒有維度的 RMSE 變體。相對均方根誤差(RRMSE)是一種均方根誤差度量,它已根據實際值進行縮放,然后由均方根值歸一化。雖然原始測量的尺度限制了 RMSE,但 RRMSE 可用于比較各種測量方法。當您的預測被證明是錯誤的時,會出現增強的 RRMSE,并且該錯誤由 RRMSE 相對或以百分比表示。
▲RRMSE Loss與Predictions的性能圖
3.12 Huber Loss Huber 損失是二次和線性評分算法的理想組合。還有超參數 delta. 對于小于 delta 的損失值,應該使用 MSE;對于大于 delta 的損失值,應使用 MAE。這成功地結合了兩種損失函數的最大特點。
▲Huber Loss與Predictions的性能圖
3.13 LogCosh Loss
LogCosh 計算誤差的雙曲余弦的對數。這個函數比二次損失更平滑。它的功能類似于 MSE,但不受重大預測誤差的影響。鑒于它使用線性和二次評分技術,它非常接近 Huber 損失。
▲LogCosh Loss與Predictions的性能圖
3.14 Quantile Loss 分位數回歸損失函數用于預測分位數。分位數是指示組中有多少值低于或高于特定閾值的值。它計算跨預測變量(獨立)變量值的響應(因)變量的條件中位數或分位數。除了第 50 個百分位數是 MAE,損失函數是 MAE 的擴展。它不對響應的參數分布做出任何假設,甚至為具有非常量方差的殘差提供預測區間。
▲Quantile Loss與Predictions的性能圖
實驗分析各種損失函數在時間序列任務上的表現
數據集
電力負荷數據集-數據集包含 370 點/客戶端的電力消耗。
交通數據集-數據集包含 15 個月的每日數據(440 條每日記錄),描述了舊金山灣區高速公路不同車道隨時間變化的占用率,數值介于 0 和 1 之間。
Favorita 數據集-包含日期、商店和商品信息、該商品是否正在促銷以及單位銷售額的雜貨數據集。
波動率數據集-數據集包含衡量金融資產或指數過去波動性。
評估指標
實驗使用 P10、P50 和 P90 度量評估了所有損失函數的性能。預測的上限和下限可以通過分位數提供。80% 置信區間是可以獲得的值范圍,例如,通過使用預測類型 0.1(P10)和 0.9(P90)。在 10% 的情況下,觀測值應小于 P10 值,在 90% 的情況下 P90 值應更高。 總的來說:
在電力數據集的任務上,Quantile Loss、MSE 和 RRMSE 損失表現良好。
在交通數據集任務上,Log Cosh Loss、Quantile Loss 和 MAE 表現更好。
在 Favorita 數據集任務上,RAE、LogCosh Loss 和 Quantile Loss 表現更好。
在波動率數據集任務上,Quantile Loss、MAE 和 Huber Loss 表現更好。
總結展望
損失函數在確定給定目標的良好擬合模型中起著關鍵作用。對于時間序列預測等復雜目標,不可能確定通用損失函數。有很多因素,如異常值、數據分布的偏差、ML 模型要求、計算要求和性能要求。沒有適用于所有類型數據的單一損失函數。在主要關注模型架構和數據類型的學術環境中,損失函數可以通過用于訓練的數據集屬性(如分布、邊界等)來確定。 這項工作試圖構建特定損失函數可能有用的情況,例如在數據集中出現異常值的情況下,均方誤差是最佳策略;然而,如果有更少的異常值,則平均絕對誤差將是比 MSE 更好的選擇。同樣,如果我們希望保持平衡,并且我們的目標基于百分位數損失,那么使用 LogCosh 是更好的方法。本文總結了用于時間序列預測的 14 個著名損失函數,并開發了一種易于處理的損失函數形式,用于改進和更準確的優化。
審核編輯 :李倩
-
神經網絡
+關注
關注
42文章
4779瀏覽量
101052 -
函數
+關注
關注
3文章
4345瀏覽量
62882 -
機器學習
+關注
關注
66文章
8438瀏覽量
132930
原文標題:最新綜述:詳細分析14種可用于時間序列預測的損失函數
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論