多重時間聚合算法(MAPA)改進需求預測模型

這篇文章Improving your forecasts using multiple temporal aggregation介紹了“多重聚合預測算法”(MAPA)。它指出傳統預測常依賴單一數據頻率,但MAPA通過將數據聚合到不同時間粒度(如日、周、月、年)并分別建模,然后組合這些預測。

組合這些預測的方法主要有以下幾種,直接組合預測結果:

  • 計算平均值(Averages):將來自不同聚合級別的預測值直接取平均。
  • 計算中位數(Medians):將來自不同聚合級別的預測值取中位數,文章提到這更適合避免極端值的影響。
  • 使用截尾均值(Trimmed Means):這是一種更穩健的平均方法,排除最高和最低的預測值后再計算平均。
  • 使用其他操作符(Other operators):文章泛指除了平均值和中位數之外的其他組合方法。

組合模型組件(針對季節性問題):

為了避免季節性被過度抑制,文章建議不直接組合最終預測,而是組合模型的各個組成部分。
具體做法是:

  • 先組合來自不同聚合級別的所有**水平(Level)**估計。
  • 然后組合所有**趨勢(Trend)**估計。
  • 再組合所有**季節性(Seasonal)**估計(只考慮允許季節性建模的聚合級別)。
  • 最后,使用這些組合后的組件來計算最終的預測值。

文章目錄

  • 0 前言
  • 1 不同時間粒度最優模型也有弊端
  • 2 多重聚合預測算法 (MAPA)具體操作
    • 2.1 步驟 1:聚合
    • 2.2 步驟 2:預測
    • 2.3 步驟 3:組合
  • 3 季節性問題
  • 4 這么多計算步驟是否值得?
  • 5 不僅僅是準確性
  • 6 R 語言依賴
  • 7 延伸閱讀


0 前言

在大多數商業預測應用中,問題通常會直接決定我們收集和用于預測數據時的采樣頻率。傳統方法試圖從歷史觀測中提取信息來構建預測模型。本文將探討如何通過時間聚合來轉換數據,從而獲取有關現有序列的額外信息,最終實現更優的預測。我們將討論一種新引入的建模方法,它結合了來自許多不同時間聚合級別的信息,在此過程中增強了序列的各種特征,從而生成穩健且準確的預測。

  • 時間聚合有助于識別序列特征,因為這些特征在不同頻率下會得到增強。此外,這個簡單的技巧可以減少間歇性,使得成熟的傳統預測方法能夠用于慢速移動數據。
  • 使用多個時間聚合級別可以顯著提高預測性能,特別是對于較長的預測期,因為序列的各種長期組成部分能夠得到更好的捕捉。
  • 跨不同聚合級別的組合可以生成在所有頻率上都協調一致的估計。從實踐者的角度來看,這非常重要,因為它生成的預測在操作、戰術和戰略層面都是協調一致的。
  • 相關的 R 軟件包 MAPA 允許通過開源 R 統計軟件在實踐中直接使用此算法。

通常,對于短期操作預測,會使用月度、每周甚至每日數據。另一方面,常見的建議是使用季度和年度數據來生成長期預測。這類數據包含的細節較少,并且通常更平滑,能更好地展現序列的長期行為。當然,從不同頻率序列生成的數據必然會有所不同,這常常導致某個時期的累積操作預測與同期累積需求派生出的戰術或戰略預測不一致。盡管如此,在實踐中,最常見的情況是使用相同的數據和模型來生成短期和長期預測,這存在明顯的局限性,特別是對于長期預測。

數據的不同頻率可以揭示或隱藏各種時間序列特征。當考慮快速移動時間序列時,隨機變動和季節性模式在每日、每周或每月數據中更為明顯。通過使用非重疊時間聚合,可以輕松構建低頻率時間序列。聚合級別指的是時間聚合過程中時間桶的大小,并與數據的頻率直接相關。聚合級別的增加會導致序列頻率的降低。同時,這個過程也充當了一個濾波器,平滑高頻特征,并更好地近似數據的長期組成部分,例如水平、趨勢和周期。請注意圖 1 中序列在不同聚合級別下的變化。原始的月度序列主要受季節性成分影響,而在第 12 級聚合(現在是年度序列)下,則主要受水平變化和微弱趨勢的影響。

圖片

圖 1. 月度快速移動時間序列在不同非重疊時間聚合級別下的表現。

在間歇性需求數據(就是應季產品)的情況下,從高頻(月度)數據轉向低頻(年度)數據可以減少(甚至消除)數據的間歇性,從而最大限度地減少需求為零的時期數量。這使得傳統預測方法可以應用于該問題。圖 2 展示了這類時間序列如何隨著聚合級別的變化而改變行為。

圖片

圖 2. 月度慢速移動時間序列在不同非重疊時間聚合級別下的表現。

這些時間序列特征的存在和大小,無論是對于快速移動還是慢速移動的商品,都會影響預測準確性。因此,對于實踐中的預測員來說,顯而易見的問題是:“我應該使用哪個聚合級別的數據?”

1 不同時間粒度最優模型也有弊端

你把數據“打包”成不同的樣子(比如按月打包、按季打包),然后分別去找到一個“最厲害”的預測模型。但你找到的這個“最厲害”的模型,可能只是在這個特定的“打包方式”下看起來厲害。

由于時間序列特征會隨著數據頻率(或聚合級別)的變化而變化,因此不同的方法將被識別為最優。這些方法將產生不同的預測,最終導致不同的決策。本質上,我們必須處理真正的模型不確定性,即在特定數據聚合級別下被識別為最優模型的適用性或錯誤指定問題。
即使我們忽略時間聚合問題,對于簡單的時間序列,我們也有兩種主要的不確定性:

  • i) 數據不確定性:我們是僅僅非常幸運,還是非常不幸地擁有了我們現有的樣本?隨著更多觀測值的出現,我們的模型及其參數將如何變化?
  • ii) 模型不確定性:模型或其參數是否合適,或者由于潛在的優化問題,模型提供了糟糕的預測?

第二個問題對于 [具有許多自由度的模型]而言更為嚴重。時間聚合揭示了這些差異,并迫使我們面對這個問題。

解決這個問題的一個潛在方法是,通過使用多個聚合級別來嘗試考慮數據的所有替代視圖,從而減少上述不確定性。然后分別對每個視圖進行建模,最好地捕捉在每個級別上被放大的不同時間序列特征。由于模型會不同,與其偏愛單一模型,不如將它們(或它們的預測)組合成一個穩健的最終預測,該預測考慮了來自所有數據頻率的信息。

因此,我們建議不要相信單一聚合級別上的單一模型,這不可避免地會導致選擇一個單一的“最優”模型。相反,請考慮多個聚合級別。這種方法試圖降低選擇一個基于單一數據視圖的糟糕模型的風險,從而減輕了模型選擇的重要性。

2 多重聚合預測算法 (MAPA)具體操作

在本節中,我們將通過三個步驟(聚合、預測和組合)解釋如何在實踐中應用所提出的多重聚合預測算法 (MAPA)。圖 3 展示了所提出框架的圖形說明,并將其與實踐中通常應用的標準預測方法進行了對比。

圖片

圖 3. 標準預測方法與 MAPA 預測方法的對比。

2.1 步驟 1:聚合

在標準方法中,統計預測方法的輸入是單一頻率的數據,通常是數據收集過程中使用的采樣頻率,或者后續將用于預測的頻率。因此,聚合級別要么由數據可用性驅動,要么由預測的預期用途驅動。另一方面,MAPA 使用同一數據的多個實例,這些實例對應于不同的頻率或聚合級別。假設我們有 4 年的月度觀測數據(48 個數據點)。為了將這些數據轉換為季度數據(1 季度 = 3 個月),我們定義 48/3 = 16 個時間桶。然后,我們使用簡單的求和進行聚合,以計算每個時間桶的累積需求。這個過程將創建 16 個聚合觀測值,這些觀測值將與所需的季度頻率匹配。在這種情況下,聚合級別等于 3 個周期,而轉換后的頻率等于原始頻率的 1/3。

如果所選的聚合級別不是原始頻率下可用觀測值的倍數,那么在此時間聚合過程中可能會丟棄一些數據點。繼續我們之前的例子,如果聚合級別設置為 5,那么只能定義 9 個時間桶,對應 45 個月度觀測值。在這種情況下,有 3 個月度周期被丟棄。我們選擇從序列的開頭丟棄觀測值,因為后面的觀測值被認為更具相關性。

這種將原始數據轉換為替代(較低)頻率的過程,使用多個聚合級別,只要所有轉換后的序列都有足夠的數據來生成統計預測,就可以繼續進行。如果原始采樣頻率是月度數據,并且考慮到公司通常保留 3 到 5 年的歷史數據,我們建議聚合過程一直持續到年度頻率(聚合級別等于 12 個周期)。這也將足以突出序列的長期變化。

無論如何,雖然起始頻率總是受原始數據采樣的限制,但我們建議聚合的上限應至少達到年度級別,在該級別上,季節性將從數據中完全過濾掉,而長期(低頻)成分(如趨勢)將占據主導地位。當然,聚合級別的范圍應包含與預測預期用途相關的級別:例如,用于 S&OP 的月度預測,或用于長期規劃的年度預測。這確保了最終的 MAPA 預測捕獲所有相關的時間序列特征,從而提供時間上協調一致的預測。

第一步的輸出是一組序列,所有序列都對應相同的基本數據,但轉換為不同的頻率。

2.2 步驟 2:預測

在步驟 1 中計算的每個序列都應單獨進行預測。在預測文獻中,存在幾種自動模型選擇協議。對于快速移動商品,指數平滑被認為是可靠且相對準確的。它對應于可能包含趨勢(阻尼或不阻尼)和季節性的模型,同時允許多種形式的交互(加性或乘性)。一種廣泛使用的方法是根據預定義信息準則(如 AIC)的最小化來自動選擇最佳模型形式。預計在我們的序列集中,將在不同的聚合級別上選擇不同的模型。季節性和各種高頻成分預計將在較低聚合級別(如月度數據)上得到更好的建模,而長期趨勢將在頻率降低(年度數據)時得到更好的捕捉。

在間歇性需求序列的情況下,存在分類方案,允許在兩種最廣泛使用的預測方法之間進行選擇:Croston 方法和 Syntetos-Boylan 近似 (SBA)。在此類方案下,間歇性水平和需求變異性決定了哪種方法更合適。使用多個聚合級別將改變間歇性和變異性,因此我們預計在所有頻率上都將識別出不同的最優方法。此外,在較高聚合級別上,生成的序列可能不包含零需求期。在這些情況下,我們建議使用傳統優化的簡單指數平滑,利用其在非間歇性時間序列中的良好性能。此外,將數據從慢速移動轉換為快速移動可能會揭示在較低粒度級別(噪聲是主要成分)可能不存在的常規時間序列成分(如趨勢或季節性)。任何采樣頻率足夠高的時間序列都是間歇性的,因此這些情況應被視為一個連續體。

此步驟的輸出是多組預測,每組對應一個替代頻率。

2.3 步驟 3:組合

所提出的 MAPA 方法的最后階段涉及將從替代頻率派生出的不同預測進行適當組合。

在能夠組合從各種頻率生成的預測之前,我們需要將它們轉換回原始頻率。雖然從較低聚合級別聚合預測很簡單,但分解可能更復雜。文獻中討論了許多替代策略,然而,簡單地將一個觀測值在高頻率級別上分成相等的部分已被證明非常有效且易于使用。例如,假設在預測步驟之后,我們有一些季度頻率的聚合預測。為了將這些點預測中的每一個轉換回原始(月度)頻率,我們只需將它們除以三,并將相同的值用于所有三個月。因此,一月份的預測將與二月或三月的預測相同,并且所有這些都將等于第一季度預測除以 3。

**一旦來自各種聚合級別的所有預測都被轉換回原始頻率,它們隨后將被組合成最終預測。組合可以通過計算平均值、中位數或使用其他運算符(例如預測的截尾均值)來完成。**我們發現平均值和中位數都表現良好,盡管后者更適合確保組合后的最終預測不受極端值的影響。

預測的預期用途可能與數據采樣頻率不同。或者,可能需要來自各種聚合級別的預測用于操作、戰術或戰略規劃。為了實現這一點,只需將最終預測聚合到所需的級別。MAPA 預測的一個便利特性是它們適用于所有這些級別,因為它們包含所有級別的信息。因此,在各種聚合級別上的此類預測是時間上協調一致的,不再需要費心去確保這些預測一致,否則這些預測通常會有所不同。

3 季節性問題

上述算法應用中出現的一個問題是關于時間序列季節性成分的極端阻尼。考慮月度數據轉換為所有頻率直到年度的情況。如果原始序列是季節性的,那么季節性將只在聚合級別 1(對應原始頻率)、2、3、4 和 6 上進行建模。同時,季節性將不會在考慮的其他任何聚合級別上進行建模,無論是分數的還是完全過濾掉的。

計算所有級別預測的簡單組合將本質上抑制季節性模式。這在圖 4 中有所體現,其中一個帶有季節性(紅色)和一個不帶季節性(綠色)的模型被組合,結果預測的擬合效果很差,原因是季節性被抑制了。

圖片

圖 4. 由于預測組合導致的季節性成分阻尼示例。

為了解決這個問題,組合應該在模型組件上進行,而不是在預測上。當使用指數平滑系列方法時,這很簡單,因為它分別為每個組件(水平、趨勢和季節性)提供估計。季節性組件的組合將只考慮允許季節性的聚合級別(1、2、3、4 和 6)。另一方面,水平和趨勢將在每個級別上建模。如果在一個級別上選擇了沒有趨勢的模型,那么該聚合級別的趨勢組件等于零。因此,不是組合預測,而是必須首先組合來自各種聚合級別的所有水平估計,然后是所有趨勢估計,然后是季節性估計。然后使用得到的組合組件來計算最終預測,就像使用傳統指數平滑一樣。

解決這個建模問題的其他方法包括只考慮部分聚合級別或引入可以處理分數季節性的模型。

4 這么多計算步驟是否值得?

簡短的回答是:值得!MAPA 方法已在 快速移動 和 慢速移動 需求數據上進行了測試,與傳統方法相比,提供了改進的預測性能。

更具體地說,所提出的方法在準確性和偏差方面都提供了更好的估計。在快速移動數據的情況下,MAPA 在大多數數據頻率上都優于指數平滑,尤其在長期預測方面非常準確。這是在高聚合級別上擬合模型的直接結果,在該級別上,序列的水平和長期趨勢得到了最佳識別。在慢速移動數據的情況下,MAPA 在增強選擇方案(Croston-SBA-SES)下,與任何單一方法相比表現更好,同時其性能也優于原始選擇方案(Croston-SBA)。

除了 MAPA 在預測性能上的任何改進之外,該算法的另一個優點是決策者無需預先選擇單一聚合級別。雖然在某些情況下,將聚合級別設置為等于提前期加上評審期是有意義的,但消除此超參數可以被視為一個優勢,從而簡化了預測過程。

5 不僅僅是準確性

盡管使用 MAPA 可以帶來準確性和魯棒性方面的優勢,但其主要優勢在于組織層面。結合多個時間聚合級別(從而捕獲高頻和低頻成分)可以為短期和(特別是)長期預測帶來更準確的結果。最重要的是,這種策略提供了在所有頻率上都協調一致的預測,這適用于協調操作、戰術和戰略決策。這對于實踐非常有用,因為相同的預測可以用于所有三個規劃級別。

因此,預測和決策是協調一致的,不再需要更改或偏愛來自特定級別的預測,而這在實踐中通常是臨時進行的,并會產生有害影響。這是朝著“單一數字”預測邁出的重要一步,即多個決策和組織職能都基于對未來的相同看法,從而使它們保持一致。

在實踐中,短期操作預測(驅動需求規劃和庫存管理)與長期預算預測不兼容的情況并不少見。MAPA 通過在各種規劃期內提供單一協調視圖來解決這個問題。這僅僅是在工業環境中實現完全協調預測的第一步。跨部門協調以及不同利益相關者的有效互動和溝通只是同一問題的其余方面。

6 R 語言依賴

如果您有興趣使用這種方法進行預測,一個起點是 R 語言的 MAPA 軟件包。請點擊該鏈接,了解如何使用您自己的數據運行 MAPA 的示例。

7 延伸閱讀

N. Kourentzes, F. Petropoulos and J. R. Trapero, 2014, 通過估計跨多個頻率的時間序列結構組件來改進預測。國際預測雜志,30: 291-302。

F. Petropoulos and N. Kourentzes, 2014, 間歇性需求的預測組合。運籌學學會雜志。

本文是以下內容的改編版本:

F. Petropoulos and N. Kourentzes, 2014, 通過多重時間聚合改進預測,展望:應用預測國際雜志。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92832.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92832.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92832.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【測試】BDD與TDD在軟件測試中的對比?

文章目錄BDD與TDD在軟件測試中的對比與應用引言一、TDD詳解:測試驅動開發二、BDD詳解:行為驅動開發三、BDD與TDD的對比四、實際項目應用舉例結論BDD與TDD在軟件測試中的對比與應用 在軟件開發領域,測試是確保產品質量的核心環節。作為高級Ja…

SVM實戰:從線性可分到高維映射再到實戰演練

在支持向量機的分類模型中,我們會遇到兩大類模型,一類是線性可分的模型,還有一類是非線性可分的。非線性可分模型是基于線性可分的基礎上來處理的。支持向量機比較適合小樣本的訓練。線性可分如下圖所示,有紫色和黑色兩類&#xf…

面試問題總結——關于ROS

ROS作為機器人開發中必不可少的一環,總結了一些面試中常見的問題。 目錄 1.ROS1 和 ROS2 的核心區別 2.ROS話題間通信和服務端之間通信有什么區別? 3.RViz 可視化ROS的消息發布是一對一還是一對多的? 4.ROS中的機器人指令發布ros topic pub的原理實現,用的ROS1還是ROS2? 5…

軟考架構師:數據庫的范式

軟考架構師:數據庫的范式 😄生命不息,寫作不止 🔥 繼續踏上學習之路,學之分享筆記 👊 總有一天我也能像各位大佬一樣 🏆 博客首頁 怒放吧德德 To記錄領地 🌝分享學習心得&#xf…

[激光原理與應用-184]:光學器件 - 光學器件中晶體的用途、分類、特性及示例

一、用途光學晶體在光學器件中扮演核心角色,主要應用于以下領域:光學系統調節與控制:制作偏振器、濾光器、透鏡等,調節光的傳播方向、強度及偏振狀態。激光技術:作為激光介質,實現頻率轉換、調制、偏轉及Q開…

深入解析C#并行編程:從并行循環到異步編程模式

在當今多核處理器普及的時代,高效利用計算資源成為開發者必備技能。本文將深入剖析C#中的并行編程利器——任務并行庫(TPL)和經典異步模式,助你提升程序性能。 🚀 一、任務并行庫(TPL)核心機制 1. Parallel.For:并行化的for循環 通…

從零到精通:嵌入式BLE開發實戰指南

目錄 1. BLE的魅力與核心概念:為什么選低功耗藍牙? BLE的核心術語 為什么選擇BLE? 2. 硬件選型:選擇合適的BLE芯片 熱門BLE芯片推薦 選型時的關鍵考量 3. 開發環境搭建:讓你的代碼跑起來 工具準備 安裝步驟 常見問題解決 4. 深入GATT:打造你的BLE服務 服務設計…

15.NFS 服務器

15.NFS 服務器 NFS 服務介紹 NFS是Network File System的縮寫,即網絡文件系統,是一種基于TCP/IP協議的網絡文件共享協議,最早由Sun公司開發,它允許不同操作系統的計算機通過網絡共享文件和目錄,實現跨平臺的文件訪問和管理。 核心…

站在Vue的角度,對比鴻蒙開發中的數據渲染二

第二類數字&#xff08;Number&#xff09;的操作 2.1普通數字的顯示 vue中直接顯示 <template> <div><h3>學習Vue</h3><div>{{ num }}</div> </div></template><script lang"ts" setup>import {ref} fr…

Python自動化測試實戰:reCAPTCHA V3繞過技術深度解析

Python自動化測試實戰&#xff1a;reCAPTCHA V3繞過技術深度解析 摘要 reCAPTCHA V3作為Google推出的無感驗證碼系統&#xff0c;通過先進的機器學習算法分析用戶行為模式&#xff0c;已成為當前最主流的反機器人解決方案。本文將深入解析其核心檢測機制&#xff0c;并提供完…

簡單Modules 的配置與管理,靈活應對多版本軟件環境的需求。

參考文檔 官方手冊&#xff1a;https://modules.readthedocs.io Modulefile 語法&#xff1a;modulefile — Modules documentation Environment Modules 工具 Environment Modules 是一個環境管理工具&#xff0c;用于動態加載、卸載和管理不同版本的軟件環境變量&#xff…

java內部類-匿名內部類

匿名內部類必須有一個已經存在的類或者接口

上篇:《排序算法的奇妙世界:如何讓數據井然有序?》

個人主頁&#xff1a;strive-debug 排序算法精講&#xff1a;從理論到實踐 一、排序概念及應用 1.1 基本概念 **排序**&#xff1a;將一組記錄按照特定關鍵字&#xff08;如數值大小&#xff09;進行遞增或遞減排列的操作。 1.2 常見排序算法分類 - **簡單低效型**&#xff…

2025.8.6 圖論(1)Solution

2025.8.6 圖論&#xff08;1&#xff09;Solution 割點 學習資料&#xff0c;在 csdn 或洛谷上看都行。是模板題題解&#xff08;之一&#xff09;。 T1&#xff1a;Atserckcn與逃離恐怖老師。 題意簡述&#xff1a;從一個圖中選定一個點&#xff0c;使得刪除這個點后圖不連…

OpenBayes 教程上新丨一鍵部署 gpt-oss-20b,實測開源推理模型新 SOTA,性能直逼 o3?mini

時隔 6 年&#xff0c;自 GPT-2 以來&#xff0c;OpenAI 終于再度發布開源大模型——gpt-oss-120b 和 gpt-oss-20b&#xff0c;前者以千億級參數專為復雜推理與知識密集型場景設計&#xff0c;后者則更適合低延遲、本地或專業垂直領域使用&#xff0c;可在消費級硬件&#xff0…

nlp-句法分析

目錄 一、句法概述 1、成分語法理論概述 &#xff08;1&#xff09;分析過程 &#xff08;2&#xff09;缺點 2、依存語法理論概述 &#xff08;1&#xff09;依存關系、配價模式 &#xff08;2&#xff09;分類 &#xff08;3&#xff09;優勢&#xf…

linux磁盤加密

在Linux中&#xff0c;磁盤加密是一種保護數據不被未授權訪問的方法。有多種工具和策略可以實現磁盤加密&#xff0c;包括使用Linux內核的內置功能&#xff0c;如dm-crypt&#xff0c;以及使用更高級的解決方案&#xff0c;如LUKS&#xff08;Linux Unified Key Setup&#xff…

大數據架構演變之路

目錄 一、各階段的架構簡介 二、各個架構的詳細解釋 1. 傳統離線架構 2.1. Lambda架構-離線數倉分析實時鏈路分析 2.2. Lambda架構-離線數倉實時數倉 3. Kappa/流批一體架構 4. 湖倉一體架構 三、總結 一、各階段的架構簡介 技術架構 核心驅動(核心需求) ?關鍵技術 …

STM32 HAL庫驅動0.96寸OLED屏幕

STM32 HAL庫驅動0.96寸OLED屏幕 項目概述 本項目使用STM32 HAL庫為0.96寸OLED屏幕編寫驅動程序。OLED屏幕通過I2C接口與STM32單片機通信&#xff0c;實現文本、數字和圖形的顯示功能。 項目倉庫地址&#xff1a;STM32_Sensor_Drives 硬件連接 OLED屏幕通過I2C接口與STM32連…

橫向越權:修改參數訪問不屬于自己的數據

一、什么是橫向越權定義 橫向越權&#xff08;Horizontal Privilege Escalation&#xff09;是指 同一權限級別的用戶&#xff0c;通過篡改請求參數或資源標識&#xff0c;訪問本不屬于自己的數據或功能。例子 假設一個在線商城&#xff0c;用戶 A 訪問訂單詳情的 URL&#xff…