📗
TimeSeriesAnalysis101
  • 时间序列分析101:序言
  • 1. 概述
  • 2. 准备和处理时间序列数据
    • 2.1 准备数据集
    • 2.2 寻找时间轴
    • 2.3 时间序列可能遇到的问题
    • 2.4 清洗数据
      • 2.4.1 缺失值处理
      • 2.4.2 改变数据集时间频率
      • 2.4.3 平滑数据
  • 3. 探索式分析(EDA)
    • 3.1 针对时间序列的特殊方法
      • 3.1.1 理解平稳性
      • 3.1.2 寻找自相关
      • 3.1.3 虚假相关性
    • 3.2 常用的可视化图表
      • 3.2.1 1D可视化
      • 3.2.2 2D可视化
  • 4. 基于统计学的时间序列分析方法
    • 4.1 自回归模型(Autoregressive)
    • 4.2 移动平均模型(Moving Average)
    • 4.3 差分整合移动平均自回归模型(Autoregressive Integrated Moving Average)
    • 4.4 向量自回归模型(Vector Autoregression)
    • 4.5 基于统计学方法的优势与劣势
  • 5. 特征生成和特征选择
    • 5.1 特征工程的考虑
    • 5.2 常用的特征清单
    • 5.3 自动特征生成与选择
  • 6. 基于机器学习的时间序列分析方法
    • 6.1 时间序列分类问题
    • 6.2 时间序列聚类问题
  • 7. 基于深度学习的时间序列分析方法
    • 7.1 LSTM长短期记忆网络
      • 7.1.1 使用Pytorch搭建
      • 7.1.2 使用Darts调用
    • 7.2 CNN卷积神经网络
  • 8. 模型评估和性能考虑
    • 8.1 模型评估的考虑
    • 8.2 计算效率的考虑
Powered by GitBook
On this page

Was this helpful?

  1. 7. 基于深度学习的时间序列分析方法

7.1 LSTM长短期记忆网络

Previous7. 基于深度学习的时间序列分析方法Next7.1.1 使用Pytorch搭建

Last updated 3 years ago

Was this helpful?

LSTM是RNN(循环神经网络)的衍生,LSTM的提出是为了解决RNN无法适用于长序列的不足,梯度消失或梯度爆炸的现象会导致RNN应用于长时间序列上无法收敛。

LSTM的改进是在RNN的基础上修改了重复单元部分,下图是LSTM的网络结构,每个重复单元都由多个门共同控制,从左至右分别是

  • forget gate layer,决定哪些信息要选择性遗忘

  • input gate layer,决定要更新哪些信息

  • tanh layer,决定要如何更新信息

  • output layer,决定如何输入信息

关于LSTM更详细的介绍,可以参考这篇文章,将概念讲的很清楚。

下面直接进入代码实战部分,LSTM的实现会包括两种方式,使用pytorch搭建(需要自己构建神经网络结构,灵活性强,但同时要写更多代码量)和使用第三方库实现(直接调包,代码量少,虽然Darts包已经将LSTM封装好可以直接使用,但仍然建议使用者对LSTM的原理有一定了解后再尝试,否则不知道怎么调参)

http://colah.github.io/posts/2015-08-Understanding-LSTMs/