Non-stationary Diffusion For Probabilistic Time Series Forecasting论文阅读笔记
Non-stationary Diffusion For Probabilistic Time Series Forecasting
摘要
时间序列数据受到潜在的物理动力学和外部影响,其不确定性通常随时间而变化。现有的去噪扩散概率模型(DDPMs)受到加性噪声模型(ANM)的恒定方差假设的限制,往往不能捕捉到这种非平稳性质。本文作者利用位置尺度噪声模型(LSNM)来放宽人工神经网络的固定不确定性假设,设计了一个基于扩散的概率预测框架,称为非平稳扩散(NsDiff),实现对不确定性的变化模式进行建模。具体来说,NsDiff将基于扩散的去噪条件生成模型与预训练的条件均值和方差估计器相结合,实现自适应端点分布建模。此外,还提出了一种不确定性感知噪声调度,该调度动态调整噪声水平以准确反映每一步数据的不确定性,并将时变方差集成到扩散过程中。
引言
时序数据预测工作一般是通过历史时序数据X\pmb{X}X来训练模型,然后预测未来的时序片段Y\pmb{Y}Y。因此可以看作在拟合分布E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[Y∣X]。这样的方法忽略了在预测过程中的时序不确定性。
去噪扩散概率模型(Denoising Diffusion Probabilistic Models ,DDPMs)基于加性噪声模型(Additive Noise Model,ANM)在概率时序预测工作中提供了不确定性。其加性噪声为固定的高斯噪声,拟合过程表示为:Y=f(X)+ϵ, ϵ∼N(0,σ)\pmb{Y}=f(\pmb{X})+\pmb{\epsilon}, \; \pmb{\epsilon}\sim\mathcal{N}(\pmb{0},\pmb{\sigma})Y=f(X)+ϵ,ϵ∼N(0,σ)。该方法在计算机视觉和自然语言生成工作中都有较大的贡献,但是对于非平稳时间序列数据的预测还需要进一步研究。
上图利用ILI(流感样疾病)数据集,分别对三种方法的效果进行展示(具有不同的端点分布(左)和估计不确定性(右)):TimeGrad 、TMDM 和NsDiff(本文所提方法)。其中,TimeGrad的端点分布服从标准正态分布N(0,I)\mathcal{N}(\pmb{0},\pmb{I})N(0,I),TMDM则使用N(f(X),I)\mathcal{N}(f(\pmb{X}),\pmb{I})N(f(X),I)。前者无法获取非稳定特征,后者则可以通过f(X)f(\pmb{X})f(X)获取时序数据的变化趋势,但是他的协方差限制了其准确预测不确定性的能力。
本文为了更好地处理随不确定性变化的非平稳性,我们在DDPMs中引入了位置尺度噪声模型(Local-Scale Noise Model,LSNM),它通过纳入上下文变化的方差放宽了传统的加性噪声模型(ANM)的限制:Y=f(X)+g(X)ϵ\pmb{Y}=f(\pmb{X})+\sqrt{g(\pmb{X})}\pmb{\epsilon}Y=f(X)+g(X)ϵ,其中g(X)g(\pmb{X})g(X)是基于X\pmb{X}X变化的参数。
主要贡献如下:
- 作者观察到ANM不足以捕获变化的不确定性,并提出了一个集成LSNM的新框架,以允许显式不确定性建模。本作品是首次尝试介绍LSNM转化为概率时间序列预测
- 为了从根本上提升DDPM的噪声建模能力,我们通过动态适应每一步噪声方差的不确定性噪声调度,将时变方差无缝地集成到核心扩散过程中
- 实验结果表明,NsDiff在捕获不确定性方面具有较好的性能。具体来说,与最近第二好的基线相比在TMDM中,NsDiff在真实数据集上的改进可达66.3%,在合成数据集上的改进可达88.3%
相关工作
- DDPM:这些方法通常假设固定端点方差,这使得非平稳时间序列难以建模
- 非平稳时间序列预测:概率预测中的非平稳不确定性在很大程度上仍未得到探索
预备工作
问题描述:
-
多元时间序列:X∈RN×D\pmb{X}\in\mathbb{R}^{N\times D}X∈RN×D,其中NNN是历史窗口尺寸,DDD是特征维度数量
-
未来的多元时间序列:Y={p(y1),p(y2),...,p(yM)∣y∈RD}\pmb{Y}=\{p(y_1), p(y_2), ..., p(y_M)|y\in\mathbb{R}^D\}Y={p(y1),p(y2),...,p(yM)∣y∈RD},其中MMM是为未来窗口尺寸
-
以前的工作拟合该过程为:Y=fϕ(X)+ϵ, ϵ∼N(0,σ)\pmb{Y}=f_{\phi}(\pmb{X})+\pmb{\epsilon},\;\pmb{\epsilon}\sim\mathcal{N}(\pmb{0},\pmb{\sigma})Y=fϕ(X)+ϵ,ϵ∼N(0,σ)
-
本文的工作:
Y=fϕ(X)+gψ(X)ϵ, ϵ∼N(0,σ) \pmb{Y}=f_{\phi}(\pmb{X})+\sqrt{g_{\psi}(\pmb{X})}\pmb{\epsilon},\;\pmb{\epsilon}\sim\mathcal{N}(\pmb{0},\pmb{\sigma}) Y=fϕ(X)+gψ(X)ϵ,ϵ∼N(0,σ)
fϕ(X)f_{\phi}(\pmb{X})fϕ(X)和gψ(X)g_{\psi}(\pmb{X})gψ(X)可以被视为具有预训练参数ϕ\phiϕ和ψ\psiψ的先验知识,其中fϕ(X)f_{\phi}(\pmb{X})fϕ(X)建模条件期望E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[Y∣X], gψ(X)g_{\psi}(\pmb{X})gψ(X)建模变化的不确定性。
DDPMs
-
未来序列分布:pθ(Y0):=∫pθ(Y0:T)dY1:Tp_\theta(\pmb{Y}_0):=\int p_\theta(\pmb{Y}_{0:T})d\pmb{Y}_{1:T}pθ(Y0):=∫pθ(Y0:T)dY1:T,其中Y1,...,YT\pmb{Y}_1,...,\pmb{Y}_TY1,...,YT是潜变量
-
联合分布被描述为马尔可夫链:pθ(Y0:T):=p(YT)∏t=1Tpθ(Yt−1∣Yt)p_\theta(\pmb{Y}_{0:T}):=p(\pmb{Y}_T)\prod_{t=1}^{T}p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_t)pθ(Y0:T):=p(YT)∏t=1Tpθ(Yt−1∣Yt),其中端点分布为p(YT):=N(0,I)p(\pmb{Y}_T):=\mathcal{N}(0, \pmb{I})p(YT):=N(0,I)
-
前向过程Y0→YT\pmb{Y}_0\rightarrow\pmb{Y}_TY0→YT:
q(Y1:T∣Y0):=∏t=1Tq(Yt∣Yt−1)q(Yt∣Yt−1):=N(Yt;1−βtYt−1,βtI) q(\pmb{Y}_{1:T}|\pmb{Y}_0):=\prod_{t=1}^{T}q(\pmb{Y}_t|\pmb{Y}_{t-1})\\ q(\pmb{Y}_t|\pmb{Y}_{t-1}):=\mathcal{N}(\pmb{Y}_t;\sqrt{1-\beta_t}\pmb{Y}_{t-1},\beta_t\pmb{I}) q(Y1:T∣Y0):=t=1∏Tq(Yt∣Yt−1)q(Yt∣Yt−1):=N(Yt;1−βtYt−1,βtI)
其中,βt∈(0,1)\beta_t\in(0, 1)βt∈(0,1)是一个扩散技巧参数,用于控制端点分布YT∼N(0,I)\pmb{Y}_T\sim\mathcal{N}(0,\pmb{I})YT∼N(0,I) -
前向过程可以简化为:q(Yt∣Y0)=N(Yt;αˉtYt−1,(1−αˉt)I)q(\pmb{Y}_t|\pmb{Y}_0)=\mathcal{N}(\pmb{Y}_t;\sqrt{\bar{\alpha}_t}\pmb{Y}_{t-1},(1-\bar{\alpha}_t)\pmb{I})q(Yt∣Y0)=N(Yt;αˉtYt−1,(1−αˉt)I),其中αt:=1−βt\alpha_t:=1-\beta_tαt:=1−βt,且αˉ:=∏i=1tαt\bar{\alpha}:=\prod_{i=1}^{t}\alpha_tαˉ:=∏i=1tαt
-
后向过程:
KaTeX parse error: Can't use function '$' in math mode at position 2: $̲p_\theta(\pmb{Y… -
优化目标为:
EY0∼q(Y0),η∼N(0,I),t∣∣η−ηθ∣2 \mathbb{E}_{\pmb{Y}_0\sim q(\pmb{Y}_0),\eta\sim\mathcal{N}(0,\pmb{I}),t}||\eta-\eta_\theta|^2 EY0∼q(Y0),η∼N(0,I),t∣∣η−ηθ∣2
在这个基本的正向和反向过程之后,许多基于扩散的方法改进了反向过程或先验分布与历史时间序列信息。然而,它们固定了先验分布的方差,关注的是期望匹配。不确定性的先验设置和训练在很大程度上被忽略了。
方法
前向和反向过程
使用不同的噪声模型LSNM形成端点分布
p(YT∣fϕ(x),gψ(x)):=N(fϕ(X,gψ(X)))
p(\pmb{Y}_T|f_\phi(x),g_\psi(x)):=\mathcal{N}(f_\phi(\pmb{X},g_\psi(\pmb{X})))
p(YT∣fϕ(x),gψ(x)):=N(fϕ(X,gψ(X)))
其中,fϕ(x)f_\phi(x)fϕ(x)为条件期望E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[Y∣X]建模,该条件期望E[Y∣X]\mathbb{E}[\pmb{Y}|\pmb{X}]E[Y∣X]可以通过任何预测模型参数化,遵循已有的工作(Reversible instance normalization for accurate time-series
forecasting against distribution shift;Adaptive normalization for non-stationary
time series forecasting: A temporal slice perspective)来训练不确定度gψ(x)g_\psi(x)gψ(x)的先验尺度,用输入方差来预测输出方差。
前向过程逐步修改每一步的噪声以接近端点分布。为了将时变方差无缝地整合到扩散过程中,我们提出了一个不确定性感知的噪声调度,并将数据方差纳入前向过程分布中:q(Yt∣Yt−1,fϕ(X),gψ(X),σY0)q(\pmb{Y}_t|\pmb{Y}_{t-1},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(Yt∣Yt−1,fϕ(X),gψ(X),σY0)。具体来说,给定预训练良好的模型fϕf_\phifϕ, gψg_\psigψ和先验状态Yt−1\pmb{Y}_{t-1}Yt−1,我们控制缩放方差从起点的实际方差σY0\pmb{\sigma}_{\pmb{Y}_0}σY0过渡到端点gψXg_\psi{\pmb{X}}gψX。得到的分布为正态分布:
N(Yt;αtYt−1+(1−αt)fϕ(X),(βt2gψ(X)+αtβtσY0)βt2gψ(X)+αtβtσY0):=σt
\mathcal{N}(\pmb{Y}_t;\sqrt{\alpha_t}\pmb{Y}_{t-1}+(1-\sqrt{\alpha_t})f_\phi(\pmb{X}),(\beta_t^2g_\psi(\pmb{X})+\alpha_t\beta_t\pmb{\sigma}_{\pmb{Y}_0})\\
\beta_t^2g_\psi(\pmb{X})+\alpha_t\beta_t\pmb{\sigma}_{\pmb{Y}_0}) := \pmb{\sigma}_t
N(Yt;αtYt−1+(1−αt)fϕ(X),(βt2gψ(X)+αtβtσY0)βt2gψ(X)+αtβtσY0):=σt
其中共享系数βt\beta_tβt是噪声标度常数。随着噪声步骤ttt的增大,βtgψ(X)\beta_tg_\psi(\pmb{X})βtgψ(X)项增大,αtσY0\alpha_t\pmb{\sigma}_{\pmb{Y}_0}αtσY0项减小。当t=Tt=Tt=T时,αt=0\alpha_t=0αt=0,变量收敛到假设的端点分布gϕ(X)g_\phi(\pmb{X})gϕ(X)。这使得DDPM能够自适应地调整每一步的噪声水平,以捕获数据的不确定性。正向分布允许一个封闭形式的采样分布q(Yt∣Y0,fϕ(X),gψ(X),σY0)q(\pmb{Y}_t|\pmb{Y}_{0},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(Yt∣Y0,fϕ(X),gψ(X),σY0)具有任意时间步长ttt:
N(Yt;αˉtY0+(1−αˉt)fϕ(X),(βˉt−β~t)gψ(X)+β~tσY0)(βˉt−β~t)gψ(X)+β~tσY0):=σˉt
\mathcal{N}(\pmb{Y}_t;\sqrt{\bar{\alpha}_t}\pmb{Y}_{0}+(1-\sqrt{\bar\alpha_t})f_\phi(\pmb{X}),(\bar\beta_t-\tilde\beta_t)g_\psi(\pmb{X})+\tilde\beta_t\pmb{\sigma}_{\pmb{Y}_0})\\
(\bar\beta_t-\tilde\beta_t)g_\psi(\pmb{X})+\tilde\beta_t\pmb{\sigma}_{\pmb{Y}_0}) := \bar{\pmb{\sigma}}_t
N(Yt;αˉtY0+(1−αˉt)fϕ(X),(βˉt−β~t)gψ(X)+β~tσY0)(βˉt−β~t)gψ(X)+β~tσY0):=σˉt
其中:
α~t=∑k=0t−1∏i=t−ktαi, βˉt:=1−αˉtα^t:=∑k=0t−1(∏i=t−ktαi)αt−k, β~t:=α~t−α^t
\tilde\alpha_t = \sum_{k=0}^{t-1}\prod_{i=t-k}^{t}\alpha_i,\;\bar\beta_t:=1-\bar\alpha_t\\
\hat\alpha_t:=\sum_{k=0}^{t-1}(\prod_{i=t-k}^{t}\alpha_i)\alpha_{t-k},\;\tilde\beta_t:=\tilde\alpha_t-\hat\alpha_t
α~t=k=0∑t−1i=t−k∏tαi,βˉt:=1−αˉtα^t:=k=0∑t−1(i=t−k∏tαi)αt−k,β~t:=α~t−α^t
在反向过程中,当以Y0\pmb{Y}_0Y0为条件时,Yt−1\pmb{Y}_{t-1}Yt−1的后验是可处理的,可重述为:
q(Yt−1∣Yt,Y0,fϕ(X),gψ(X),σY0):=N(Yt−1;μ~,σ~)
q(\pmb{Y}_{t-1}|\pmb{Y}_{t},\pmb{Y}_0,f_{\phi(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0}}) := \mathcal{N}(\pmb{Y}_{t-1};\tilde\mu,\tilde\sigma)
q(Yt−1∣Yt,Y0,fϕ(X),gψ(X),σY0):=N(Yt−1;μ~,σ~)
这里:
μ~:=γY0+γ1Yt+γ2fϕ(X)σ~:=σtσˉt−1αtσˉt−1+σt
\tilde\mu:=\gamma\pmb{Y}_0+\gamma_1\pmb{Y}_t+\gamma_2f_\phi(\pmb{X})\\
\tilde\sigma:=\frac{\sigma_t\bar\sigma_{t-1}}{\alpha_t\bar\sigma_{t-1}+\sigma_t}
μ~:=γY0+γ1Yt+γ2fϕ(X)σ~:=αtσˉt−1+σtσtσˉt−1
其中:
γ0:=αˉt−1σtαtσˉt−1+σt, γ1:=αˉtσt−1αtσˉt−1+σt,γ2:=αt(αt−1)σt−1+(1−αˉt−1)σtαtσˉt−1+σt
\gamma_0 := \frac{\sqrt{\bar\alpha_{t-1}}\sigma_t}{\alpha_t\bar\sigma_{t-1}+\sigma_t},\\\
\gamma_1 := \frac{\sqrt{\bar\alpha_{t}}\sigma_t-1}{\alpha_t\bar\sigma_{t-1}+\sigma_t},\\
\gamma_2 := \frac{\sqrt{\alpha_{t}}(\alpha_{t}-1)\sigma_{t-1}+(1-\sqrt{\bar\alpha_{t-1}})\sigma_t}{\alpha_t\bar\sigma_{t-1}+\sigma_t}
γ0:=αtσˉt−1+σtαˉt−1σt, γ1:=αtσˉt−1+σtαˉtσt−1,γ2:=αtσˉt−1+σtαt(αt−1)σt−1+(1−αˉt−1)σt
按照DDPM的基本步骤参数化降噪模型pθ(Yt−1∣Yt,fϕ(X),gψ(X))p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}))pθ(Yt−1∣Yt,fϕ(X),gψ(X)),以匹配前向过程后验q(Yt−1∣Yt,fϕ(X),gψ(X),σY0)q(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(Yt−1∣Yt,fϕ(X),gψ(X),σY0)。
损失函数
通过优化两个分布的KL散度,将去噪过渡步骤pθ(Yt−1∣Yt,fϕ(X),gψ(X))p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}))pθ(Yt−1∣Yt,fϕ(X),gψ(X))近似为标签去噪过度步骤q(Yt−1∣Yt,fϕ(X),gψ(X),σY0)q(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}),\pmb{\sigma}_{\pmb{Y}_0})q(Yt−1∣Yt,fϕ(X),gψ(X),σY0)。与经典DDPM一样,只优化对角方差项,分别表示为σ~\tilde\sigmaσ~和σθ\sigma_\thetaσθ。损失定义为噪声匹配项的KL散度:
L=E[DKL(Nx;μ~,σ~∣∣N(y;μθ,σθ))]∝E[∣∣η−ηθ∣∣22+∑iσ~iσθ,i−∑ilog(σ~iσθ,i)]
\mathcal{L} = \mathbb{E}[D_{KL}(\mathcal{N}_x;\tilde\mu,\tilde\sigma||\mathcal{N}(y;\mu_\theta,\sigma_\theta))]\propto\mathbb{E}[||\eta-\eta_\theta||_2^2+\sum_i\frac{\tilde\sigma_i}{\sigma_{\theta,i}}-\sum_i\log(\frac{\tilde\sigma_i}{\sigma_{\theta,i}})]
L=E[DKL(Nx;μ~,σ~∣∣N(y;μθ,σθ))]∝E[∣∣η−ηθ∣∣22+i∑σθ,iσ~i−i∑log(σθ,iσ~i)]
其中ηθ\eta_\thetaηθ为估计噪声,η\etaη为真噪声。第一项保证了后验均值的估计,其余项保证了方差的估计。
预训练fϕf_\phifϕ和gψg_\psigψ
为了训练fϕf\phifϕ,我们遵循先前的工作(Transformer-modulated diffusion models for probabilistic multivariate time series forecasting),并利用非平稳Transformer(Non-stationary
transformers: Exploring the stationarity in time series forecasting)作为主干模型。训练过程与标准监督时间序列模型的训练过程相同(Informer: Beyond efficient transformer
for long sequence time-series forecasting)。对于gψg_\psigψ的训练,我们使用滑动窗口方法提取估计值的方差,参考(Reversible instance normalization for accurate time-series
forecasting against distribution shift;Adaptive normalization for non-stationary time series forecasting: A temporal slice perspective;Frequency adaptive normalization for non-stationary time series forecasting)。具体来说,给定时间序列标签Y0\pmb{Y}_0Y0,估计值的方差定义为:
σY0=Var(SlidingWindow(Y0))
\sigma_{\pmb{Y}_0}=Var(SlidingWindow(\pmb{Y}_0))
σY0=Var(SlidingWindow(Y0))
该过程为有监督训练过程。
训练NsDiff
NsDiff训练的目标是通过参数化pθp_\thetapθ来匹配后验分布qqq。和传统的DDPM一样,NsDiff可以通过分别从均匀分布和高斯分布中采样随机ttt和噪声η\etaη来端到端训练。
推理
推理阶段的目标是从参数化分布pθ(Yt−1∣Yt,fϕ(X),gψ(X))p_\theta(\pmb{Y}_{t-1}|\pmb{Y}_{t},f_{\phi}(\pmb{X}),g_{\psi}(\pmb{X}))pθ(Yt−1∣Yt,fϕ(X),gψ(X))中递归采样:
简化NsDiff
个人总结
本文通过在噪声项中添加gψ(X)g_\psi(\pmb{X})gψ(X)实现了对预测不确定性的建模:
Y=fϕ(X)+gψ(X)ϵ
\pmb{Y} = f_\phi(\pmb{X})+\sqrt{g_\psi(\pmb{X})}\epsilon
Y=fϕ(X)+gψ(X)ϵ