圖1 Chronos的高層次描述。(左)輸入時間序列被縮放和量化以獲得一系列令牌。(中)令牌被饋送到語言模型中,該模型可以是編碼器-解碼器模型或解碼器模型。使用交叉熵損失訓練模型。(右)在推理期間,我們從模型自動采樣的令牌并將其映射回數值值。從模型中采樣多個軌跡以獲得預測分布

Chronos使用分類模型對觀測值進行分類分布建模,執行回歸分類。該模型不需要針對時間序列進行特定設計或特征,而是將時間序列值標記化到固定詞匯表上,并在這些標記上訓練現有的語言模型架構。其他時間序列任務。最近的研究已經研究了適用于時間序列任務的一般性模型,包括填補、預測、分類和異常檢測。這些模型基于CNN的Inception模型和掩碼預訓練框架,將一維時間序列轉換為二維圖像表示,并基于周期性對時間序列進行分段和堆疊。這些模型在未見過的時間序列數據上表現出色,可以應用于預測之外的任務,如分類和異常檢測。

2  工作背景及相關工作時間序列預測

可以使用經典預測方法和深度學習方法,其中經典預測方法如ETS、ARIMA等為每個時間序列獨立地擬合模型,而深度學習方法在給定的數據集中學習時間序列。這些方法在建模目標上有所不同,一些模型直接預測一組分位數,而其他模型則建模密度函數。并非所有模型都產生概率預測。

大型語言模型(LLM在自然語言處理任務中表現出色,基于transformer架構,通常在文本語料庫上進行訓練,參數數量從數百萬到數百億不等。它們旨在通過建模條件分布來預測下一個標記。目前,BART和T5等模型在許多流行的語言模型中。建議讀者參考Zhao等人(2023年)的最新研究。

基于預訓練LLM的預測模型包括將數值時間序列數據視為原始文本,利用預訓練的LLM進行微調,或將數值數據編碼為數字字符串,在預訓練的LLM上進行零樣本設置來獲取預報。其中,周等(2023a)提出了一種通用的“一刀切”模型,使用預訓練的GPT-2模型作為骨干,僅對位置嵌入和層歸一化的參數進行微調以適應每個任務。此外,還有重新利用LLM進行時間序列預報的方法,如將時間序列補丁嵌入與文本原型對齊,并將這些對齊嵌入和描述任務的自然語言前綴提示給凍結的LLM。而Chronos從頭開始訓練語言模型在一個大型時間序列集合上,通過縮放和量化進行標記化。

零樣本學習。Chronos模型是一種概率性的時間序列預測方法,它使用分類模型對觀測值進行分類分布建模,執行回歸分類。該模型不需要針對時間序列進行特定設計或特征,而是將時間序列值標記化到固定詞匯表上,并在這些標記上訓練現有的語言模型架構。

其他時間序列任務。最近的研究已經研究了適用于時間序列任務的一般性模型,包括填補、預測、分類和異常檢測。這些模型基于CNN的Inception模型和掩碼預訓練框架,將一維時間序列轉換為二維圖像表示,并基于周期性對時間序列進行分段和堆疊。這些模型在未見過的時間序列數據上表現出色,可以應用于預測之外的任務,如分類和異常檢測。

3  Chronos:用于時間序列的語言建模框架

Chronos是一個框架,用于調整現有語言模型架構和訓練過程以進行概率時間序列預測。盡管語言和時間序列都是順序的,但它們在表示上存在差異,自然語言由有限詞匯量的單詞組成,而時間序列是實值的。這種差異需要對現有語言建??蚣苓M行特定修改,特別是與分詞有關的修改,以便它們適用于時間序列數據。然而,由于現有的變換器模型在語言任務上表現出色,Chronos的設計理念是進行最小化的修改。

3.1  時間序列標記

考慮時間序列x1:C+H,其中前C個步驟是歷史上下文,后H個步驟是預測時域。由于語言模型處理有限令牌,我們需要將實值觀察值xi∈R映射到令牌集合。這涉及縮放和量化。為優化深度學習模型,我們標準化時間序列,選擇均值縮放,將每個條目按歷史上下文的平均絕對值標準化。量化則是將實值轉換為離散令牌,使用B個bin中心和邊界。我們選擇數據無關的一致binning,以避免未見數據集與訓練分布的差異。時間序列詞匯表Vts包括令牌{1, 2, …, B}以及PAD和EOS特殊標記,用于填充缺失值、標識序列結束。雖然時間和頻率信息常用于時間序列建模,但在Chronos中,我們只考慮序列本身。我們主要關注編碼器-解碼器T5模型的各種變體(Raffel等,2020),并額外使用GPT-2模型(Radford等,2019)進行實驗,證明方法可擴展至僅解碼器模型。為量化調整bin數量,需調整語言模型詞匯量,涉及截斷或擴展輸入輸出嵌入層。

3.2  目標函數

Chronos模型使用分類交叉熵損失函數,將分詞時間序列作為輸入,預測下一個詞的分類分布。Chronos模型的目標是最小化真實標簽的分布和預測分布之間的交叉熵。損失函數為:?(θ) = -H+1 X h=1 |Vts| X i=1 1(zC+h+1=i) log pθ(zC+h+1 = i|z1:C+h)。其中pθ(zC+h+1 = i|z1:C+h)表示由模型參數化θ預測的分類分布。分類交叉熵損失不是距離感知的目標函數,而是根據訓練數據集中桶索引的分布將相鄰桶關聯在一起。Chronos通過分類進行回歸,與典型的概率時間序列預測模型不同。選擇分類輸出分布有兩個關鍵優勢:不需要修改語言模型架構或訓練目標,允許模型學習任意分布,包括多模態分布。

3.3  預測

時序模型通過自回歸采樣,捕捉預測分布的未來多種可能性,并精確映射預測令牌到實際值。反標化階段調整預測值,與原始數據尺度保持一致。在均值標定情境下,通過乘以適當的尺度因子s,確保預測結果既準確又實用。

4  數據增強

公共時間序列數據在自然語言處理領域的相對匱乏,可以通過混合增強數據多樣性和使用合成數據來補充訓練來解決零樣本預測模型面臨的挑戰。

4.1  TSMix:時間序列混合器

混合時間序列數據增強方法(TSMix)是一種將Mixup思想擴展到超過兩個數據點的時間序列領域的數據增強方案。它從訓練數據集中隨機采樣特定長度的時間序列,對其進行縮放,并取其凸組合,生成示例增強。該方法通過混合來自不同時間序列的模式來增強數據的多樣性,有助于緩解深度學習模型中的過度擬合和過擬合問題。該方法還展示了如何混合不同的模式,并生成示例增強。

圖2 k={1,2,3}時的TSmix增強示例。TSmix通過從不同數據集隨機抽樣的時間序列中取加權的組合來提高模式多樣性

4.2  KernelSynth:使用高斯過程生成合成數據

KernelSynth是一種使用高斯過程生成合成時間序列的方法,通過隨機組合高斯過程的核函數來生成新的時間序列。核函數指定了協方差函數,可以生成各種模式。我們構建了一個基核函數的集合,包括用于趨勢的線性核,用于平滑局部變化的RBF核,以及用于在典型時間序列頻率中找到季節性的周期性核。合成時間序列是通過從GP先驗中抽取樣本來生成的。這種方法可以補充訓練數據集。

圖3 (a)KernelSynth的示意圖,KernelSynth是一種基于高斯過程(GP)的合成時間序列生成方法。從核庫中采樣核函數,然后使用二進制操作(×或+)隨機組合。生成的合成時間序列在高斯過程的前置中使用了組合后的核函數。圖中展示了每個步驟中來自不同核函數的隨機樣本,顏色分別為紅色和藍色。(b)KernelSynth生成的合成時間序列示例

5  實驗

這一部分展示了常用基準數據集的實驗結果。首先,概述了數據集、訓練策略、基準和評估指標。接著,評估了Chronos模型在領域內和零樣本設置下的性能,并與局部模型和特定任務深度學習模型進行了比較。然后,分析了各種設計選擇對Chronos模型性能的影響。最后,分析了Chronos模型的定性性能,并強調了其局限性。實驗細節已歸入附錄。

5.1  數據集

為了訓練和評估Chronos模型,我們收集了來自多個應用領域的大量公開可用數據集,包括能源、運輸、醫療保健、零售、網絡、天氣、金融等。數據集總共有55個,來自多個來源,包括莫納什時間序列預測存儲庫、M競賽和Kaggle上的公共領域數據集。我們將數據集分類為三類:僅用于訓練的數據集(13個),用于訓練和評估的基準I數據集(15個),僅用于評估的基準II數據集(27個)。我們使用28個數據集來訓練Chronos模型,包括約89萬個一維時間序列,總共有約84億個觀察值。對于域內(I)和零樣本(II)基準數據集,我們使用每個時間序列的最后H觀察值作為留出測試集,所有模型的準確性都通過它們在留出集合上的預測來判斷。預測長度H是任務特定的,我們將任務定義為數據集和預測長度的配對。兩個基準的任務在數據集大小、頻率、歷史長度和預測長度方面表現出不同的屬性,使其成為豐富的基準,反映了現實世界的場景。

5.2  訓練策略

我們選擇了T5作為Chronos的主要架構,因為它有多種尺寸可供選擇。我們訓練了T5模型4種尺寸,分別為Mini(20M)、Small(46M)、Base(200M)和Large(710M),以及GPT-2基礎模型(90M)。我們在由28個訓練數據集生成的10M TSMix增強上訓練了這些模型,并在訓練過程中從增強數據和合成數據中采樣時間序列的比例為9:1。每個模型使用實際批次大小為256個序列進行訓練,使用分布式數據并行和梯度積累。我們使用AdamW優化器,使用權重衰減為0.01的Adam優化器對模型進行了為期200K步的訓練。學習率在訓練步驟中從初始值0.001線性降至0。我們使用具有8個A100(40GB)GPU的AWS EC2實例來訓練所有Chronos模型。

5.3  基準值

我們評估了Chronos模型的性能,并將其與多種時間序列預測基準進行了比較。這些基準包括天真模型、季節性天真模型、自動ETS、自動ARIMA和AutoTheta等統計預測模型,以及WaveNet、DeepAR、N-BEATS、TFT、DLinear、PatchTST、N-HiTS和GPT4TS等神經預測模型。我們還評估了ForecastPFN,這是一個僅使用合成時間序列數據進行預訓練的轉換器模型。我們將Chronos模型和基準分為三組:本地模型、任務特定模型和預訓練模型。更多詳細信息請參閱附錄C。

5.4  評估指標

我們評估了模型的概率和點預報性能,使用加權分位數損失(WQL)評估概率預報,平均絕對比例誤差(MASE)評估點預報。WQL衡量預測分布與地面真實觀察的兼容性,針對9個分位數級別計算。分位數預報器直接在這些分位數級別上進行訓練,對于需要采樣的方法,使用20個樣本預報路徑來估計分位數。MASE定義為預報的絕對誤差與時間序列的歷史季節誤差之比。對于概率預報器,我們使用中位數預報(0.5分位數)來計算MASE。我們采用幾何平均值聚合分數,因為其對基準的選擇不敏感,且模型排序保持不變。對于無法完成評估的模型,我們賦予其相對分數為1。我們在匯總過程中給所有任務賦予了相同的權重。

5.5  主要結果

本節展示了42個數據集上的主要結果,包括Benchmark I(15個數據集)和Benchmark II(27個數據集)。Chronos模型在內部域數據集(Benchmark I)上超過了經典統計基線和特定任務的深度學習模型。在零樣本數據集(Benchmark II)上,Chronos模型超過了統計基線,與最佳深度學習模型表現相當。通過微調方案,Chronos-T5(Small)模型在Benchmark II上取得了最佳成績,顯著超過所有基線。

5.5.1  基準I:域內結果

基準I包含15個數據集,用于評估Chronos模型的領域內性能。所有模型在留出的測試窗口上的概率和點預測性能,以聚合相對分數和平均排名為指標。Chronos-T5模型(基礎版和大模型)顯著優于基準模型,獲得了最佳的聚合相對分數和平均排名。Chronos-T5模型的小型版本(Mini和Small)以及Chronos-GPT2也優于大多數基準模型。這些結果表明,使用跨多個數據集僅進行一次訓練的模型比為每個任務單獨訓練的任務特定模型更有優勢。這種模型可以通過消除為每個任務訓練單獨模型的必要性,簡化生產預測系統中的預報工作。

圖4 在基準I上的不同模型性能,包括15個數據集,這些數據集也包含在Chronos模型的訓練數據中?;鶞收故玖薈hronos模型相對于本地統計模型在域內性能,這些模型為每個時間序列單獨擬合參數,以及針對每個任務專門訓練的模型。使用季節性樸素貝葉斯基線的分數對概率(WQL)和點(MASE)預報指標進行歸一化,并通過幾何平均值聚合以獲得聚合相對WQL和MASE。Chronos和任務特定模型(除GPT4TS外)的平均結果涵蓋了3個隨機種子。僅根據MASE對產生點預報的模型(GPT4TS)進行比較。

5.5.2  基準II:零樣本結果

基準II由27個數據集組成,這些數據集在Chronos模型訓練過程中未被使用過,用于評估模型的零樣本性能。Chronos模型在基準II上的表現優于本地統計模型,在概率預報方面取得第二和第三名,點預測性能排名第三。Chronos模型還顯著優于ForecastPFN和GPT4TS。微調后的Chronos-T5(小型)模型在基準II上總體排名第一,超過了更大的(零樣本)Chronos模型和最佳特定任務模型。

圖5 在基準II上的不同模型性能,包含在訓練過程中沒有看到Chronos模型的27個數據集?;鶞侍峁┝藢hronos模型與本地統計模型、針對每個時間序列單獨擬合參數的任務特定模型以及預訓練ForecastPFN模型的零樣本性能的見解。概率性(WQL)和點(MASE)預報度量值使用季節性樸素貝葉斯基線的分數進行歸一化,并通過幾何平均值聚合以獲得聚合相對WQL和MASE,分別進行比較。Chronos和任務特定模型(除GPT4TS)的性能結果平均了3個隨機種子。僅基于MASE對產生點預報的模型(GPT4TS和ForecastPFN)進行比較。

圖6 在來自基準II的各個數據集上進行微調時,Chronos-T5(小型)相對于零樣本性能顯著提升,并且平均而言成為表現最佳的模型(見圖5)。

5.6  超參數分析

我們研究了不同設計選擇,如模型大小、初始化、訓練步驟、合成數據比例、上下文長度和詞匯表大小,對下游模型性能的影響。在每次實驗中,我們只調整一個參數,保持其他因素不變,以評估其對Chronos-T5(小型)性能的單獨影響。模型大?。?/strong>我們試驗了從20M到710M參數的四種模型大小。發現隨著模型容量的增加,訓練損失逐漸降低,域內和零樣本基準的性能也相應提升。這表明更大的模型可能進一步提高性能。但考慮到推理時間的限制,我們沒有進一步探索更大的模型。

圖7 模型大小。(a)不同大小的Chronos模型訓練損失曲線。(b)Chronos模型隨模型大小變化的域內和零樣本性能。初始化:我們研究了使用T5語言模型權重初始化Chronos模型的效果。結果顯示,隨機初始化的模型收斂到較低訓練損失的趨勢更為明顯。對于大型模型,使用語言模型權重初始化的模型在初始階段訓練損失下降較快,但最終收斂到較高的損失。總體來說,在語言模型背景下,隨機初始化可能更優。

圖8?不同模型大小下,使用語言模型權重初始化(標記為星號)的模型和三個隨機初始化的模型(標記為圓圈)的域內和零樣本性能的比較。

圖9 初始化。不同大小的隨機初始化的Chronos模型與使用語言模型權重的初始化的Chronos模型之間的訓練損失的比較。TSMix增強:我們在TSMix增強的時間序列上訓練了Chronos模型,并研究了其對下游性能的影響。結果顯示,使用TSMix增強的模型在零樣本性能上有所提升,這表明TSMix增強了訓練數據多樣性,提高了對未見數據集的性能。隨著合成數據量的增加,零樣本性能進一步提升。

圖10 (a)使用TSMix增強訓練的Chronos-T5(Small)模型在域內和零樣本性能之間的比較,以及沒有TSMix增強的模型。(b)Chronos-T5(Small)模型在訓練語料庫中KernelSynth數據不同比例下的域內和零樣本性能。

合成數據比例:我們探索了KernelSynth對下游模型性能的影響。實驗表明,在訓練中加入合成數據可以提高域內和零樣本指標的性能。最穩定的改進出現在大約10%的合成數據比例時,進一步提高比例通常會降低性能。盡管僅使用合成數據訓練的模型表現略遜于同時使用真實數據的模型,但其絕對性能表現相當不錯。

訓練步驟:我們對Chronos-T5(小型,46M)進行了1百萬步的訓練,以研究更長的訓練對模型性能的影響。結果顯示,隨著訓練的進行,下游模型性能在域內和零樣本基準上均有所提高。這表明,對于更大的模型,更長的訓練可能有助于提高性能。

圖11 Chronos-T5(小型)模型在訓練步數、訓練上下文長度和詞匯量上的內域和零樣本性能隨時間的變化情況。

上下文長度:我們研究了上下文長度對下游性能的影響,通過訓練Chronos-T5模型,觀察到隨著上下文長度的增加,性能有所改善。然而,由于大多數基準數據集頻率較低且時間序列長度小于1000步,需要進一步評估更長上下文長度的效果。推測高頻數據集可能會受益于更長的上下文,有助于捕捉長期季節性模式。

詞匯量:我們通過不同詞匯量的Chronos-T5模型訓練,發現隨著詞匯量的增加,點預測指標MASE持續提高,而WQL在較大詞匯量時開始改善后惡化。MASE與單個系列規模無關,與訓練損失緊密相關,而WQL與規模相關,表現不太可預測。這些指標特性的討論詳見附錄D。

5.7  定性分析和局限性

在此部分,我們對Chronos模型生成的預測進行定性分析,并指出標記化技術的局限性。我們主要關注合成時間序列的生成,以進行不同類型時序模式的受控分析。如需了解實際數據集的預測,請參考附錄E中的圖22至圖24。

獨立同分布噪聲:我們生成了由兩種高斯觀測值組成的時間序列,并用Chronos-T5(基礎版)進行預測。結果顯示,模型預測準確,80%的預測區間與真實區間相吻合。

圖12 Chronos-T5(基礎版)對合成模式生成的預測。(a) 噪聲:Chronos對于高斯噪聲生成了合理的預測,80%的預測區間與底層分布區間匹配(由水平虛線藍色線表示)。(b) 趨勢:Chronos正確地預測了線性趨勢(頂部),但對于指數趨勢(底部)則難以應對。(c) 季節性:Chronos能夠準確建模不同復雜程度的季節性模式(頂部為單季節性,底部為三季節性)。(d) 組合模式:Chronos對通過添加(頂部)或乘法(底部)組合趨勢和季節性模式生成的時間序列進行準確預測。

趨勢和季節性:Chronos能夠準確預測線性趨勢,但對指數趨勢的預測較為困難。當上下文不足時,模型在估計趨勢方面可能過于保守。然而,隨著上下文增長,模型能夠準確識別模式和趨勢。此外,模型在識別季節性模式方面表現優秀。

圖13 當上下文不夠長時,Chronos-T5(基礎版)往往會低估趨勢,如經典航空旅客數據(月度)和24個月預測時間跨度下的例子所示。上圖:只有120個觀測值作為上下文時,預測中位數與前一趨勢相比趨于平緩。下圖:有完整的上下文,即144個觀測值時,預測更緊密地跟隨趨勢。

自回歸過程:我們對不同階數的平穩AR過程生成的時間序列進行了預測,并將Chronos-T5(基礎版)的預測結果與真實AR模型、正確階數的AR模型和AutoARIMA模型的預測結果進行了比較。結果顯示,Chronos在所有四個AR過程中都生成了令人信服的預測。

圖14 Chronos-T5(基礎版)針對AR(1)和AR(4)過程生成的時序的預測結果,與真實世界AR模型、正確階數的擬合AR模型和AutoARIMA模型生成的預測結果進行比較。Chronos-T5(基礎版)在這兩種情況下都能生成可信的預測和預測區間。所有AR模型都能正確擬合更簡單的AR(1)過程,并且相對于Chronos-T5(基礎版),具有更好的MSE;然而,在AR(4)過程中,其復雜性增加,Chronos-T5(基礎版)在真實世界AR模型之后排名第二。

靈活的預測分布:使用分類分布為Chronos提供了生成不同形狀預測分布的靈活性。模型輸出的預測分布形狀各異,包括多模態分布。

圖15 來自Chronos模型對NN5(每日)、交通和醫院數據集的序列的預測分布分布圖。每個圖都顯示了五個預測步驟(h=1,…,5)的預測分布:密度是通過核密度估計從樣本預測中獲得的。盡管交叉熵不關心距離,但模型學會了估計鄰近標記的分布,以及各種形狀的分布,包括多模態分布。

溢出和精度損失:Chronos的一個限制是其分詞方法(見第3.1節)。具體來說,標記代表的數據范圍是[-15s, 15s],其中s為數據的尺度。若s過小,某些觀察值會超出范圍,如圖16a的稀疏系列。而s過大則會導致精度損失,因為接近的值可能被映射到同一標記上,如圖16b所示。盡管有這些限制,但第5.5節的結果表明,Chronos模型在現實數據上表現良好。未來的工作將關注如何改進分詞方法以克服這些邊緣情況。

圖16 由于縮放和量化導致的精度損失。在(a)中,數據由每隔n=10、20、50個觀察值(從上到下)的單位尖峰組成:這里的尺度是1/n,因此最大可表示值為15/n。當1>15/n時,模型不可能恰當地捕捉到尖峰(除了最高情況),因為它們的值沒有被標記準確地代表。在(b)中,數據是一個正弦波,它向上移動了μ=1、10、50:這里的尺度是μ,隨著信號的方差相對于μ變得越來越小,標記的精度就會下降。

6  討論及展望

Chronos作為實用預訓練時間序列預測模型的先驅之一,在綜合測試數據集上展示了顯著的零樣本性能,打開了多種研究途徑。

6.1  超越單變量零步預測

我們在單變量時間序列預測上評估了Chronos的性能,并發現它在特定任務上表現優異。雖然可以通過微調提高性能,但預測任務通常需要考慮協變量。未來研究可探索將協變量融入預訓練模型中,或結合其他輕量級模型以提高性能。此外,Chronos也可能有助于其他時間序列分析任務。

6.2  推斷

Chronos模型的推理速度可能較慢,但其優點在于可以部署在各種數據集上,簡化了預測流程。為提高推理速度,可考慮使用優化的CUDA內核、量化、更快解碼技術等。同時,長上下文語言模型的發展也可能提高Chronos在捕捉季節性模式方面的性能。其他文本語言模型技術也有望提高預報質量。

圖17 不同模型對單個時間序列預測的推理時間,對每個數據集進行了平均,同時突出了模型所需的計算要求。

6.3  數據

大模型在大規模時序數據集上訓練可獲得出色的性能,但公開時序數據有限。為解決此問題,時序社區需獲取更大規模的數據集,或開發更好的合成時序生成方法。我們已在這方面取得進展,使用高斯過程生成的合成數據可改善模型性能。未來研究可進一步探索模型失敗模式,并提出改進方案以縮小真實數據和合成數據之間的差距。

本文章轉載微信公眾號@算法進階

#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費