時序分析五邊形戰(zhàn)士!清華提出TimesNet:預(yù)測、填補、分類、檢測全面領(lǐng)先
實現(xiàn)任務(wù)通用是深度學習基礎(chǔ)模型研究的核心問題,也是近期大模型方向的主要關(guān)注點之一。
然而,在時間序列領(lǐng)域,各類分析任務(wù)的差別較大,既有需要細粒度建模的預(yù)測任務(wù),也有需要提取高層語義信息的分類任務(wù)。如何構(gòu)建統(tǒng)一的深度基礎(chǔ)模型高效地完成各類時序分析任務(wù),此前尚未有成型方案。
為此,來自清華大學軟件學院的團隊圍繞時序變化建模這一基本問題展開研究,提出了任務(wù)通用的時序基礎(chǔ)模型TimesNet,論文被ICLR 2023接收。
作者列表:吳海旭*,胡騰戈*,劉雍*,周航,王建民,龍明盛
鏈接:https://openreview.net/pdf?id=ju_Uqw384Oq
代碼:https://github.com/thuml/TimesNet
時序算法庫:https://github.com/thuml/Time-Series-Library
TimesNet在長時、短時預(yù)測、缺失值填補、異常檢測、分類五大任務(wù)上實現(xiàn)了全面領(lǐng)先。
1 問題分析
不同于自然語言、視頻等序列數(shù)據(jù),時間序列中單個時刻僅保存了一些標量,其關(guān)鍵信息更多地被蘊含在時序變化(Temporal Variation)中。
因此,建模時序變化是各類時序分析任務(wù)共同的核心問題。
近年來,各類深度模型被廣泛用于時序分析任務(wù)中,例如循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、時序卷積網(wǎng)絡(luò)(TCN)和變換器網(wǎng)絡(luò)(Transformer)。
然而,前兩類方法主要關(guān)注捕捉臨近時刻之間的變化,在長期依賴上建模能力不足。
Transformer雖然在建模長期依賴上具有天然優(yōu)勢,但是由于現(xiàn)實世界的時序變化極其復(fù)雜,僅僅依靠離散時間點之間的注意力(Attention)難以挖掘出可靠的時序依賴。
為此,本文從一個全新的多周期(Multi-periodicity)視角對時序變化進行了分析,如下圖所示。我們觀察到:
- 時間序列天然具有多周期性。
現(xiàn)實世界的時序數(shù)據(jù)往往是不同周期過程的相互疊加,例如交通數(shù)據(jù)在短期內(nèi)的以日為周期變化,而長期則以星期為周期變化。這些不同周期的數(shù)據(jù)互相疊加、互相干擾,給時間序列分析帶來了極大挑戰(zhàn)。
- 時間序列呈現(xiàn)周期內(nèi)與周期間兩種時序變化。
具體地,對于某一特定周期的過程,每個時間點的變化既與臨近時刻有關(guān),也與臨近周期的相似過程高度相關(guān)。其中周期內(nèi)變化對應(yīng)著短期過程,周期間變化則可以反應(yīng)連續(xù)周期間的長期趨勢。注:如果時間序列沒有明顯周期性,則等價于周期無限長的情況。
2 設(shè)計思路
基于以上兩點觀察,我們對TimesNet的結(jié)構(gòu)作出了如下設(shè)計:
- 時間序列的多周期性自然地啟發(fā)了一個模塊化(Modular)的設(shè)計思路,即一個模塊捕捉由某一特定周期主導(dǎo)的時序變化。這種模塊化的設(shè)計思路可以將復(fù)雜的時間變化解耦,從而有利于后續(xù)建模。
- 對于時間序列的周期內(nèi)與周期間變化,本文創(chuàng)新性地提出將一維時序數(shù)據(jù)擴展至二維空間進行分析。如上圖所示,將一維時間序列基于多個周期進行折疊,可以得到多個二維張量(2D tensors),每個二維張量的列和行分別反應(yīng)了周期內(nèi)與周期間的時序變化,即得到了二維時序變化(Temporal 2D-variations)。
上圖示例展示了將一維時序數(shù)據(jù)折疊至二維空間的可視化效果。此處,Period方向反應(yīng)周期內(nèi)變化,而Frequency方向代表周期間變化。我們可以看出轉(zhuǎn)化至二維空間的時序數(shù)據(jù)具有明顯的二維局部性(2D locality)。
因此,在折疊時序數(shù)據(jù)后,我們可以直接采用先進的視覺骨干網(wǎng)絡(luò)對時序數(shù)據(jù)進行特征提取,例如Swin Transformer、ResNeXt、ConvNeXt等。這種設(shè)計也使得時序分析任務(wù)可以直接受益于蓬勃發(fā)展的計算機視覺領(lǐng)域。
3 TimesNet
基于上述思路,我們提出了TimesNet模型,通過模塊化結(jié)構(gòu)將復(fù)雜時序變化分解至不同周期,并通過將原始一維時間序列轉(zhuǎn)化至二維空間實現(xiàn)了周期內(nèi)與周期間變化的統(tǒng)一建模。
在這一節(jié)中,我們將先介紹將時序數(shù)據(jù)擴展至二維空間的方法,再介紹模型的整體架構(gòu)。
3.1 時序變化:1D->2D
時序折疊的流程如上圖所示,主要分為以下兩步:
(1)周期提取
對于一個時間長度為、通道維度為的一維時間序列,可以由時間維度的快速傅立葉變換(FFT)直接提取周期信息,即:
其中,代表了中每個頻率分量的強度,強度最大的個頻率對應(yīng)著最顯著的個周期長度。
(2)序列折疊1D->2D
對于選定的個周期,分別對原始的一維時間序列進行折疊,該過程可以形式化為:
其中,為在序列末尾補0,使得序列長度可以被整除。
通過上述操作,我們得到了一組二維張量,其中對應(yīng)周期為的二維時序變化。
3.2 模型設(shè)計
TimesNet的整體架構(gòu)如圖所示:
整體上,TimesNet由堆疊的TimesBlock組成。輸入序列首先經(jīng)過嵌入層得到深度特征。對于第層TimesBlock,其輸入為,輸出為:
具體地,如下圖所示,每個TimesBlock包含以下子過程:
(1)折疊時間序列(1D->2D):TimesBlock首先對輸入的一維時序特征提取周期,再將之轉(zhuǎn)換成為二維時序變化,即在上一節(jié)中涉及的內(nèi)容:
(2)提取二維時序變化表征(2D Representation):如前分析,轉(zhuǎn)換得到的二維時序變化具有2D局部性,因此可以直接使用2D卷積提取特征。此處,我們選用了經(jīng)典的Inception模型,即:
值得注意的是,因為我們已經(jīng)將1D時序特征轉(zhuǎn)換至2D空間,所以我們還可以利用計算機視覺領(lǐng)域的許多前沿模型,例如ResNeXt、ConvNeXt以及基于Attention的Swin Transformer等等。這使得時間序列分析可以與視覺骨干網(wǎng)絡(luò)協(xié)同并進。
(3)展開時間序列(2D->1D):為了后續(xù)多周期融合,我們將二維時序變化表征展開至一維度空間:
Trunc(?)表示將步驟(1)中Padding(?)操作補充的0去除。
(4)自適應(yīng)融合(1D Aggregation):為融合多周期信息,我們將提取到的二維時序表征進行加權(quán)求和,選用的求和權(quán)重即為步驟(1)中得到的對應(yīng)頻率強度:
通過將1D時間序列轉(zhuǎn)化至2D空間的設(shè)計,TimesNet實現(xiàn)了「多個周期分別提取二維時序變化,再進行自適應(yīng)融合」的時序變化建模過程。
4 實驗
我們在長時預(yù)測、短時預(yù)測、缺失值填補、異常檢測、分類五大任務(wù)上進行了實驗,涵蓋36個數(shù)據(jù)集、81種不同的實驗設(shè)置。
同時,對比了19種不同的深度方法,包含最新的基于RNN、CNN、MLP、Transformer的模型,例如N-BEATS(2019),Autoformer(2021),LSSL(2022),N-Hits(2022),F(xiàn)EDformer(2022),Dlinear(2023)等。
4.1 總體結(jié)果
如開篇雷達圖所示,TimesNet在五項任務(wù)上均達到了SOTA。
(1)長時預(yù)測:在此備受關(guān)注的任務(wù)上,TimesNet超過了先進的基于Transformer與MLP的模型。
(2)短時預(yù)測:此實驗中使用的M4數(shù)據(jù)集包含6個不同采樣頻率的子數(shù)據(jù)集,總共超過10萬條數(shù)據(jù)。TimesNet在此復(fù)雜數(shù)據(jù)分布情況下依然取得了最優(yōu)的效果,驗證了模型的時序變化建模能力。
(3)分類任務(wù):在此任務(wù)上,TimesNet超過了經(jīng)典的Rocket算法以及前沿深度學習模型Flowformer。
更多任務(wù)的對比請見論文。
4.2 視覺骨干網(wǎng)絡(luò)的泛化性
我們將TimesNet中的Inception網(wǎng)絡(luò)替換為不同的視覺骨干網(wǎng)絡(luò),例如ResNet,ConvNext,Swin Transformer等。
如下圖所示,更先進的視覺骨干網(wǎng)絡(luò)可以帶來更優(yōu)秀的效果。這也意味著在TimesNet的框架下,時間序列分析可以直接受益于視覺骨干網(wǎng)絡(luò)領(lǐng)域的進展。
4.3 表征分析
為了進一步探索TimesNet的效果來源,我們展示了「模型底層-頂層表征之間的CKA相似度」與「模型效果”之間的關(guān)系。其中,CKA相似度越低,代表模型底層-頂層之間的表征差異越大,即更加層次化的表征。
從上述可視化,我們可以觀察到:
- 在預(yù)測與異常檢測任務(wù)中,效果越好的模型往往底層-頂層的表征相似度越高,表明任務(wù)需要更加底層的表征(low-level representations);
- 在分類與缺失值填補任務(wù)中,效果越好的模型往往底層-頂層的表征相似度越低,表明該任務(wù)需要層次化表征(hierarchical representation),即更好的全局特征提取能力。
得益于2D空間中的卷積操作,TimesNet可以根據(jù)不同任務(wù)學習合適的表征,例如預(yù)測與異常檢測任務(wù)中,學習到低層次表征;而分類與缺失值填補任務(wù)中,學習到層次化的抽象特征。這也進一步證明了TimesNet作為基礎(chǔ)模型的任務(wù)泛化性。
同時,上述表征分析也為針對專一任務(wù)的深度模型提供了設(shè)計思路,例如對于預(yù)測任務(wù)要關(guān)注底層細粒度特征的提取,對于填補任務(wù)則需要進一步兼顧全局表征的學習。
5 總結(jié)
受時間序列本質(zhì)的多周期屬性啟發(fā),本文提出了一個任務(wù)通用的時序分析基礎(chǔ)模型——TimesNet。該模型創(chuàng)新性地將一維時間序列折疊至二維空間,并利用2D卷積取時序特征。這一創(chuàng)新使得時序分析任務(wù)可以直接受益于蓬勃發(fā)展的視覺骨干網(wǎng)絡(luò),對于后續(xù)研究具有良好的啟發(fā)性。
同時,TimesNet在長時、短時預(yù)測、缺失值填補、異常檢測、分類五大主流時序分析任務(wù)上實現(xiàn)了全面領(lǐng)先,具有優(yōu)秀的應(yīng)用價值。