DeepAR:Probabilistic forecasting with autoregressive recurrent network
DeepAR:Probabilistic forecasting with autoregressive recurrent network
一般的时间序列预测方法是做点预测,即预测未来某个时间点的具体值。但对于一些具体业务比如预测销量来说预测一个概率区间更加易于决策。DeepAR是一个做概率预测的方法,同时也可以做点预测。
首先简单介绍一下时间序列和常见的处理方法
一、方法介绍
DeepAR是一个基于自回归循环神经网络的预测方法,可以用于概率预测。通过在大量相关的时间序列的历史数据上学习一个全局的模型。
特点
- 全局的模型
- 概率预测(也可以做点预测),为每个时间步上做一个概率分布,模型的训练目标是得到一个联合的条件概率分布。即对于一个给定的时间序列预测未来T个时间步的值
- 在大量相关的时间序列上做联合训练,不仅可以提升模型的预测准确度,同时还可以解决冷启动问题。即对于那些没有出现在训练数据集中的数据,也可以通过类似的时间序列做预测
- 可以学习到周期性,季节性,变化趋势等特性
模型
模型的结构是典型的RNN,论文通过LSTM实现的。我们记Zi.t是时间序列i在t时刻的观测值,Xi.t是t时刻的协变量。协变量指的是对结果又影响但是不是自变量,不为实验人员操控的变量。
在训练时,模型每时刻的输入时上一时刻的观测值Zi,t-1,当前时刻的协变量Xi,t以及上一时刻的隐藏状态ht-1,通过计算得到当前的额状态ht。在通过ht计算一个概率分布。其中记t0时刻之前的观察值是已知的,t>to的值是未知的,要预测的。但在训练时是直接输入,对预测阶段可见即该方法是监督学习方法。
在预测阶段,对于t>to部分的值是位置的,要预测的值。故每时刻的输入值Z是上一时刻得到的概率分布的随机采样。
具体解释训练过程如下,模型通过固定长度的窗口在时间序列上采样图上图红线,绿线左边代表训练数据,右边是预测数据集。红线左边是训练阶段的训练部分即观察值z已知的部分类似于encoder,红线右边是训练阶段预测部分记做decoder。模型在训练时要求输入的观察值z要对encoder和decoder都已知。窗口通过在原始时间序列上滑动选择训练数据,其中窗口的起始位置可以先与原始时间序列,只要保证decoder部分的输入值z已知即可。
训练
模型的训练目标是得到联合条件概率分布,
其中似然函数P(Z|θ)需要根据输入数据的统计特性选择,比如高斯,负二项分布等
训练过程通过最大化log-likelihood得到参数θ
问题分析
- 由于模型通过联合训练多个相关的时间序列,而时间序列会有数据分布不均匀和量级差异。数据样本的不均衡导致不同时间序列对于模型的程度不同。比如销量比较大的商品往往占少数,比如商品A每天销售100个,商品B销售10000个,两种商品共同训练时,A的信息会被忽略掉,但A时间序列中隐含的信息是有价值的,数百个销售信息仍然能够反映季节性和趋势性的变化。直接将这样的数据用于训练的话会造成对时间序列的拟合不足。因此需要对数据进行不均匀采样,将数据规模小的信息也考虑在内。
2. 各个时间序列的量级同样存在差异,同样的量纲有的数据值较大,而其他时间序列的数据较小,并且在实际中还存在量值分布的严重偏斜。因此需要对输入网络的数据转换到适当的范围内,输出时在转化回来。对于不同的数据会存在不同的缩放因子,本文用观测值得历史均值作为缩放因子.
DeepAR:Probabilistic forecasting with autoregressive recurrent network相关推荐
- paper:DeepAR: Probabilistic forecasting with autoregressive recurrent networks DeepAR模型
Deepar Deepar与普通的时序预测模型最大的不同就在于,其预测输出的是一个概率分布,而不是一个单一的值,其假设输出是一个高斯分布 理论讲解 其也是一个encoder-decoder模型,其中e ...
- Time Series Forecasting Using GRU Neural Network with Multi-lag After Decomposition
Time Series Forecasting Using GRU Neural Network with Multi-lag After Decomposition 文章目录 Abstract 1 ...
- DSRN——Image Super-Resolution via Dual-State Recurrent Network
Image Super-Resolution via Dual-State Recurrent Network CVPR(2018) 代码网址:https://github.com/WeiHan3/d ...
- DPCRN: Dual-Path Convolution Recurrent Network for Single Channel Speech Enhancement---论文翻译
DPCRN:用于单通道语音增强的双路径卷积递归网络 Xiaohuai Le1;2;3, Hongsheng Chen1;2;3, Kai Chen1;2;3, Jing Lu1;2;31Key Lab ...
- 【层级多标签文本分类】Hierarchical Multi-label Text Classification: An Attention-based Recurrent Network Approa
Hierarchical Multi-label Text Classification: An Attention-based Recurrent Network Approach 1.背景 1.作 ...
- Dynamic Graph Convolutional Recurrent Network for Traffic Prediction Benchmark and Solution
Dynamic Graph Convolutional Recurrent Network for Traffic Prediction: Benchmark and Solution 1. 文章概述 ...
- 《Synchronous Double-channel Recurrent Network for Aspect-Opinion Pair Extraction》阅读笔记
Synchronous Double-channel Recurrent Network for Aspect-Opinion Pair Extraction阅读笔记 1.摘要 探索aspect op ...
- 《Synchronous Double-channel Recurrent Network for Aspect-Opinion Pair Extraction》论文笔记
一.摘要 过往的方面级情感分析抽取任务中,往往只会抽取aspect and/or opinions,忽略了它们之间的关系. 本文提出的任务是 Aspect-Opinion Pair Extractio ...
- 论文翻译:2020_DCCRN: Deep Complex Convolution Recurrent Network for Phase-Aware Speech Enhancement...
论文地址:DCCRN:用于相位感知语音增强的深度复杂卷积循环网络 论文代码:https://paperswithcode.com/paper/dccrn-deep-complex-convolutio ...
最新文章
- R语言match函数对象之间的匹配实战
- Spring MVC_HandlerInterceptorAdapter的使用
- Numpy:利用Numpy库建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal
- django 上传文件夹_django上传文件
- python--从入门到实践--chapter 10 文件及错误
- 合并工具_你值得拥有这个PDF合并工具 免费获取转换方法
- Android怎样实现毛玻璃效果之Android高级模糊技术
- Spring Boot 面试,一个问题就干趴下了!(下)
- 精简版NovoNotes 3DX for Mac - 顶尖3D音频制作插件
- 一步步学习SPD2010--第十二章节--理解可用性和可接入性(5)--测试可用性
- 最新SCI影响因子发布!Nature屠榜,AI领域Top 1000期刊盘点
- 小红书用户画像分析_用户画像,该怎么分析?
- 每个程序员书柜必有的编程书籍
- 为什么我的单片机不是“跑车”而是“牛车”,过来人告诉你。
- 电脑上录屏的软件有哪些,屏幕录制软件哪个好用
- 深度学习车辆检测实现自动驾驶
- instandceof
- 华为手机日历倒计时_万物皆可盲盒,0元抽华为手机 #茂业盛典倒计时5天#
- 5分钟学会Cron表达式
- 在VS平台下使用JAI_SDK库1———— 配置工程包含路径
热门文章
- 这两所985大学,共享同一位校长!校方:属实
- Rmd输出pdf报错
- 【vue-router源码】十二、useRoute、useRouter、useLink源码分析
- 不同分布所表示的物理含义
- 浅析企业网络准入控制系统的部署方式
- 2020.08.20_Task1_基于逻辑斯特模型,实现分类预测
- vue watch监听数据解决新旧值一样的问题(newValue, oldValue)
- ffmpeg 添加 sei 编码信息和解析
- 鸭子精进城 856
- 【C++FunCode】基于Funcode使用C++语言编写小游戏(小鲨鱼历险记)