ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

5分钟上手Cisco Time Series Model:从安装到预测的完整Python示例

2026/8/7 20:20:10 拓冰建站 浏览量
5分钟上手Cisco Time Series Model:从安装到预测的完整Python示例

5分钟上手Cisco Time Series Model:从安装到预测的完整Python示例

【免费下载链接】cisco-time-series-model-1.0-preview项目地址: https://ai.gitcode.com/hf_mirrors/cisco-ai/cisco-time-series-model-1.0-preview

Cisco Time Series Model是一款强大的时间序列预测基础模型,基于解码器的Transformer架构,专为单变量零样本预测设计。它采用多分辨率上下文输入,能够高效处理长序列数据,帮助开发者快速实现精准的时间序列预测任务。

快速安装指南 ⚡

要开始使用Cisco Time Series Model,只需执行以下简单步骤:

  1. 克隆仓库(如果尚未获取代码):

    git clone https://gitcode.com/hf_mirrors/cisco-ai/cisco-time-series-model-1.0-preview cd cisco-time-series-model-1.0-preview
  2. 安装依赖

    pip install -r requirements.txt

整个安装过程通常只需2-3分钟,取决于网络速度和环境配置。

模型核心架构解析 🔍

Cisco Time Series Model基于TimesFM2.0模型改进而来,引入了分辨率嵌入和特殊标记等创新设计,使其能更高效地利用长上下文信息。模型接受两种分辨率的输入(xc和xf),其中xc的分辨率是xf的60倍,两者长度均可达到512。

图:展示了分辨率嵌入和特殊标记的创新架构设计

多分辨率输入示例 📊

模型的多分辨率输入设计是其核心优势之一。以下是一个包含1小时上下文的多分辨率时间序列示例,展示了模型如何处理不同粒度的数据:

图:带有填充1小时上下文的多分辨率时间序列示例

简单Python预测示例 🐍

以下是一个完整的Python示例,展示如何使用Cisco Time Series Model进行时间序列预测:

import torch import numpy as np from modeling import CiscoTsmMR, TimesFmHparams, TimesFmCheckpoint # 设置随机种子 rng = np.random.default_rng(42) # 生成示例数据 T = 512 * 60 # 30720个数据点 hours = (T + 59) // 60 k = np.arange(hours, dtype=np.float32) h = (80 + 0.1 * k) * (1 + 0.25 * np.sin(2 * np.pi * k / 24)) t = np.arange(T, dtype=np.float32) input_series = h[(t // 60).astype(int)] * (1 + 0.05 * np.sin(2 * np.pi * t / 30)) + rng.normal(0, 0.4, size=T) # 配置模型超参数 hparams = TimesFmHparams( num_layers=50, use_positional_embedding=False, backend="gpu" if torch.cuda.is_available() else "cpu", ) # 加载模型 checkpoint ckpt = TimesFmCheckpoint(huggingface_repo_id="cisco-ai/cisco-time-series-model-1.0-preview") # 初始化模型 model = CiscoTsmMR( hparams=hparams, checkpoint=ckpt, use_resolution_embeddings=True, use_special_token=True, ) # 执行预测 forecast_preds = model.forecast(input_series, horizon_len=128) # 获取预测结果 mean_forecast = forecast_preds[0]['mean'] # 预测均值 (128,) quantiles = forecast_preds[0]['quantiles'] # 分位数预测结果

高级使用技巧 💡

多序列同时预测

模型支持同时预测多个时间序列,只需将序列数据放入列表中:

# 生成第二个示例序列 T = 25_000 hours = (T + 59) // 60 k = np.arange(hours, dtype=np.float32) h = 120 / (1 + np.exp(-0.01 * (k - 300))) + 10 * np.cos(2 * np.pi * k / (24*7)) t = np.arange(T, dtype=np.float32) input_series_2 = h[(t // 60).astype(int)] + 2 * np.sin(2 * np.pi * t / 60) + rng.normal(0, 0.5, size=T) # 同时预测多个序列 multi_series_forecasts = model.forecast([input_series, input_series_2], horizon_len=128)

长 horizon 预测

模型也支持长周期预测,只需调整horizon_len参数:

# 长周期预测 long_horizon_forecasts = model.forecast(input_series, horizon_len=240)

使用注意事项 ⚠️

  1. 缺失值处理:如果输入序列存在缺失值,建议使用最后一个有效值进行填充。如果超过30%的值需要填充,模型预测性能可能会下降。

  2. 输入长度:模型在提供更多粗分辨率历史数据时表现更好,过短的输入可能导致性能下降。

  3. 分位数校准:当前模型的分位数预测尚未经过严格校准,因此不能保证特定分位数范围包含真实值的概率。

总结

Cisco Time Series Model提供了一个简单而强大的解决方案,让开发者能够在几分钟内完成从安装到预测的全流程。其创新的多分辨率设计和高效的Transformer架构,使其在处理长序列时间序列预测任务时表现出色。无论您是时间序列预测的新手还是有经验的开发者,这款模型都能帮助您快速实现精准的预测功能。

如果您觉得Cisco Time Series Model对您的研究有帮助,请考虑引用相关技术报告:

@misc{gou2025ciscotimeseriesmodel, title={Cisco Time Series Model Technical Report}, author={Liang Gou and Archit Khare and Praneet Pabolu and Prachi Patel and Joseph Ross and Hercy Shen and Yuhan and Song and Jingze Sun and Kristal Curtis and Vedant Dharnidharka and Abhinav Mathur and Hao Yang}, year={2025}, eprint={2511.19841}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2511.19841}, }

【免费下载链接】cisco-time-series-model-1.0-preview项目地址: https://ai.gitcode.com/hf_mirrors/cisco-ai/cisco-time-series-model-1.0-preview

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考