标题: 【论文条记 · PFM】Lag-Llama: Towards Foundation Models for Time Serie [打印本页] 作者: 钜形不锈钢水箱 时间: 2024-7-19 15:48 标题: 【论文条记 · PFM】Lag-Llama: Towards Foundation Models for Time Serie Lag-Llama: Towards Foundation Models for Time Series Forecasting
假定有练习数据集 D t r a i n = { x 1 : T i i } i = 1 D \mathcal{D}_{train}=\{x^i_{1:T^i}\}^D_{i=1} Dtrain={x1:Tii}i=1D,此中拥有 D D D个时间序列,每个时间序列中包罗 T i T^i Ti个时间步,模子实验预测将来 P ≥ 1 P\ge1 P≥1个步的数据,因此须要将来的数据 D t e s t = { x T i + 1 T i + P i } \mathcal{D}_{test}=\{x^i_{T^i+1\:T^i+P}\} Dtest={xTi+1Ti+Pi}或者留出数据集(held-out)进行回测。数据中除了有序号 t t t外,另有一个时间日期;别的数据中另有一个与 x t i x_t^i xti相关的协方差 c t i c^i_t cti并进行向量化。
在单变量概率时序预测问题中,盼望可以或许在给定可观测过去和协变量的一维序列情况下,建模 P P P个将来值的复杂团结分布。
p χ ( x t + 1 : t + P i ∣ x 1 : t i , c 1 : t + P i ) p_\chi(x^i_{t+1:t+P}|x^i_{1:t},c^i_{1:t+P}) pχ(xt+1:t+Pi∣x1:ti,c1:t+Pi)
本文从完整的时间序列中选择大小为 C ≥ 1 C\ge 1 C≥1的固定上下文窗口进行子采样而且在给定协变量情况下学习将来 P P P步的未知分布:
p χ ( x C + 1 : C + P i ∣ x 1 : C i , c 1 : C − 1 + P i ) p_\chi(x^i_{C+1:C+P}|x^i_{1:C},c^i_{1:C-1+P}) pχ(xC+1:C+Pi∣x1:Ci,c1:C−1+Pi)
因此可以通过自回归模子创建一个概率的链式规则:
p χ ( x C + 1 : C + P i ∣ x 1 : C i , c 1 : C − 1 + P i ; θ ) = Π t = C + 1 C + P p χ ( x t i ∣ x 1 : t − 1 i , c 1 : t − 1 i ; θ ) p_\chi(x^i_{C+1:C+P}|x^i_{1:C},c^i_{1:C-1+P};\theta)=\Pi^{C+P}_{t=C+1}\ p_\chi(x^i_{t}|x^i_{1:t-1},c^i_{1:t-1};\theta) pχ(xC+1:C+Pi∣x1:Ci,c1:C−1+Pi;θ)=Πt=C+1C+P pχ(xti∣x1:t−1i,c1:t−1i;θ)
Lag-Llama
模子中所需的滞后协变量是通过目标值的的滞后特性,包括季度、月、周、天、小时和二级频率构建的。给定排序的滞后系数聚集 L = { 1 , … , L } \mathcal{L}=\{1,\dots,L\} L={1,…,L},可以特定时候的滞后运算 x t → c t ∈ R [ L ] x_t\rightarrow c_t\in\mathbb{R}^{[\mathcal{L}]} xt→ct∈R[L],此中 c t c_t ct中的每一条都由 c t [ j ] = x t − L [ j ] c_t[j]=x_{t-\mathcal{L}[j]} ct[j]=xt−L[j]给出。因此,要为肯定时间窗口 x 1 : C x_{1:C} x1:C创建滞后特性,须要对 L L L个历史点 x − L + 1 : C x_{-L+1:C} x−L+1:C进行采样。
一种向量化单变量序列的方法是使用潜在的重叠部门或具有肯定大小和步长的片段,但是这种方法会导致向量中因果混淆。
滞后系数直接对应于数据各种大概的季节性,而且可以或许保留日期时间指数因果结构。通过依赖滞后特性,可以在练习期间使用掩码解码器,在推理时使用自回归采样。但一个缺点是在推理时须要一个 L L L或更大的上下文窗口。
Lag-Llama结构
Lag-Llama基于Llama结构,而且通过RMS归一化整合了预归一化而且在每个Attention层的Q和K增加了旋转位置编码。以上是 M M M个Decoder层的模子结构。
一个长度为 x − L + 1 : C i x^i_{-L+1:C} x−L+1:Ci的单变量序列以及其协变量通过滞后算子被向量化为一个长度为 C C C的向量 x 1 : C i \text{x}^i_{1:C} x1:Ci。然后序列被输入到一个MLP中映射到隐藏维度,从Transformer层输出后,模子使用Distribution Head来预测所选分布的参数。最后利用对数值进行求loss。
在推断时,给定长度为 L L L的时间序列,可以构建一个特性向量并输入模子获得下一个时间步的分布。通过如许的操纵,可以或许获得预测分布,通过拼接来初始化序列从而获得更远的滞后向量。
分布头的选择
分布头用于映射模子特性到参数的概率分布上。用差别表现能力的分布头来输出参数的概率分布。
值缩放
该模子中最大的挑衅是怎样处理差别数目级的数据。
通过计算均匀值 μ i = ∑ t = − L C x t i / ( C + L ) \mu^i=\sum^C_{t=-L}x^i_t/(C+L) μi=∑t=−LCxti/(C+L)和方差 σ i \sigma^i σi,从而来计算归一化后的值。同时,将 s i g n ( μ i ) l o g ( 1 + ∣ μ i ∣ ) sign(\mu^i)log(1+|\mu^i|) sign(μi)log(1+∣μi∣)和 l o g ( σ i ) log(\sigma^i) log(σi)作为时间独立的协变量。
数据增强
使用CRPS(一连分级概率分数)按照分布进行评估:
C R P S ( F , x ) = ∫ R ( F ( y ) − I { x ≤ y } ) 2 d y CRPS(F,x)=\int_\mathbb{R}(F(y)-\mathbf{I}\{x\le y\})^2dy CRPS(F,x)=∫R(F(y)−I{x≤y})2dy
实验效果
拟合缩放定律大概可以实现进一步的外推。
Broken Neural Scaling Law:
y = a + ( b x − c 0 ) Π i = 1 n ( 1 + ( x d i ) 1 / f i ) − c i ∗ f i y=a+(bx^{-c_0})\Pi^n_{i=1}(1+(\frac{x}{d_i})^{1/f_i})^{-c_i*f_i} y=a+(bx−c0)Πi=1n(1+(dix)1/fi)−ci∗fi
此中, x x x是性能相关数(模子参数目、计算量、练习数据集大小、模子输入大小等), y y y是评价指标。其他参数都是拟合的。
同时本文没有选择break数目,而是使用n阶最小二乘法来拟合85%的数据,然后选择使随后5%数据的RMSE最小化的n