Deep Learning for Time Series Forecasting: Predict the Future with MLPs, CNNs and LSTMs in Python

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Deep learning methods offer a lot of promise for time series forecasting, such as the automatic learning of temporal dependence and the automatic handling of temporal structures like trends and seasonality. In this new Ebook written in the friendly Machine Learning Mastery style that you’re used to, skip the math and jump straight to getting results. With clear explanations, standard Python libraries (Keras and TensorFlow 2), and step-by-step tutorial lessons you’ll discover how to develop deep learning models for your own time series forecasting projects.

Author(s): Jason Brownlee
Series: Machine Learning Mastery
Edition: 1.6
Publisher: Independently Published
Year: 2019

Language: English
Pages: 555

Copyright
Contents
Preface
I Introduction
II Foundations
Promise of Deep Learning for Time Series Forecasting
Time Series Forecasting
Multilayer Perceptrons for Time Series
Convolutional Neural Networks for Time Series
Recurrent Neural Networks for Time Series
Promise of Deep Learning
Extensions
Further Reading
Summary
Taxonomy of Time Series Forecasting Problems
Framework Overview
Inputs vs. Outputs
Endogenous vs. Exogenous
Regression vs. Classification
Unstructured vs. Structured
Univariate vs. Multivariate
Single-step vs. Multi-step
Static vs. Dynamic
Contiguous vs. Discontiguous
Framework Review
Extensions
Further Reading
Summary
How to Develop a Skillful Forecasting Model
The Situation
Process Overview
How to Use This Process
Step 1: Define Problem
Step 2: Design Test Harness
Step 3: Test Models
Step 4: Finalize Model
Extensions
Further Reading
Summary
How to Transform Time Series to a Supervised Learning Problem
Supervised Machine Learning
Sliding Window
Sliding Window With Multiple Variates
Sliding Window With Multiple Steps
Implementing Data Preparation
Extensions
Further Reading
Summary
Review of Simple and Classical Forecasting Methods
Simple Forecasting Methods
Autoregressive Methods
Exponential Smoothing Methods
Extensions
Further Reading
Summary
III Deep Learning Methods
How to Prepare Time Series Data for CNNs and LSTMs
Overview
Time Series to Supervised
3D Data Preparation Basics
Data Preparation Example
Extensions
Further Reading
Summary
How to Develop MLPs for Time Series Forecasting
Tutorial Overview
Univariate MLP Models
Multivariate MLP Models
Multi-step MLP Models
Multivariate Multi-step MLP Models
Extensions
Further Reading
Summary
How to Develop CNNs for Time Series Forecasting
Tutorial Overview
Univariate CNN Models
Multivariate CNN Models
Multi-step CNN Models
Multivariate Multi-step CNN Models
Extensions
Further Reading
Summary
How to Develop LSTMs for Time Series Forecasting
Tutorial Overview
Univariate LSTM Models
Multivariate LSTM Models
Multi-step LSTM Models
Multivariate Multi-step LSTM Models
Extensions
Further Reading
Summary
IV Univariate Forecasting
Review of Top Methods For Univariate Time Series Forecasting
Overview
Study Motivation
Time Series Datasets
Time Series Forecasting Methods
Data Preparation
One-step Forecasting Results
Multi-step Forecasting Results
Outcomes
Extensions
Further Reading
Summary
How to Develop Simple Methods for Univariate Forecasting
Tutorial Overview
Simple Forecasting Strategies
Develop a Grid Search Framework
Case Study 1: No Trend or Seasonality
Case Study 2: Trend
Case Study 3: Seasonality
Case Study 4: Trend and Seasonality
Extensions
Further Reading
Summary
How to Develop ETS Models for Univariate Forecasting
Tutorial Overview
Develop a Grid Search Framework
Case Study 1: No Trend or Seasonality
Case Study 2: Trend
Case Study 3: Seasonality
Case Study 4: Trend and Seasonality
Extensions
Further Reading
Summary
How to Develop SARIMA Models for Univariate Forecasting
Tutorial Overview
Develop a Grid Search Framework
Case Study 1: No Trend or Seasonality
Case Study 2: Trend
Case Study 3: Seasonality
Case Study 4: Trend and Seasonality
Extensions
Further Reading
Summary
How to Develop MLPs, CNNs and LSTMs for Univariate Forecasting
Tutorial Overview
Time Series Problem
Model Evaluation Test Harness
Multilayer Perceptron Model
Convolutional Neural Network Model
Recurrent Neural Network Models
Extensions
Further Reading
Summary
How to Grid Search Deep Learning Models for Univariate Forecasting
Tutorial Overview
Time Series Problem
Develop a Grid Search Framework
Multilayer Perceptron Model
Convolutional Neural Network Model
Long Short-Term Memory Network Model
Extensions
Further Reading
Summary
V Multi-step Forecasting
How to Load and Explore Household Energy Usage Data
Tutorial Overview
Household Power Consumption Dataset
Load Dataset
Patterns in Observations Over Time
Time Series Data Distributions
Ideas on Modeling
Extensions
Further Reading
Summary
How to Develop Naive Models for Multi-step Energy Usage Forecasting
Tutorial Overview
Problem Description
Load and Prepare Dataset
Model Evaluation
Develop Naive Forecast Models
Extensions
Further Reading
Summary
How to Develop ARIMA Models for Multi-step Energy Usage Forecasting
Tutorial Overview
Problem Description
Load and Prepare Dataset
Model Evaluation
Autocorrelation Analysis
Develop an Autoregressive Model
Extensions
Further Reading
Summary
How to Develop CNNs for Multi-step Energy Usage Forecasting
Tutorial Overview
Problem Description
Load and Prepare Dataset
Model Evaluation
CNNs for Multi-step Forecasting
Univariate CNN Model
Multi-channel CNN Model
Multi-headed CNN Model
Extensions
Further Reading
Summary
How to Develop LSTMs for Multi-step Energy Usage Forecasting
Tutorial Overview
Problem Description
Load and Prepare Dataset
Model Evaluation
LSTMs for Multi-step Forecasting
Univariate Input and Vector Output
Encoder-Decoder LSTM With Univariate Input
Encoder-Decoder LSTM With Multivariate Input
CNN-LSTM Encoder-Decoder With Univariate Input
ConvLSTM Encoder-Decoder With Univariate Input
Extensions
Further Reading
Summary
VI Time Series Classification
Review of Deep Learning Models for Human Activity Recognition
Overview
Human Activity Recognition
Benefits of Neural Network Modeling
Supervised Learning Data Representation
Convolutional Neural Network Models
Recurrent Neural Network Models
Extensions
Further Reading
Summary
How to Load and Explore Human Activity Data
Tutorial Overview
Activity Recognition Using Smartphones Dataset
Download the Dataset
Load the Dataset
Balance of Activity Classes
Plot Time Series Per Subject
Plot Distribution Per Subject
Plot Distribution Per Activity
Plot Distribution of Activity Duration
Approach to Modeling
Model Evaluation
Extensions
Further Reading
Summary
How to Develop ML Models for Human Activity Recognition
Tutorial Overview
Activity Recognition Using Smartphones Dataset
Modeling Feature Engineered Data
Modeling Raw Data
Extensions
Further Reading
Summary
How to Develop CNNs for Human Activity Recognition
Tutorial Overview
Activity Recognition Using Smartphones Dataset
CNN for Activity Recognition
Tuned CNN Model
Multi-headed CNN Model
Extensions
Further Reading
Summary
How to Develop LSTMs for Human Activity Recognition
Tutorial Overview
Activity Recognition Using Smartphones Dataset
LSTM Model
CNN-LSTM Model
ConvLSTM Model
Extensions
Further Reading
Summary
VII Appendix
Getting Help
Applied Time Series
Official Keras Destinations
Where to Get Help with Keras
Time Series Datasets
How to Ask Questions
Contact the Author
How to Setup a Workstation for Python
Overview
Download Anaconda
Install Anaconda
Start and Update Anaconda
Install Deep Learning Libraries
Further Reading
Summary
VIII Conclusions
How Far You Have Come