时间序列基础模型Moirai 2.0

标签: 器→工具 工具软件 数据 术→技巧 时序预测 | 发表时间:2026-08-31 22:01 | 作者:钱魏Way
出处:https://www.biaodianfu.com

时间序列基础模型是过去两年最热的方向之一:Google 的 TimesFM、亚马逊的 Chronos、Datadog 的 TOTO 先后登场,都想做一个模型预测所有领域。2025 年 8 月,Salesforce 发布的 Moirai 2.0 给出了一个反直觉的答案——把架构做得更简单,模型做得更小,反而更强,论文标题直接就叫《When Less Is More》(少即是多)。

Moirai 2.0 是一个纯解码器(decoder-only)时间序列基础模型,在 3600 万条序列、约 2950 亿观测值的语料上预训练,直接输出 9 个分位数(0.1~0.9)的概率预测。它的 Small 版本只有 11.4M 参数,却比上一代 311M 参数的 Moirai 1.0-Large 更准,推理快约 2 倍、体积小约 30 倍。

为什么需要 Moirai 2.0?

先给结论:Moirai 2.0 的诞生,是对时序基础模型就该又大又复杂这一假设的系统性纠偏——它砍掉了前代三个最复杂的组件,换来更准、更快、更小。

时间序列本身很难:非平稳、多尺度、采样不规则、观测有缺失,跨领域泛化极难。传统做法是每个场景训一个专用模型(ETS、ARIMA,或 PatchTST、N-BEATS 这类深度模型),维护成本高。基础模型的思路是像 GPT 之于文本一样,用海量跨域数据预训练一个通用模型,新场景零样本直接用。Moirai 1.0(2024 年,ICML Oral)正是这条路线最早的践行者之一:基于 LOTSA 数据集(27B 观测、9 大领域)预训练,曾登顶 GIFT-Eval 排行榜。

但 1.0 的成功也暴露了三个结构性短板:

  • 数据利用率低:掩码编码器架构下,每条训练样本只产生一个损失,全序列仅约 15% 的 token 真正参与了损失计算,大部分训练信号被浪费。
  • 多补丁设计过重:为适配不同时间频率引入了多补丁输入,反而限制了跨频率学习,还增加了计算开销。
  • 混合分布输出难优化:用混合分布(mixture of distributions)做概率预测,理论上灵活,实践中梯度不稳定、优化复杂,收益却不明显。

Moirai 2.0 的回应是三个砍:掩码编码器 → 纯解码器;多补丁 → 单补丁;混合分布 → 分位数。结果是一条样本产生 T−1 个训练损失、训练和推理都大幅简化、概率输出天然可用——用论文里的原话,这套改动让它比自己家族里更大的模型表现更好。

这条演进路线的时间线如下:

时间 事件 意义
2024.02 Moirai 1.0 论文发布(arXiv:2402.02592) 最早的大规模通用时序基础模型之一
2024.03 Uni2TS 框架与 LOTSA 数据开源 代码、数据、权重全部开放
2024.05 论文被 ICML 2024 接收(Oral) 学术界的标志性认可
2024.06 Moirai 1.1 发布 低频数据(年度/季度)NMAE 提升约 20%
2024.10 Moirai-MoE 发布 混合专家架构版本
2024.11 GIFT-Eval 基准发布 时序基础模型的公共评测场,Moirai-Large 曾登顶
2025.08 Moirai 2.0 发布(Salesforce 官方博客) 架构全面转向 decoder-only,非数据泄露模型中 MASE 第一
2025.11 Moirai 2.0 论文发表(arXiv:2511.11698) 完整公开架构、数据与消融实验

五大核心设计:Less 究竟砍掉了什么

先给结论:Moirai 2.0 的少,落在架构、输出、解码、训练四个层面,每一刀都精准对准 1.0 的一个痛点。下图是它的端到端流水线。

纯解码器架构:让每个 token 都「练到」

如果说掩码编码器像老师拿着全文让学生做一道阅读理解题,那么纯解码器就像顺着文章往下读,每读一个词都预测下一个词——每个位置都参与训练,预测永远只依赖当前及之前的内容(因果性)。

这一改动带来了三方面收益。其一,训练信号量级提升:一条长度为 T 的序列,decoder-only 能产生 T−1 个损失,而掩码编码器只有 1 个,数据利用率从约 15% 的 token 参与损失提升到全部 token。其二,推理天然自回归:预测未来就是接着往下写,与模型的训练目标完全一致。其三,可复用 KV 缓存:重复/扩展预测时,已算过的键值对直接缓存复用,论文报告迭代式扩展预测最多可提速 17 倍。

架构上它与现代 LLM 同构:输入补丁经残差块(SiLU 激活)投影为 token,送入多层因果多头自注意力 + 前馈网络的堆叠,最后输出投影把每个 token 映射为多令牌、多分位数预测。small / base / large 三个变体分别是 12 / 24 / 48 层。

分位数预测与 Pinball 损失:原生概率输出

先给结论:Moirai 2.0 不预测未来是多少,而是预测未来有 90% 概率落在哪个区间,这个区间由 9 个分位数(q=0.1, 0.2, …, 0.9)直接给出,无需事后拟合分布。

分位数是什么?把历史数据按大小排序,第 q 分位数就是有 q 比例的数据不超过它的那个值。预测时,模型对每个未来时间步直接输出 9 个分位数值:q=0.1 和 q=0.9 之间的区间就是 80% 置信带,q=0.5(中位数)则天然可作为点预测。如下图所示。

训练时用分位数损失(又称 Pinball 损失)直接优化这 9 个分位数。对时间步 t 的真实值 $y_t$ 与预测分位数值 $\hat{y}_t^{(q)}$:

$$\ell_q(y_t, \hat{y}_t^{(q)}) = \begin{cases} q\,(y_t – \hat{y}_t^{(q)}) & \text{if } y_t \ge \hat{y}_t^{(q)} \\ (1-q)\,(\hat{y}_t^{(q)} – y_t) & \text{if } y_t < \hat{y}_t^{(q)} \end{cases}$$

逐项拆解这个公式:当真实值高于预测值($y_t \ge \hat{y}_t^{(q)}$,低估了),惩罚是 $q \times$ 偏差;当真实值低于预测值(高估了),惩罚是 $(1-q) \times$ 偏差。系数 q 的作用是不对称:对高分位数(如 q=0.9),低估(真实值比预测高)会吃到 0.9 倍偏差的惩罚,比高估(0.1 倍)重得多——这迫使模型把 q=0.9 这条线抬高,保证90% 的值都不超过它,从而形成正确的分位数排序与间距。总损失是所有分位数、所有时间步的平均:

$$\mathcal{L}_Q = \frac{1}{H|Q|} \sum_{t=1}^{H} \sum_{q \in Q} \ell_q\big(y_t, \hat{y}_t^{(q)}\big), \quad Q = \{0.1, 0.2, \dots, 0.9\}$$

为什么直接回归分位数比混合分布更好?因为分位数损失是概率预测评估指标 CRPS 的离散近似——训练目标和评测指标对齐了,且逐点损失对异常值稳健、梯度稳定,没有混合分布那样的模式坍缩与优化困难。消融实验显示,仅这一项改动就把 MASE 从 0.850 拉到 0.744,是整个模型中收益最大的一刀。

这套设计的局限与应对:默认 9 个分位数等权,对重尾分布表达有限;但损失函数支持对不同分位数加权(如容量规划强调 q=0.9 的高分位),可按业务定制。最佳场景是金融风控(要上下界)、运维容量规划(要 P95/P99)、任何预测错了要付出不对称代价的场景。

多令牌预测:一次吐出一串未来

如果说单令牌预测是一个词一个词往外蹦,那么多令牌预测就是一次说出一句完整的话。Moirai 2.0 的每个输出 token 同时预测 $n_{token}$ 个未来补丁(patch),输出投影从 $\mathbb{R}^d$ 映射到 $\mathbb{R}^{n_{token} \times n_q \times p}$,一次前向就覆盖一段更长的预测范围。

这么做的直接收益是效率与稳定性:自回归迭代次数成倍减少,长预测范围下的误差累积也随之降低——论文的消融实验证实,多令牌预测在最终版本中贡献了约 0.011 的 MASE 改善(0.739 → 0.728 的路径上)。

自回归多分位数解码:先展开、再折叠

这里有个必须解决的矛盾:每一步输出 9 个分位数,自回归时该把哪一个当作输入传给下一步?取中位数会丢掉全部不确定性信息;直接传 9 个又维度不匹配。Moirai 2.0 的解法是一个深度为 2 的扩展—折叠(expand-then-fold)束搜索:

具体到每一步:第一步直接用上下文预测出 9 个分位数;展开阶段,把上一步的每个分位数值当作输入分别解码,得到 $9 \times 9 = 81$ 个候选;折叠阶段,对这 81 个候选在每一步取对应分位数($\hat{y}_{t+1}^{(q)} \leftarrow \text{Quantile}_q(\text{candidates})$),聚合回 9 个标准分位数;如此循环直到预测范围结束。这相当于在保留全概率信息的同时,把多值自回归变成了可行计算。

训练三件套:防泄漏、抗缺失、滤噪声

除了架构,训练策略还有三个看似细节、实则关键的机制:

  • 防泄漏归一化:decoder-only 模型若对整个序列做全局实例归一化,归一化统计量会偷看未来的 70% 数据。因此只用序列前 30% 计算均值和方差,后 70% 用于因果预训练,杜绝未来信息泄露。
  • Patch 级随机掩码:训练时随机掩掉 50% 的输入补丁,让模型学会从残缺输入中预测,增强对真实场景缺失值的鲁棒性。消融实验表明它单独使用反而降精度,但与其他策略组合时有正向贡献。
  • 数据过滤:既然归一化只看前 30%,后 70% 段可能发生分布偏移。用 Z-score 异常检测对比两段统计量,把不可预测的低质量序列从预训练语料中滤掉,稳定收敛。

预训练数据:3600 万条序列从哪来

先给结论:Moirai 2.0 在 3600 万条序列、约 2950 亿观测值的混合语料上预训练,真实数据与合成数据并重,覆盖运维、能源、医疗、经济、交通、电商等主要领域——这是它零样本跨域能力的根基。

数据来源 序列数 观测数 说明
GIFT-Eval Pretrain(无泄露版) 约 325 万 约 2300 亿 LOTSA 的子集,精心挑选避免与评测任务重叠
GIFT-Eval TrainTest 训练集 约 14.4 万 评测集训练部分,用于增强
Chronos-Mixup(合成) 3000 万 约 630 亿 基于 TSMixup 生成,仅用 Chronos 非泄露子集
KernelSynth(合成) 100 万 约 10.2 亿 高斯过程合成:趋势、局部变化、季节核随机组合
Salesforce 内部遥测(匿名) 约 215 万 约 14.8 亿 日粒度云监控数据,覆盖约一年(自 2024 年 1 月起)
合计 3600 万 约 2950 亿 真实 + 合成混合,8 大领域

值得注意两点。第一,合成数据占比很高(Chronos-Mixup 3000 万条占了近九成),说明在真实高质量时序数据稀缺的情况下,合成数据是扩大覆盖面的有效手段——这一点与 Chronos 论文的做法一脉相承。第二,语料的领域分布并不均衡:自然/环境类序列偏少,这直接导致了后面实验里Natural 领域表现偏弱的结果。

实验结果:小模型如何打赢大模型

先给结论:在 GIFT-Eval 基准(55 个数据集、97 种任务配置、37 个模型参赛)上,参数最少的 Moirai 2.0-Small(11.4M)反而在所有尺寸中表现最好,并在非数据泄露模型中拿到 MASE 第一。这是一份缩小模型反而变强的实证。

缩放实验:参数不是越多越好

模型 参数(M) MASE ↓ CRPS ↓
Moirai 2.0 Small 11.4 0.728 0.516
Moirai 2.0 Base 87.1 0.732 0.525
Moirai 2.0 Large 305 0.743 0.530

从 11.4M 扩到 305M,性能不升反降。论文给出的解释是:当前预训练数据的规模与多样性和模型容量不匹配,仅堆参数无效——这打破了参数量 = 精度的直觉,也把未来方向指向了数据扩展而非模型扩展。

消融实验:哪一刀收益最大

变体 预训练数据 损失 架构 投影 多令牌 递归解码 随机掩码 MASE ↓ CRPS ↓
Moirai 1.0 small GIFT-Eval Pretrain 分布 enc-only 线性 0.946 0.650
v0 GIFT-Eval Pretrain 分布 dec-only 线性 0.929 0.647
v1 新语料 分布 dec-only 线性 0.850 0.580
v2 新语料 分位数 dec-only 线性 0.744 0.553
v3 新语料 分位数 dec-only 线性 0.736 0.533
v4 新语料 分位数 dec-only 线性 0.772 0.560
v5 新语料 分位数 dec-only 线性 0.739 0.527
Moirai 2.0 新语料 分位数 dec-only 残差块 0.728 0.516

这条消融链清晰展示了每个决策的贡献:decoder-only 骨架带来小幅提升(0.946 → 0.929);新语料是第二大步(0.929 → 0.850);分位数损失是单项收益最大的一刀(0.850 → 0.744);递归分位数解码(v3)与多令牌预测(v5)各添一分;随机掩码单独用反而降(v4 的 0.772 高于 v3),但在完整组合里有利;最后把线性投影换成残差块,凑出最终成绩。

与前代的全面对比

对比维度 Moirai 1.0 Moirai 2.0
架构 掩码编码器 纯解码器
输入补丁 多补丁(多频率) 单补丁
概率输出 混合分布 + 采样 9 个分位数直接输出
损失 分布 NLL 分位数(Pinball)损失
训练数据利用率 约 15% token 参与损失 全部 token,T−1 个损失/样本
KV 缓存推理 不支持 支持,重复预测最多提速 17 倍
模型规模(最优款) Large 约 311M Small 仅 11.4M(小约 30 倍)
推理速度 基准 快约 2 倍
精度 基准 MASE +16%、CRPS +13%

领域层面的结论也值得关注:Moirai 2.0 在 Web/CloudOps、金融等领域表现突出(与其内部云监控数据有关),在自然/环境序列上明显偏弱(预训练语料该类数据太少),交通领域则略逊于 Moirai 1.0。按预测长度分组,短序列排名第 4、中期第 6、长期第 8——优势随预测范围拉长而收窄。

效率上它处于最优性价比区间:同批竞品中,Kairos-50M 更快但精度明显落后(参数还是它的近 5 倍),Granite-FlowState-R1 精度略高但推理慢约 3 倍。Moirai 2.0 在精度、速度、体积三者的权衡上最均衡。

快速上手:五分钟跑通 Moirai 2.0

先给结论:装一个 uni2ts 库,加载 Hugging Face 上的预训练权重,三行代码就能做零样本概率预测,Small 模型在普通 GPU 上即可跑。

安装(官方推荐的 PyPI 方式,框架基于 PyTorch,推理依赖 GluonTS):

pip install uni2ts

零样本预测完整示例——从 pandas 宽表出发,预测并可视化:

import pandas as pd
import matplotlib.pyplot as plt
from gluonts.dataset.pandas import PandasDataset
from gluonts.dataset.split import split
from uni2ts.eval_util.plot import plot_single
from uni2ts.model.moirai2 import Moirai2Forecast, Moirai2Module

# 1) 读入宽表:行 = 时间,列 = 各条序列
df = pd.read_csv(ts_wide.csv, index_col=0, parse_dates=True)

# 2) 转为 GluonTS 数据集并做滚动切分
ds = PandasDataset(dict(df))
train, test_template = split(ds, offset=-100)  # 末 100 步作为测试
test_data = test_template.generate_instances(
    prediction_length=100,  # 预测长度
    windows=1,              # 滚动窗口数
    distance=100,           # 窗口间隔
)

# 3) 加载预训练权重(Moirai 2.0 Small,仅 11.4M 参数)
model = Moirai2Forecast(
    module=Moirai2Module.from_pretrained(Salesforce/moirai-2.0-R-small),
    prediction_length=100,
    context_length=1680,
    target_dim=1,
    feat_dynamic_real_dim=0,
    past_feat_dynamic_real_dim=0,
)

# 4) 零样本预测 + 可视化
predictor = model.create_predictor(batch_size=32)
forecasts = predictor.predict(test_data.input)
inp = next(iter(test_data.input))
label = next(iter(test_data.label))
forecast = next(iter(forecasts))
plot_single(inp, label, forecast, context_length=200, name=pred, show_label=True)
plt.show()

关键参数速查:

参数 含义 建议
MODEL = moirai2 选择模型家族 可选 moirai(1.x)/ moirai-moe / moirai2
SIZE = small 模型尺寸 small / base / large;论文结论 small 已最优
prediction_length 预测长度(步数) 任意正整数,按业务设定
context_length 输入上下文长度 建议 1000+(论文示例用 1680)
batch_size 推理批大小 按显存调整,small 模型 32 起步
target_dim 目标变量维度 单变量为 1;多变量按列数设为 N

两个落地提示:一是多变量数据会被拆成多条独立单变量序列分别预测(模型本身不支持跨变量联合建模);二是上下文给足、预测长度别一口气拉太长,长 horizon 的精度衰减是它的已知短板。

应用场景与落地建议

先给结论:Moirai 2.0 最适合多领域、多频率、需要概率边界、算力预算有限的预测任务;它是零样本快速起步的最佳选择之一,也是中小规模部署里性价比最高的时序基础模型。

  • IT 运维容量规划:对 CPU、内存、流量等云监控指标做多步预测。为什么适配——预训练语料里就有大量 Salesforce 内部云监控数据,Web/CloudOps 是它最强的领域;分位数输出直接给出 P90/P99 上界,正好服务按峰值扩容的决策;KV 缓存 + 11.4M 参数让它能在边缘节点低延迟运行。
  • 金融风控与财务预测:预测波动率、交易量、营收指标并给出置信区间。为什么适配——分位数损失对齐 CRPS、对异常值稳健,天然适配尾部风险分析;金融领域的跨域表现位居前列。
  • 零售与供应链需求预测:零样本预测新品或冷启动品类的销量。为什么适配——跨域泛化能力强,无需为每个 SKU 单独训练;合成数据训练的多样性让它对没见过的销售形态也有一定鲁棒性。
  • 在线/边缘实时预测:小模型 + KV 缓存意味着毫秒级推理,适合设备端或网关侧的流式预测。为什么适配——模型体积小(Small 约 45MB 权重),可在资源受限环境部署。

与同赛道模型的定位对比(帮你选型):

模型 架构 输出 模型规模 特点
Moirai 2.0 decoder-only 9 个分位数 11.4M / 87M / 305M 效率与精度最均衡,概率输出开箱即用
TimesFM 系列 decoder-only 点预测为主 200M 级 Google 出品,生态成熟,点预测基线强
Chronos / Chronos-Bolt 编码器-解码器 采样分布 20M~710M Amazon 出品,Bolt 推理极快
Moirai 1.x / Moirai-MoE 掩码编码器 / MoE 混合分布 14M~311M 前代家族,MoE 版本追求更大容量

落地时注意三点反模式:一是别把预测长度设成上下文的好几倍,长 horizon 衰减明显;二是需要协变量(天气、节假日)强介入的场景,先考虑微调或传统模型,它目前不消费外部特征;三是追求多变量联合概率(如多仓库存联动)的场景它做不到,只能逐条预测。需要针对性微调时,Uni2TS 自带 CLI:

python cli/train.py data=etth1 model=moirai_1.1_R_base trainer.max_epochs=50

局限与破局:四条边界与各自的解法

先给结论:Moirai 2.0 的边界清晰且诚实——它把能做和暂时不能做分得很开,每条局限也都有明确的破局路径。

  • 只做单变量:多变量被拆成多条独立序列,丢失了变量间的联合依赖(如多条指标的相关性)。破局方向:论文明确把多变量联合概率预测列为后续工作,或先用合成数据训练多变量分支;短期可自行用多变量模型(如 DeepAR)做对照。
  • 不消费外部协变量:天气、节假日、促销等外生特征无法输入,限制了强外部驱动场景(如零售大促)。破局方向:对协变量敏感的任务用传统统计模型或微调接入;社区也在探索把协变量编码进补丁嵌入的扩展。
  • 长 horizon 精度衰减:短序列排名第 4、长期降到第 8,多令牌 + 迭代解码只是缓解而非根治。破局方向:论文建议长程建模专项研究 + 数据扩展;实践上分段滚动预测(每次预测一段,回填再推)比一口气预测到底更稳。
  • 参数扩展收益为负:4M → 305M 性能反降,说明瓶颈在数据而非模型。破局方向:先扩大预训练语料规模与多样性(论文的明确未来工作),再谈增大模型;应用侧直接用 Small 即可,不必盲目上 Large。

展望未来,论文给出的方向包括结合 LLM 推理能力的时序分析、文本/图像/时序的多模态基础模型,以及数据扩展与长程建模。对一个少即是多的模型来说,下一步的想象力在于:当数据这块短板补上之后,更小的架构还能撬动多大的性能天花板。

相关 [时间序列 基础 模型] 推荐:

时间序列基础模型Moirai 2.0

- - 标点符
时间序列基础模型是过去两年最热的方向之一:Google 的 TimesFM、亚马逊的 Chronos、Datadog 的 TOTO 先后登场,都想做一个模型预测所有领域. 2025 年 8 月,Salesforce 发布的 Moirai 2.0 给出了一个反直觉的答案——把架构做得更简单,模型做得更小,反而更强,论文标题直接就叫《When Less Is More》(少即是多).

Chronos-2 Small (112M)一个时间序列预测的强大模型

- -
Chronos-2 是一个用于时间序列预测的基础模型,基于 Chronos 和 Chronos-Bolt 构建. 它提供了显著的能力改进,可以处理早期模型不支持的多种预测场景. 它提供了显著的能力改进,可以处理早期模型不支持的多种预测场景. 支持的场景包括(1)单变量时间序列预测:经典的时间序列预测任务;(2)跨项目学习:利用多个相关时间序列的信息进行预;(3)多变量预测:同时预测多个相关目标变量(3)带协变量的预测:仅过去协变量:在预测时已知的历史协变量(如过去的天气数据) + 已知未来协变量:预测期间已知的协变量(如节假日、计划事件).

通俗易懂带你看懂时间序列分解模型?高深也不过如此

- - IT瘾-bigdata
观察趋势,或许是我们在日常分析中最常见的需求. 但遗憾的是,许多管理者或者业务分析人员,对着高高低低的折线图(时间序列数据)不知道怎么“看”. 本节将介绍一种通俗易懂的时间序列分解方法,帮助大家从时间序列的波动中挖掘信息. 另外,时间序列数据经过分解之后,可以对未来的数值进行一定程度的预测. 5.5.1  怎样观察时间序列数据.

时间序列趋势判断

- - 标点符
判断时间序列数据是上升还是下降是我们常见的问题. 比如某个股票在过去一年整体趋势是上升还是下降. 我们可以通过画图的方式直接观测出上升还是下降. 但每次观测图片非常的麻烦,有没有一些数学方法进行检验. 则:$S= \sum_{m=1}^{n}(|A_m-A_{m-1}|)$. 当序列单调时:$S = |A_n-A_0|$,否则$ S > |A_n-A_0|$.

自进化能力来自模型外部的基础设施如Agent

- -
最近,几乎所有能长时间运行的 Agent,都开始被包装成自进化. Jeff Dean 等研究者和资本押注 RSI,背后的判断很直接:单纯扩大参数、数据和算力,回报正在放缓,大家都在寻找下一条 Scaling Law. 真正的自进化至少要完成三个闭环:提出改动、验证它确实更好,再把结果变成下一轮的起点.

妄谈时间序列表格型大数据系统设计

- - Solrex Shuffling
一直在特定领域的分布式系统一线摸爬滚打,曾取得一些微不足道的成绩,也犯过一些相当低级的错误. 回头一看,每一个成绩和错误都是醉人的一课,让我在兴奋和懊恼的沉迷中成长. 自己是个幸运儿,作为一个 freshman 就能够有机会承担许多 old guy 才能够有的职责. 战战兢兢、如履薄冰的同时,在一线的实作和思考也让我获得了一些珍贵的经验,却直至今日才够胆量写出来一晒.

时间序列分段算法 [Time series Breakout Detection]

- - ITeye博客
在时间序列分析中,断点检测(breakout detection)是一个很基本的问题. 通过捕捉时序数据中的断点(breakout),来发现时序数据所表示的系统在过去是否发生了某种事件(event),进而为系统诊断提供必要的数据支持. 为了实现对时序断点的检测,我们首先需要对时序的整体时序做拟合. 这里我们通过一条直线来拟合一段时序,如果时序的趋势发生了变化,则用多条直线来拟合整条时序数据.

异常检测之时间序列的异常检测

- -
其实之前介绍过3倍方差,只是,这里的3倍方差讲的是在时间序列异常检测中的应用. 一个很直接的异常判定思路是,拿最新3个数据点的平均值(tail_avg方法)和整个序列比较,看是否偏离历史总体平均水平太多,如果偏离太多,就报警. 和上述算法基本一致,只是比较对象不是整个序列,而是开始一个小时(其实这种这种思想可以推广,只要是时间序列刚开始的一段时间即可)的以内的数据,求出这段时间的均值和标准差和尾部数据(新产生的数据)用三本方差的方法比较即可.

以秒为单位生成唯一的时间序列号

- - ITeye博客
//测试是否有生成重复的ID. private static final byte LEVEL = 7; //限定一秒钟最多产生1000万-1 个数. * 测试机器系统参数: Win7 64位 i5-4210M 4core 2.6GHz 内存8GB. * 测试10个线程并发产生,每秒可以产生310万左右个序列号.

用Python进行时间序列预测的7种方法

- - 标点符
时间序列预测在日常分析中常会用到,前段时间在处理预算相关的内容,涉到一些指标预测,学习到了这篇文章,整理出来分享给大家. 数据集(JetRail高铁的乘客数量)下载,链接: https://pan.baidu.com/s/15w5_5_o8IK6ZT3VlNSRa7Q 提取码: 9be3. 假设要解决一个时序问题:根据过往两年的数据(2012 年 8 月至 2014 年 8月),需要用这些数据预测接下来 7 个月的乘客数量.