时间序列预测-深度学习方法
一、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
时间序列相关工具、模型、数据集汇总。
时间序列预测-深度学习方法相关推荐
- 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。...
补充:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-15-276 如果用arima的话,还不如使用随机森 ...
- 图神经网络时间序列预测,时间序列神经网络预测
有哪些深度神经网络模型 目前经常使用的深度神经网络模型主要有卷积神经网络(CNN).递归神经网络(RNN).深信度网络(DBN).深度自动编码器(AutoEncoder)和生成对抗网络(GAN)等. ...
- 做时间序列预测有必要用深度学习吗?事实证明,梯度提升回归树媲美甚至超越多个DNN模型...
来源:机器之心 本文约2600字,建议阅读9分钟 在时间序列预测任务上,你不妨试试简单的机器学习方法. 在深度学习方法应用广泛的今天,所有领域是不是非它不可呢?其实未必,在时间序列预测任务上,简单的机 ...
- 做时间序列预测没必要深度学习!GBDT性能超DNN
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 在深度学习方法应用广泛的今天,所有领域是不是非它不可呢?其实未必,在时 ...
- 做时间序列预测有必要用深度学习吗?梯度提升回归树媲美甚至超越多个DNN模型...
©作者 | 杜伟.陈萍 来源 | 机器之心 在深度学习方法应用广泛的今天,所有领域是不是非它不可呢?其实未必,在时间序列预测任务上,简单的机器学习方法能够媲美甚至超越很多 DNN 模型. 过去几年,时 ...
- 深度学习方法在负荷预测中的应用综述(论文阅读)
前言 本篇论文主要介绍了当下用于智能电网电力负荷预测的多种DL方法,并对它们的效果进行了比较.对于RMSE的降低效果上,集成DBN和SVM的方法RMSE降低显著,达到了21.2%.此外,PDRNN ...
- 5个时间序列预测的深度学习模型对比总结:从模拟统计模型到可以预训练的无监督模型
时间序列预测在最近两年内发生了巨大的变化,尤其是在kaiming的MAE出现以后,现在时间序列的模型也可以用类似MAE的方法进行无监督的预训练 Makridakis M-Competitions系列( ...
- iMeta:哈佛刘洋彧等基于物种组合预测菌群结构的深度学习方法(全文翻译,PPT,中英视频)...
通过深度学习从物种组合中预测微生物组成 Predicting microbiome compositions from species assemblages through deep learnin ...
- 基于深度学习的时间序列预测
# 技术黑板报 # 第十一期 推荐阅读时长:15min 前言 时间序列建模历来是学术和工业界的关键领域,比如用于气候建模.生物科学和医学等主题应用,零售业的商业决策和金融等.虽然传统的统计方法侧重于从 ...
最新文章
- SCCM部署操作系统失败:MP has rejected a request
- 小tips:JS严格模式(use strict)下不能使用arguments.callee的替代方案
- linux mount挂载文件夹设置权限
- vsphere通用配置_Mac环境下如何用Hexo+Github搭建个人博客
- php flink,plus/flink.php · 辉辉菜/三强源码 - Gitee.com
- 配置DATAGUARD 时关于 LOG_FILE_NAME_CONVERT配置错误的解决
- loss function
- linux文件句柄数
- java 双向链表_数据结构-链表、栈和队列
- 抖音大数据,教你爬爬爬!
- android ipad 免费思维导图软件,推荐一款 iPad 能用的思维导图软件
- 全网优惠券、红包获取api
- linux分区拓展容量,Linux系统分区容量扩充的方法
- 计算机常用算法程序设计案例教程,计算机常用算法与程序设计案例教程
- python通达信自动交易_【其他】通达信程序化交易新发现,通达信dll下单
- JavaScript实现的躲避球小游戏
- 高手速成android开源项目[View篇]
- 红日安全attck靶场7 内网靶场 WP
- CentOS: Kernel panic - not syncing: Fatal exception
- 3D视觉之深度相机方案
热门文章
- 智能小区 安防技术详解及安防隐患杂谈
- 【opencv四】利用opencv读取显示视频
- 4.13 使用扇贝工具制作猥琐的老鼠 [Illustrator CC教程]
- 智华计算机终端无法卸载,智华天成V1.0计算机终端保密检查系统软件 国密装备目录**...
- 多态的概念,特点和优缺点
- 创建型模式——原型模型(Prototype Pattern)
- MapReduce系列之MapReduce的输出
- 我最爱用的一款 Redis 可视化管理工具——Another Redis Desktop Manager
- 迁移学习 MMD距离
- T3备份提示原先格式化该文件时所用扇区大小为512