跳转到主要内容
ToolPotion

N-BEATS

N-BEATS 是一个基于神经网络的单变量时间序列预测模型。由 ServiceNow Research 开发,它实现了 N-BEATS 算法以获得可复现的实验结果。该存储库提供了 PyTorch 实现、数据集加载器和用于高级时间序列分析的实验配置。

访问URL

描述

N-BEATS 是一个复杂的、基于神经网络的模型,专门为单变量时间序列预测而设计。它是 ServiceNow Research 的一项重要贡献,其起源可追溯到 Element AI。该项目旨在提供 N-BEATS 算法的稳健实现,使研究人员和从业人员能够复现相关论文中提出的实验结果。

该存储库的结构便于访问和使用。N-BEATS 模型的核心 PyTorch 实现位于 `models/nbeats.py` 文件中。数据处理方面,论文中使用过的各种数据集的加载器位于 `datasets/*.py` 目录中。`experiments/*` 目录包含了复现论文结果所需的实验设置,每个设置都包含一个用于训练和预测逻辑的 `main.py` 脚本,以及通用模型和可解释模型变体的配置文件。

结果和性能指标记录在 `notebooks` 目录中,每个实验都有一个专门的 notebook。这些 notebook 展示了最终分数以及对不同集成大小有效性的见解,并指出较小的集成通常能获得与较大集成相当的结果。此实现被描述为原始 N-BEATS 的“轻量级”版本,其性能通常处于相同的最先进水平,但结果偶尔会有差异。

该项目通过 Docker 强调可复现性,无论用户是否拥有 NVIDIA GPU 都可以使用。`Makefile` 提供了初始化 Docker 镜像、下载数据集、运行测试、构建实验以及在 CPU 和 GPU 上执行预测的命令。提供了详细的说明来设置环境、构建 Docker 镜像、下载数据集以及运行具有可自定义参数(如重复次数和回溯期)的实验。实验的输出,包括日志、损失、快照和最终预测,存储在 `storage/experiments` 目录中。

N-BEATS 对于数据科学家、机器学习工程师和参与时间序列分析、预测和预测建模的研究人员特别有价值。其可解释的特性和最先进的性能使其成为理解和预测各种领域单变量数据未来趋势的强大工具。

N-BEATS亮点

  • 用于单变量时间序列预测的基于神经网络的模型

  • N-BEATS 算法的实现

  • 可复现的实验结果

  • 提供 PyTorch 实现

  • 各种数据集的数据集加载器

  • 通用模型和可解释模型的配置文件

  • 支持 Docker 进行环境设置

  • 支持 CPU 和 GPU 执行

  • 详细的复现说明

  • 用于存储实验日志、损失和预测的存储

N-BEATS入门

  1. 设置环境:确保已安装 Docker,并根据您的环境调整 Makefile。

  2. 构建 Docker 镜像:运行 `make init` 来构建 Docker 镜像。

  3. 下载数据集:执行 `make dataset` 来下载所需数据集。

  4. 构建实验:使用 `make build config=<path_to_config.gin>` 来生成实验配置。

  5. 运行实验:使用 `make run command=<path_to_command>` 在 CPU 上运行,或使用 `make run command=<path_to_command> gpu=<gpu-id>` 在 GPU 上运行。

  6. 获取实验统计信息:通过 `make notebook port=<port>` 运行 JupyterLab notebook 来分析性能。

N-BEATS的使用案例

  • 时间序列预测
  • 预测分析
  • 需求预测
  • 财务预测
  • 资源规划

N-BEATS的常见问题

N-BEATS 评价

加载中...

与 N-BEATS 类似的热门AI工具

GluonTS 是一个用于概率时间序列建模的 Python 包,利用基于 PyTorch 和 MXNet 的深度学习模型。它通过生成概率分布形式的预测(包括预测区间)来实现准确的预测,适用于复杂的时间序列分析。

AI 模型与大语言模型

AI 模型

PatchTST 是一个基于 Transformer 的长时序预测模型的官方实现。它将时间序列分割成块(patches)并独立处理,提供高效且有效的预测。该项目提供了监督学习和自监督学习方法的代码,实现了强大的预测能力。

AI 模型与大语言模型

AI 模型

LSTNet 是一款深度学习模型,专为时间序列预测而设计。它通过结合循环神经网络和卷积神经网络,有效地建模长期和短期时间模式。该模型对于复杂的时间序列数据特别有用。

AI 模型与大语言模型

AI 模型

FEDformer 是一种频率增强分解 Transformer,专为高效的长期时间序列预测而设计。它实现了与序列长度成线性复杂度的计算,通过显著降低多变量和单变量数据集上的预测误差,性能优于最先进的方法。该模型提供开源代码。

AI 模型与大语言模型

AI 模型

Autoformer 是一款用于长期时间序列预测的 AI 模型,它利用分解 Transformer 和自相关机制。该模型在各种基准测试中取得了最先进的结果,为提高实际应用中的预测准确性提供了一种新颖的系列连接方法。

AI 模型与大语言模型

AI 模型

LTSF-Linear 是 "Are Transformers Effective for Time Series Forecasting?" 的官方 PyTorch 实现。它引入了一系列线性模型(Linear, DLinear, NLinear),在长期时间序列预测任务上表现优于 Transformer,同时具有高效率和可解释性。

AI 模型与大语言模型

Prophet 是一个开源的预测程序,用 R 和 Python 实现。它通过快速、可调的模型自动化时间序列预测。专为数据科学家和分析师设计,它能够处理季节性、不断变化的增长率和特殊事件,提供带有不确定性区间的准确预测。

预测与预测分析

该存储库提供了“简单深度图卷积网络”(GCNII)模型的 PyTorch 实现。它包含在基准图数据集上复现半监督和全监督结果的代码,以及一个 PyTorch Geometric 参考实现。

AI 模型与大语言模型