时间序列预测的Meta N-BEATS方法1

2023-10-23 19:20

本文主要是介绍时间序列预测的Meta N-BEATS方法1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在时间序列预测中,目前占统治地位的方法仍然是传统的时间序列分析统计方法,虽然有个别方法中融入了深度学习模型,也基本上仅限于利用深度学习来学习这些时间序列统计模型的超参数。Bengio团队最新的Paper,将纯深度学习技术应用于时间序列预测,并在测试数据集上取得了比传统时间充列分析还要好的效果,他们分别发表了两篇文章,第一篇发表于19年5月,讲述了N-BEATS算法,第二篇发表于20年2月,将N-BEATS算法与元学习方法相融合,并且取得了SOTA效果。
本系列博文除了介绍这两篇文章基本概念之外,还会讲解采用PyTorch来复现论文中结果。这两篇文章都是单变量时间序列预列,我们在实际中,使用这种技术,对股市行情(开盘价、最高价、最低价、收盘价、成交量、成交金额等)这种多变量预测模型来进行预测,也取得了效好的应用效果,感兴趣的读者可以多交流。注:基于商业原因,这部分内容没有在本系列博文中出现。

问题描述

我们考虑的是单变量离散时间序列的点预测问题,对于一个时间序列:
v 1 , v 2 , v 3 , . . . , v i , . . . , v T v_{1}, v_{2},v_{3},...,v_{i},..., v_{T} v1,v2,v3,...,vi,...,vT
假设我们要预测H个时间点之后的值。例如,对于我们的股市应用,我们要预测后天的价格涨跌,因此H=2,我们要预测的结果为:
y = [ v T + 1 v T + 2 . . . v T + H ] = [ y 1 y 2 . . . y H ] ∈ R H \boldsymbol{y}=\begin{bmatrix} v_{T+1} \\ v_{T+2} \\ ... \\ v_{T+H} \end{bmatrix} = \begin{bmatrix} y_{1} \\ y_{2} \\ ... \\ y_{H} \end{bmatrix} \in R^{H} y=vT+1vT+2...vT+H=y1y2...yHRH
为了预测时间点 t t t H H H个时间点的值,我们需要向前看 w ≤ T w \le T wT个时间点的值进行预测:
x = [ v T − w + 1 v T − w + 2 . . . v T ] ∈ R w \boldsymbol{x}=\begin{bmatrix} v_{T-w+1} \\ v_{T-w+2} \\ ... \\ v_{T} \end{bmatrix} \in R^{w} x=vTw+1vTw+2...vTRw
我们假设网络的预测值为 y ^ \boldsymbol{\hat{y}} y^,我们定义如下误差:
平均绝对值百分比误差(MAPE):
M A P E = 100 H ∑ i = 1 H ∣ v T + i − v ^ T + i ∣ ∣ v T + i ∣ = 100 H ∑ i = 1 H ∣ y i − y ^ i ∣ y i MAPE=\frac{100}{H} \sum^{H}_{i=1} \frac{ \vert v_{T+i} - \hat{v}_{T+i} \vert }{ \vert v_{T+i} \vert } = \frac{100}{H} \sum^{H}_{i=1} \frac{ \vert y_{i} - \hat{y}_{i} \vert}{ y_{i} } MAPE=H100i=1HvT+ivT+iv^T+i=H100i=1Hyiyiy^i
对称平均绝对值百分比误差(sMAPE):
s M A P E = 200 H ∑ i = 1 H ∣ v T + i − v ^ T + i ∣ ∣ v T + i ∣ + ∣ v ^ T + i ∣ = 200 H ∑ i = 1 H ∣ y i − y ^ i ∣ ∣ y i ∣ + ∣ y ^ i ∣ sMAPE = \frac{200}{H} \sum^{H}_{i=1} \frac{ \vert v_{T+i} - \hat{v}_{T+i} \vert }{ \vert v_{T+i} \vert + \vert \hat{v}_{T+i} \vert } = \frac{200}{H} \sum^{H}_{i=1} \frac{ \vert y_{i} - \hat{y}_{i} \vert }{ \vert y_{i} \vert + \vert \hat{y}_{i} \vert } sMAPE=H200i=1HvT+i+v^T+ivT+iv^T+i=H200i=1Hyi+y^iyiy^i
平均绝对缩放误差(MASE):
M A S E = 1 H ∑ i = 1 H ∣ v T + i − v ^ T + i ∣ 1 T + H − m ∑ j = m + 1 T + H ∣ v j − v j − m ∣ MASE=\frac{1}{H}\sum^{H}_{i=1} \frac{ \vert v_{T+i} - \hat{v}_{T+i} \vert }{ \frac{1}{T+H-m} \sum^{T+H}_{j=m+1} \vert v_{j} - v_{j-m} \vert } MASE=H1i=1HT+Hm1j=m+1T+HvjvjmvT+iv^T+i
上式中的 m m m为数据的周期。
对于论文中用到的M4数据集,定义总体加权平均(OWA):
O W A = 1 2 [ s M A P E s M A P E n a i v e 2 + M A S E M A S E n a i v e 2 ] OWA=\frac{1}{2}\bigg[ \frac{sMAPE}{sMAPE_{naive2}} + \frac{MASE}{MASE_{naive2}} \bigg] OWA=21[sMAPEnaive2sMAPE+MASEnaive2MASE]

网络组成块

网络最小的组成单位是基本组成块,其结构如下所示:
在这里插入图片描述
输入信号KaTeX parse error: Expected group after '^' at position 21: …symbol{\hat{x}}^̲_l,其中的 l l l为组成块的索引值,首先进入第一个全连接层 F C 1 FC1 FC1,如下所示:
h l , 1 = R e L U ( W l , 1 x l + b l , 1 ) \boldsymbol{h}_{l,1}=ReLU( W^{l, 1} \boldsymbol{x}_{l} + \boldsymbol{b}^{l,1} ) hl,1=ReLU(Wl,1xl+bl,1)
接着进入第二层 F C 2 FC2 FC2,如下所示:
h l , 2 = R e L U ( W l , 2 h l , 1 + b l , 2 ) \boldsymbol{h}_{l,2}=ReLU( W^{l, 2} \boldsymbol{h}^{l,1} + \boldsymbol{b}^{l,2} ) hl,2=ReLU(Wl,2hl,1+bl,2)
接着进入第三层 F C 3 FC3 FC3,如下所示:
h l , 3 = R e L U ( W l , 3 h l , 2 + b l , 3 ) \boldsymbol{h}_{l,3}=ReLU( W^{l, 3} \boldsymbol{h}^{l,2} + \boldsymbol{b}^{l,3} ) hl,3=ReLU(Wl,3hl,2+bl,3)
接着进入第四层 F C 4 FC4 FC4,如下所示:
h l , 3 = R e L U ( W l , 3 h l , 2 + b l , 3 ) \boldsymbol{h}_{l,3}=ReLU( W^{l, 3} \boldsymbol{h}^{l,2} + \boldsymbol{b}^{l,3} ) hl,3=ReLU(Wl,3hl,2+bl,3)
在第四层之后,输出信号将分为两个分支,分别为前向预测 L i n e a r f Linear^{f} Linearf和后向预测 L i n e a r b Linear^{b} Linearb,我们分别来讨论。

前向预测

首先经过线性变换,如下所示:
θ f , l = W f , l h l , 4 \boldsymbol{ \theta }^{f,l} = W^{f,l} \boldsymbol{h}^{l,4} θf,l=Wf,lhl,4
在这里我们只采用全连接层来实现前向预测,在原始文章中,采用时序信号分析中的趋势和季节因素分析,并且将深度学习与其相结合,可以取得最好的效果,但是对于股市应用而言,趋势可以使用,季节因素就不太适用了,因此我们只采取深度学习方式。
接下来我们预测 T T T时间点到 T + H T+H T+H时间点的预测值:
y ^ l = G f , l θ f , l + g f , l \boldsymbol{\hat{y}}_{l} = G^{f,l} \boldsymbol{\theta}^{f,l} + g^{f,l} y^l=Gf,lθf,l+gf,l
其中 G f , l G^{f,l} Gf,l为连接权值矩阵, g f , l g^{f,l} gf,l为偏置值。

后向预测

首先经过线性变换,如下所示:
θ b , l = W b , l h l , 4 \boldsymbol{ \theta }^{b,l} = W^{b,l} \boldsymbol{h}^{l,4} θb,l=Wb,lhl,4
接着我们进行后向预测,这里我们也仅使用全连接层来实现:
x ^ l = G b , l θ b , l + g b , l \boldsymbol{\hat{x}}_{l} = G^{b,l} \boldsymbol{\theta}^{b,l} + g^{b,l} x^l=Gb,lθb,l+gb,l
我们可以将基本组合块组合起来形成栈,然后再将栈组合起来形成pipeline。关于这部分内容,将在下一篇博文中讲解。

这篇关于时间序列预测的Meta N-BEATS方法1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/269940

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

uva 10131 最长子序列

题意: 给大象的体重和智商,求体重按从大到小,智商从高到低的最长子序列,并输出路径。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vect

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

POJ1631最长单调递增子序列

最长单调递增子序列 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWriter;import java.math.BigInteger;import java.util.StringTokenizer;publ