TIME WEAVER: A Conditional Time Series Generation Model
摘要
想象一下,根據天氣、電動汽車的存在和位置生成一個城市的電力需求模式,這可以用于在冬季凍結期間進行容量規劃。這樣的真實世界的時間序列通常包含配對的異構上下文元數據(天氣、位置等)。當前的時間序列生成方法經常忽略這種配對元數據,并且他的異質性在應用于現有方法(無論是圖像、音頻、視頻還是時序領域)時表現出多個挑戰。為了解決這一差距,我們引入了TIME WEAVER(一種新的基于擴散的模型),它利用分類、連續甚至時變變量形式的異構元數據來顯著改善時間序列生成。此外,我們還表明,將標準評價指標從圖像樸素地擴展到時間序列域是不夠的。這些指標不會因為條件生成方法在生成的時間序列中再現元數據特定特征的特異性較差而懲罰它們。因此,我們創新了一種新的評估指標,可以準確地捕捉條件生成的特異性和生成的時間序列的真實感。我們表明,TIME WEAVER在現實世界的能源、醫療、空氣質量和交通數據集的下游分類任務中,比生成對抗網絡(gan)等最先進的基準性能高出27%。
引言
當前的時間序列生成方法忽略了豐富的上下文元數據,因此不能靈活地用于生成特定現實世界條件的時間序列
基于豐富的元數據條件生成真實的時間序列不是對條件圖像、視頻或音頻生成的直接擴展,兩者存在巨大的差異。具體的時序數據的生成和評價過程存在以下挑戰:
- 豐富的元數據:元數據可以是分類的(例如,患者是否有起搏器),也可以是定量的(例如,年齡),甚至是時間序列,例如預期降水。任何時序數據的條件生成模型應該結合這些元數據。相反,圖像、視頻和音頻生成通常處理靜態文本提示
- 合成數據質量的目視檢查:目視檢查是評估圖像生成方法的關鍵方面,就像評估初始化一樣分數(IS)由于符合人類的判斷而被廣泛采用。相反,看一眼時間序列并判斷它是否保留了關鍵特征(如統計矩或頻譜)是非常重要的
- 架構差異:在圖像和音頻領域,我們有強大的特征提取器在巨量的數據上訓練,這些是圖像生成中編碼條件的重要組成部分。然而,由于時間序列數據集在水平長度、通道數量和元數據的異質性方面具有高度不規則的性質,這樣的特征提取器在時間序列域中并不存在
- 評估度量:評估條件生成方法需要一個度量,該度量可以捕獲生成的樣本相對于其配對元數據的特殊性。在圖4中,我們展示了現有的度量,比如the time series equivalent of the standard Frechet Inception Distance (FID) score,其未能捕捉到這種特異性,僅衡量真實數據分布與生成數據分布的接近程度。這是因為這些指標在它們的評估中完全忽略了成對的元數據
基于以上的挑戰,本文的主要貢獻包括:
- 我們提出了TIME WEAVER,這是一種新的擴散模型,用于在配對元數據的條件下生成現實的多變量時間序列。我們特別對標準擴散模型架構進行了創新,以處理分類和連續的元數據條件。
- 我們提出了一個新的度量,聯合Frechet時間序列距離(J-FTSD),專門設計用于評估條件時間序列數據生成模型。JFTSD使用經過約束學習訓練的特征提取器合并時間序列和元數據條件。在第6節中,我們展示了J-FTSD基于對條件時間序列數據分布建模的能力對方法進行精確排序的能力。
- 我們表明,我們的方法在生成高質量、元數據特定的時間序列方面明顯優于最先進的GAN模型,這些時間序列適用于現實世界的能源、醫療保健、污染和交通數據集(圖2)。
背景與相關工作
- 時序生成模型
- 條件時序生成的度量
問題描述
考慮一個多變量時間序列樣本x∈RL×Fx\in \mathbb{R}^{L\times F}x∈RL×F,其中LLL表示時間序列水平,FFF表示通道數。每個樣本xxx與元數據ccc相關聯,元數據ccc由分類特征ccat∈NL×Kcatc_{cat}\in \mathbb{N}^{L\times K_{cat}}ccat?∈NL×Kcat?和連續特征ccont∈RL×Kcontc_{cont}\in\mathbb{R}^{L\times K_{cont}}ccont?∈RL×Kcont?組成。這里,KcatK_{cat}Kcat?和KcontK_{cont}Kcont?分別表示分類元數據特征和連續元數據特征的總數。這些特征被連接為c=ccat⊕ccontc = c_{cat}\oplus c_{cont}c=ccat?⊕ccont?,其中⊕\oplus⊕表示向量連接操作。因此,元數據域定義為NL×Kcat×RL×Kcont\mathbb{N}^{L\times K_{cat}} \times \mathbb{R}^{L\times K_{cont}}NL×Kcat?×RL×Kcont?。注意,ccatc_{cat}ccat?和ccontc_{cont}ccont?域允許隨時間變化的元數據特性。
舉例來說:
考慮使用配對元數據生成表示96小時(L=96L = 96L=96)期間高速公路(F=1F = 1F=1)交通量的時間序列數據。該元數據包括777個隨時間變化的分類特征,如假日(121212個唯一標簽)和天氣描述(111111個唯一標簽),用Kcat=7K_{cat} = 7Kcat?=7表示。它還包括預期溫度、降雨預報等四個時變連續特征,用Kcont=4K_{cont} = 4Kcont?=4表示。
我們表示數據集Dx,c={(xi,ci)}i=1nD_{x, c} = \{(x_i, c_i)\}^n_{i=1}Dx,c?={(xi?,ci?)}i=1n?,由時間序列數據xxx和配對元數據ccc的nnn個獨立且同分布(i.i.d)樣本組成,從聯合分布p(x,c)p(x, c)p(x,c)中采樣。我們的目標是開發一個條件生成模型GGG,使得G(c)G(c)G(c)生成的樣本在分布上匹配p(x∣c)p(x|c)p(x∣c)。
使用Time Weaver的條件時序生成
TIME WEAVER模型由兩部分組成——生成數據的去噪主干和處理隨時間變化的分類和連續元數據變量的預處理模塊
元數據預處理:通過concatenat組合,然后將來自不同模態的這些數據利用自監督方法進行加權組合
- 類別token編碼器 θtokencat\theta^{cat}_{token}θtokencat? 首先會將類別ccatc_{cat}ccat?轉變為one-hot編碼,然后通過一個全連接層變為embedding zcat∈RL×dcatz_{cat}\in\mathbb{R}^{L\times d_{cat}}zcat?∈RL×dcat?。continuous token做同樣處理。使用FC層允許模型在分類和連續領域內學習不同元數據特征之間的內在相關性,當然也可以使用其他的模型結構
- zcatz_{cat}zcat?和zcontz_{cont}zcont?然后會concat在一起并通過自監督模塊生成元數據embeddingz∈RL×dmetaz\in\mathbb{R}^{L\times d_{meta}}z∈RL×dmeta?,自注意力層使生成模型能夠捕獲不同元數據特征之間的時間關系
去噪器:作為TIME WEAVER的去噪骨干,我們依賴于兩個最先進的架構——CSDI和SSSD。CSDI模型采用特征層和時間自注意層處理時序時間序列數據,SSSD使用結構化的狀態空間層。請注意,這些去噪模型是為輸入和預測任務而設計的,因此它們被設計為將未輸入和歷史時間序列作為各自的輸入。最小化下面的損失,使TIME WEAVER能夠學習如何從條件分布p(x∣c)p(x|c)p(x∣c)中生成樣本。
L(θdenoiser,θcondn,θtokencont,θtokencat)=Ex,c~Dx,c,?~N(0,I),t~U(1,T)[∣∣??θdenoiser(xt,t,z∣∣22)]
\mathcal{L}_{(\theta_{denoiser},\theta_{condn},\theta_{token}^{cont},\theta_{token}^{cat})}=\mathbb{E}_{x,c\sim D_{x,c},\epsilon\sim\mathcal{N}(\mathbf{0},\mathbf{I}),t\sim\mathcal{U}(1,T)[||\epsilon-\theta_{denoiser}(x_t,t,z||_2^2)]}
L(θdenoiser?,θcondn?,θtokencont?,θtokencat?)?=Ex,c~Dx,c?,?~N(0,I),t~U(1,T)[∣∣??θdenoiser?(xt?,t,z∣∣22?)]?
在推理過程中,我們從xT~N(0,I)x_T \sim \mathcal{N}(\mathbf{0},\mathbf{I})xT?~N(0,I)開始,迭代去噪(以元數據ccc作為輸入)T步,生成x0~p(x∣c)x_0 \sim p(x|c)x0?~p(x∣c),這一過程如圖3所示。
Joint Frechet 時序距離
如果時間序列和配對元數據的真實和生成的聯合分布不匹配,那么一個好的距離度量應該懲罰條件生成方法(提供更高的值)。現有的度量標準,例如Context-FID 僅依賴于時間序列特征提取器,度量計算不涉及配對元數據。這可以防止這些指標因為條件生成方法無法在生成的時間序列中重現元數據特定的特征而懲罰它們。因此,我們提出了一個新的度量來評估元數據條件下的時間序列生成Joint Frechet時間序列距離(J-FTSD)
在J-FTSD中,我們計算時間序列的真實和生成的聯合分布與配對元數據之間的FD。首先,與FID和FJD計算類似,本文使用θtime(?)\theta_{time}(\cdot)θtime?(?)和θmeta(?)\theta_{meta}(\cdot)θmeta?(?)將時間序列和配對元數據投影到較低維嵌入空間:RL×F→Rdemb\mathbb{R}^{L\times F}\rightarrow\mathbb{R}^{d_{emb}}RL×F→Rdemb?和RL×K→Rdemb\mathbb{R}^{L\times K}\rightarrow \mathbb{R}^{d_{emb}}RL×K→Rdemb?作為各自的特征提取器,其中dembd_{emb}demb?是嵌入向量的大小。我們將這些時間序列和元數據嵌入連接起來,創建一個聯合嵌入空間。然后我們計算joint嵌入空間上的FD。因此,J-FTSD的正式定義為:
J?FTSD(Dg,Dr)=∣∣μzr?μzg∣∣2+Tr(∑zr+∑zg?2(∑zr∑zg)12)zid=?time(xid)⊕?meta(ci)???i:(xid,ci)∈Ddμzd=1n∑i=1nzid,??∑zd=1n?1∑i=1n(zid?μzd)T
J-FTSD(D_g,D_r)=||\mu_{z^r}-\mu_{z^g}||^2+Tr(\sum z^r+\sum z^g - 2(\sum z^r\sum z^g)^{\frac{1}{2}})\\
z_i^d=\phi_{time}(x_i^d)\oplus\phi_{meta}(c_i)\;\forall i:(x_i^d,c_i)\in D_d\\
\mu_{z^d}=\frac{1}{n}\sum_{i=1}^n z_i^d,\;\sum z^d=\frac{1}{n-1}\sum_{i=1}^n(z_i^d-\mu_{z^d})^T
J?FTSD(Dg?,Dr?)=∣∣μzr??μzg?∣∣2+Tr(∑zr+∑zg?2(∑zr∑zg)21?)zid?=?time?(xid?)⊕?meta?(ci?)?i:(xid?,ci?)∈Dd?μzd?=n1?i=1∑n?zid?,∑zd=n?11?i=1∑n?(zid??μzd?)T
特征提取器的訓練:我們結合對比學習共同訓練?tine\phi_{tine}?tine?和?meta\phi_{meta}?meta?,以更好地捕獲時間序列和配對元數據的聯合分布,因為對比學習是將來自各種模式的數據映射到共享潛在空間的常用方法
該度量準則的優勢:J-FTSD 一個方面涉及估計時間序列與元數據嵌入之間的協方差。此外,通過對比學習聯合訓練特征提取器有助于有效捕捉時間序列與元數據嵌入之間的相關性。因此,如果生成的時間序列不包含特定于元數據的特征,協方差項就會減小。這使得 J-FTSD 能夠準確地對真實聯合分布與生成聯合分布之間的差異進行懲罰,這將直接轉化為懲罰條件生成,因為它們在再現元數據特定特征方面的特異性較差。