时间序列之N-BEATS(Neural Basis Expansion Analysis for Time Series Forecasting)的基展开

N-BEATS(Neural Basis Expansion Analysis for Time Series Forecasting)是一种基于深度学习的时间序列预测方法。其核心思想是通过使用基展开(Basis Expansion)来捕捉时间序列的各种模式,并利用深度神经网络进行预测。下面详细解释 N-BEATS 中使用基展开的原理,并通过具体数据举例说明其应用。

N-BEATS 和基展开原理

基展开(Basis Expansion)

基展开是一种数学技术,它通过将原始数据投影到一组基函数上,以捕捉数据的不同特征。对于时间序列数据,这些基函数可以是多项式、傅里叶级数等。

在 N-BEATS 中,基展开用于将时间序列分解为多个子序列,每个子序列由一组基函数表示。具体来说,N-BEATS 通过一个多层神经网络来学习这些基函数,并使用这些基函数来拟合和预测时间序列。

模型结构

N-BEATS 模型由多个堆叠的前馈神经网络(Fully Connected Neural Networks)组成,每个神经网络称为一个 Block。每个 Block 包含两个主要部分:

  1. 趋势模型(Trend Model):用于捕捉长期趋势。
  2. 季节性模型(Seasonal Model):用于捕捉周期性变化。

每个 Block 接收时间序列的输入,并输出两个部分:

  • 预测部分:当前 Block 对未来时间序列的预测。
  • 残差部分:当前 Block 未能捕捉的部分,这部分将传递给下一个 Block 进行进一步拟合。

通过这种堆叠的结构,N-BEATS 可以逐步捕捉时间序列的复杂模式,从而提高预测精度。

具体数据举例

假设我们有一个电商平台过去24个月的月度销售数据(单位:千元),如下:

  • 2019年1月:100
  • 2019年2月:120
  • 2019年3月:130
  • 2019年4月:150
  • 2019年5月:170
  • 2019年6月:180
  • 2019年7月:190
  • 2019年8月:200
  • 2019年9月:220
  • 2019年10月:230
  • 2019年11月:240
  • 2019年12月:260
  • 2020年1月:130
  • 2020年2月:140
  • 2020年3月:160
  • 2020年4月:180
  • 2020年5月:170
  • 2020年6月:190
  • 2020年7月:200
  • 2020年8月:210
  • 2020年9月:220
  • 2020年10月:230
  • 2020年11月:240
  • 2020年12月:260

我们希望预测2021年的月度销售数据。

使用 N-BEATS 进行预测
  1. 输入数据:将过去24个月的销售数据输入 N-BEATS 模型。

  2. 基展开和预测

    • 第一个 Block:学习时间序列的基础模式,例如线性趋势和季节性模式。输出预测部分和残差部分。
    • 第二个 Block:接收第一个 Block 的残差部分,并进一步拟合更细节的模式,输出新的预测部分和残差部分。
    • 依次类推,直到最后一个 Block。
  3. 汇总预测结果:将每个 Block 的预测部分汇总,得到最终的预测结果。

假设模型预测的2021年1月至12月的销售数据如下:

  • 2021年1月:135
  • 2021年2月:145
  • 2021年3月:165
  • 2021年4月:185
  • 2021年5月:175
  • 2021年6月:195
  • 2021年7月:205
  • 2021年8月:215
  • 2021年9月:225
  • 2021年10月:235
  • 2021年11月:245
  • 2021年12月:265

总结

N-BEATS 通过基展开技术,将时间序列分解为趋势和季节性等基础模式,并使用深度神经网络逐步拟合这些模式,从而实现高精度的时间序列预测。其堆叠的 Block 结构能够逐步捕捉时间序列的复杂特征,使得 N-BEATS 成为处理多种时间序列预测任务的强大工具。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值