N-BEATS(Neural Basis Expansion Analysis for Time Series)

1. 模型简介

N-BEATS(Neural Basis Expansion Analysis for Time Series)是一个专门用于时间序列预测的深度学习模型。它是无须特征工程端到端*的神经网络架构,由Facebook在2019年提出。该模型基于前馈神经网络,完全不依赖循环结构(如RNN、LSTM)或卷积结构,表现出了与甚至超过传统统计模型和深度模型的性能。


2. 模型原理

N-BEATS 的核心思想是利用多个 block(模块) *逐步对时间序列建模。每个 block 都会输出两个部分:

  • backcast(回顾):用于拟合已知的历史时间序列

  • forecast(预测):用于预测未来的时间序列值

整个模型由多个这样的 block 顺序堆叠而成,每个 block 会尝试“解释”输入时间序列的一部分,并将剩余未解释的部分传给下一个 block。这种机制就像残差建模(Residual Modeling),逐步细化预测。

另外,N-BEATS 的 block 有两种类型:

  • Trivial block(Generic block):通用形式,不加入任何结构假设

  • Interpretable block(Trend & Seasonality block):将趋势和周期性建模成可解释的形式,如多项式基函数和傅里叶基函数


3. 模型的优势

  • 无需特征工程:完全基于原始时间序列输入,无需额外的时间特征(如月、日等)

  • 强泛化能力:泛化能力强,在多个 benchmark 上超过 ARIMA、Prophet、LSTM 等模型

  • 高解释性(可选):使用 trend & seasonality block 时可解释趋势和周期变化

  • 灵活结构:可以任意堆叠 block,自定义预测窗口长度


4. 模型的应用场景

N-BEATS 适用于各种需要时间序列预测的场景,尤其适合以下任务:

  • 金融市场的价格走势预测

  • 零售/电商中的销量预测

  • 能源消耗预测(如电力负荷)

  • Web 流量或用户活跃度预测 它既适用于单变量时间序列,也适用于成千上万个小规模时间序列(如多店铺、多产品的销售预测)。


5. 模型的缺点或限制

  • 训练成本高:相比传统模型,深度神经网络的训练耗时更久,对硬件要求更高

  • 对超参数敏感:block 的堆叠方式、隐藏层设置等参数对最终效果有较大影响

  • 无法建模外部变量(exogenous features):原始版本不支持融合额外变量,后续版本如 N-BEATSx 才引入了这点

  • 黑盒性问题(部分 block):Generic block 缺乏可解释性


6. 实际经验(如有)

在使用 N-BEATS 模型预测电商平台的日销量时,模型表现出优于 LSTM 和 Prophet 的结果。尤其在短期预测(如3~7天)的准确率上表现更为稳定。调参时,重点关注了 block 数量、每层的宽度、训练轮数,同时通过早停机制防止过拟合。由于模型较大,也尝试过用轻量级结构做蒸馏压缩,提升了推理速度。


7. 总结

总体来说,N-BEATS 是一个兼具准确率与灵活性的新型时间序列预测模型,适合在数据量大、预测窗口灵活、特征难构造的场景下使用。它代表了从传统统计模型向端到端深度学习模型演进的趋势。不过在应用中也需考虑模型复杂性和解释需求之间的平衡。

*神经网络的端到端是指模型从输入原始数据到输出结果的整个过程全由网络自动完成,无需人工设计中间处理步骤。

*每个 block 的结构可以相同,但它们学习到的参数和建模的时间序列模式是不同的。

*trend_degree 表示趋势模块中多项式的阶数,用于拟合长期变化趋势;seasonality_degree 表示季节性模块中傅里叶基的频数,用于捕捉周期性波动。这两个 degree 变大表示模型拟合能力更强、能捕捉更复杂的趋势或季节性模式,变小则表示模型更简单、只能拟合较平滑或低频的变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值