一、LSTM

class LSTM(nn.Module):def __init__(self, input_size=1, hidden_layer_size=100, output_size=1):super().__init__()self.hidden_layer_size = hidden_layer_sizeself.lstm = nn.LSTM(input_size, hidden_layer_size)self.linear = nn.Linear(hidden_layer_size, output_size)self.hidden_cell = (torch.zeros(1,1,self.hidden_layer_size),torch.zeros(1,1,self.hidden_layer_size)) # (num_layers * num_directions, batch_size, hidden_size)def forward(self, input_seq):lstm_out, self.hidden_cell = self.lstm(input_seq.view(len(input_seq) ,1, -1), self.hidden_cell)predictions = self.linear(lstm_out.view(len(input_seq), -1))return predictions[-1]

细节问题:

二、Transformer

transformer-time-series-prediction时序预测代码

三、Informer

大名鼎鼎的Informer,AAAI 2021 Best Paper提出的模型,是对Transformer的改进。

首先介绍一个新任务,LSTF(Long Sequence Time-Series Forecasting),即长序列预测任务。刚刚我们提到的LSTM模型,往往以滑动窗口(或动态解码)的形式做长序列预测,随着时间步的增长,预测误差会逐渐放大。



Informer2020原作者代码

args.seq_len = 48 # input sequence length of Informer encoder
args.label_len = 24 # start token length of Informer decoder
args.pred_len = 24 # prediction sequence length

代码中的以上参数配置表示:1~48时间步为encoder输入,25~72时间步为decoder输入(其中49~72时间步被置为0),25~72时间步为decoder输出。可以结合着下图来理解。

另一个容易混淆的参数是timeenc。timeenc = 0 if args.embed!=‘timeF’ else 1,如果timeenc为1,将考虑更多可能的周期信息。

四、一些重要的库

以下是一些学习过程中接触到的、关于时序任务的开源库的整理。

https://github.com/linkedin/luminol

luminol支持两大功能:时序异常检测、两条时间序列的相关性计算。

GitHub - jdb78/pytorch-forecasting: Time series forecasting with PyTorch

pytorch-forecasting是一个基于pytorch的时序预测库,内嵌了一系列模型,如LSTM、DeepAR、Transformer、N-BEATS等。

Anomaly Detection Toolkit (ADTK)

adtk提供了通过三大组件,提供基本的异常检测算法(Detector)、异常特征加工(Transformer)、处理流程控制(Aggregator)等功能。注意这里真的只是基本算法,例如在异常检测中,通过阈值/分位数/滑动窗口/自回归等方式判断异常,没有高级的检测模型。

https://github.com/alexminnaar/time-series-classification-and-clustering

https://github.com/FilippoMB/Time-series-classification-and-clustering-with-Reservoir-Computing

GitHub - wannesm/dtaidistance: Time series distances: Dynamic Time Warping (DTW)

tslearn’s documentation - tslearn 0.5.1.0 documentation

以上几个项目与时间序列聚类任务相关。

GitHub - MaxBenChrist/awesome_time_series_in_python: This curated list contains python packages for time series analysis

时间序列相关工具、模型、数据集汇总。

时间序列预测-深度学习方法相关推荐

  1. 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。...

    补充:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-15-276 如果用arima的话,还不如使用随机森 ...

  2. 图神经网络时间序列预测,时间序列神经网络预测

    有哪些深度神经网络模型 目前经常使用的深度神经网络模型主要有卷积神经网络(CNN).递归神经网络(RNN).深信度网络(DBN).深度自动编码器(AutoEncoder)和生成对抗网络(GAN)等. ...

  3. 做时间序列预测有必要用深度学习吗?事实证明,梯度提升回归树媲美甚至超越多个DNN模型...

    来源:机器之心 本文约2600字,建议阅读9分钟 在时间序列预测任务上,你不妨试试简单的机器学习方法. 在深度学习方法应用广泛的今天,所有领域是不是非它不可呢?其实未必,在时间序列预测任务上,简单的机 ...

  4. 做时间序列预测没必要深度学习!GBDT性能超DNN

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 在深度学习方法应用广泛的今天,所有领域是不是非它不可呢?其实未必,在时 ...

  5. 做时间序列预测有必要用深度学习吗?梯度提升回归树媲美甚至超越多个DNN模型...

    ©作者 | 杜伟.陈萍 来源 | 机器之心 在深度学习方法应用广泛的今天,所有领域是不是非它不可呢?其实未必,在时间序列预测任务上,简单的机器学习方法能够媲美甚至超越很多 DNN 模型. 过去几年,时 ...

  6. 深度学习方法在负荷预测中的应用综述(论文阅读)

    前言   本篇论文主要介绍了当下用于智能电网电力负荷预测的多种DL方法,并对它们的效果进行了比较.对于RMSE的降低效果上,集成DBN和SVM的方法RMSE降低显著,达到了21.2%.此外,PDRNN ...

  7. 5个时间序列预测的深度学习模型对比总结:从模拟统计模型到可以预训练的无监督模型

    时间序列预测在最近两年内发生了巨大的变化,尤其是在kaiming的MAE出现以后,现在时间序列的模型也可以用类似MAE的方法进行无监督的预训练 Makridakis M-Competitions系列( ...

  8. iMeta:哈佛刘洋彧等基于物种组合预测菌群结构的深度学习方法(全文翻译,PPT,中英视频)...

    通过深度学习从物种组合中预测微生物组成 Predicting microbiome compositions from species assemblages through deep learnin ...

  9. 基于深度学习的时间序列预测

    # 技术黑板报 # 第十一期 推荐阅读时长:15min 前言 时间序列建模历来是学术和工业界的关键领域,比如用于气候建模.生物科学和医学等主题应用,零售业的商业决策和金融等.虽然传统的统计方法侧重于从 ...

最新文章

  1. 昨天下午面了个哥们,也就问了4个问题,但好像他被我虐了
  2. 2019 AI Index 报告出炉:AI 领域取得的进展很多,但结果忧喜参半
  3. html5模拟keyup事件
  4. HDU1151 Air Raid
  5. JQuery方式执行ajax请求
  6. 网络仿真中数据生成相关
  7. 实现字符串的编码转换,用以解决字符串乱码问题
  8. l380废墨收集垫已到使用寿命_湖北雨水收集系统定制
  9. “不融资,不上市”的帆软为何上榜福布斯2021 Cloud 100强?
  10. flask创建mysql表_Flask-SQLAlchemy 无法创建数据库???
  11. 内存中的fas和lsp
  12. 谈谈 js判断数组 那点事
  13. 软件设计师教程-倪奕文-专题视频课程
  14. 修复计算机u盘,u盘损坏怎么修复 u盘损坏修复方法
  15. 那个“天使”阿桑奇又回来了
  16. arduino烧写失败,给Arduino烧录引导程序,出现以下错误,到底是什么原因导致的。知道的高手请帮忙...
  17. Marshal Lion扩大到中国
  18. 【白板推导系列笔记】数学基础-概率-高斯分布-求联合概率分布
  19. 手机如何测光照度_如何3分钟学会用手机的专业模式拍照?
  20. 【绘制】HTML5 Canvas坐标变换——坐标系的平移(translate)、缩放(scale)、旋转(rotate)、镜像。(图文、代码)

热门文章

  1. LINUX中的七种文件类型
  2. 用python刷微信投票_Python——开发一个自动化微信投票器【附代码实例方法】
  3. Unity多选题功能开发
  4. 用 IAR C/C++ For ARM 编写嵌入式应用的启动细节
  5. 2021 csp-s
  6. Linux RPM包安装、卸载和升级(rpm命令)详解
  7. oracle空的显示成减号,qdrzq
  8. 城市集中供热系统 热力管网监控系统
  9. 泡泡机市场前景分析及行业研究报告
  10. Jmeter--基础使用