Lag-Llama:第一个时间序列猜测的开源基础模子
Lag-Llamalagllama是为单变量概率猜测而构建的。它利用不依赖于频率的通用方法来标志时间序列数据。这样模子可以很好地推广到不可见的频率。
它利用Transformer体系结构和分布头来解析输入令牌,并将它们映射到具有置信区间的将来猜测。
https://i-blog.csdnimg.cn/direct/a6116c707f0b453f91002c80089d16a1.png
一、具有滞后特性的标志
laglllama的标志计谋是利用一组指定的滞后来构造序列的滞后特性。
它将从这个列表中为给定的数据集选择全部合适的频率:
季度、月、周、天、小时、秒
也就是说,如果以每日频率提供数据集,lag - llama将实验利用每日滞后(t-1),每周滞后(t-7),每月滞后(t-30)等构建特性。
计谋如下图所示。
https://i-blog.csdnimg.cn/direct/06b9e2d72784414b8f9ea02119724aed.png
从上图中,我们还可以看到模子构建了其他静态协变量,比方秒/分、小时/天等等,直到季度/年。虽然这可以很好地推广到全部类型的时间序列,但它有一个致命的缺点:由于固定的滞后指数列表,输入令牌可能会变得非常大。
比方,查看每小时数据的每月频率必要730个时间步。这意味着除了全部静态协变量之外,输入令牌的长度至少为730。
二、Lag-Llama架构
Lag-Llama是一个基于transformer的纯解码器模子,其灵感来自大型语言模子LLaMA的体系结构。
https://i-blog.csdnimg.cn/direct/a59910ba655e406989a608846faef2c0.png
从图中可以看到输入标志是滞后时间步长和静态协变量的拼接。输入序列通过线性投影层将特性映射到解码器内部注意力模块的隐蔽维度。另外就是在末了的输出,序列被发送到一个分布头负责输出一个概率分布。
在推理过程中,输入序列生成下一个时间点的分布。然后通过自回归,模子逐个生成剩余的猜测序列,直到达到设置的长度。
生成猜测的自回归过程有效地答应模子为其猜测生成不确定性区间。但是这里的题目就是如果序列很长,自回归的方式会将错误扩大。
三、Lag-Llama分布头
Lag-Llama的分布头负责输出概率分布。这样模子就能够生成猜测区间。
在模子的迭代中,末了一层利用Student 's t分布来构造不确定性区间。
四、Lag-Llama的训练
作为一个基础模子,Lag-Llama显然是在大量的时间序列数据语料库上训练的,因此该模子可以很好地泛化未见过的时间序列并举行零样本猜测。
论文中说:Lag-Llama在来自差别范畴的27个时间序列数据集上举行了训练,如能源、交通、经济等。
数据包含7965个单变量时间序列,总计约3.52亿个令牌。
全部数据集都是开源的,包括ethth, Exchange和Weather等。
五、Lag-Llama的零样本猜测
1.情况设置
!git clone https://github.com/time-series-foundation-models/lag-llama/
cd lag-llama
pip install -r requirements.txt --quiet Cloning into 'lag-llama'...
remote: Enumerating objects: 167, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 167 (delta 45), reused 50 (delta 40), pack-reused 99
Receiving objects: 100% (167/167), 198.32 KiB | 4.84 MiB/s, done.
Resolving deltas: 100% (75/75), done.2.然后,我们从 HuggingFace
页:
[1]