长短期记忆循环神经网络等几乎可以完美地模拟多个输入变量的问题,这为时间序列预测带来极大益处。本文介绍了如何在 Keras 深度学习库中搭建用于多变量时间序列预测的 LSTM 模型。
诸如长短期记忆(LSTM)循环神经网络的神经神经网络几乎可以无缝建模具备多个输入变量的问题。
这为时间序列预测带来极大益处,因为经典线性方法难以适应多变量或多输入预测问题。
通过本教程,你将学会如何在 Keras 深度学习库中搭建用于多变量时间序列预测的 LSTM 模型。
完成本教程后,你将学会:
- 如何将原始数据集转换成适用于时间序列预测的数据集
- 如何处理数据并使其适应用于多变量时间序列预测问题的 LSTM 模型。
- 如何做出预测并将结果重新调整到初始单元。
我们开始吧!
教程概述
本教程分为三大部分,分别是:
- 空气污染预测
- 准备基本数据
- 搭建多变量 LSTM 预测模型
Python 环境
- 本教程假设你配置了 Python SciPy 环境,Python 2/3 皆可。
- 你还需要使用 TensorFlow 或 Theano 后端安装 Keras(2.0 或更高版本)。
- 本教程还假定你已经安装了 scikit-learn、Pandas、NumPy 和 Matplotlib。
空气污染预测
本教程将使用空气质量数据集。这是美国驻北京大使馆记录了五年的数据集,其按小时报告天气和污染水平。
此数据包括日期、PM2.5 浓度,以及天气信息,包括露点、温度、气压、风向、风速和降水时长。原始数据中的完整特征列表如下:
- NO:行号
- year: 年份
- month: 月份
- day: 日
- hour: 时
- pm2.5: PM2.5 浓度
- DEWP: 露点
- TEMP: 温度
- PRES: 气压
- cbwd: 组合风向
- Iws: 累计风速
- s: 累积降雪时间
- Ir: 累积降雨时间
我们可以使用这些数据并构建一个预测问题,我们根据过去几个小时的天气条件和污染状况预测下一个小时的污染状况。此数据集亦可用于构建其他预测问题。
您可以从 UCI 机器学习库中下载此数据集。
下载数据集并将其命名为「raw.csv」,放置到当前工作目录。