# DeepLearningForTimeSeriesForecasting
**Repository Path**: triobox/DeepLearningForTimeSeriesForecasting
## Basic Information
- **Project Name**: DeepLearningForTimeSeriesForecasting
- **Description**: A tutorial demonstrating how to implement deep learning models for time series forecasting
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2021-06-05
- **Last Updated**: 2021-09-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Deep Learning for Time Series Forecasting
A collection of examples for using DNNs for time series forecasting with Keras. The examples include:
- **0_data_setup.ipynb** - set up data that are needed for the experiments
- **1_CNN_dilated.ipynb** - dilated convolutional neural network model that predicts one step ahead with univariate time series
- **2_RNN.ipynb** - recurrent neural network model that predicts one step ahead with univariate time series
- **3_RNN_encoder_decoder.ipynb** - a simple recurrent neural network encoder-decoder approach to multi-step forecasting
- **4_ES_RNN.ipynb** - a simplified exponential smoothing recurrent neural network model that predicts one step ahead with univariate time series
... and a number of hands-on exercises and demos.
## Data
The data in all examples is from the GEFCom2014 energy forecasting competition1. It consists of 3 years of hourly electricity load data from the New England ISO and also includes hourly temperature data. Before running the notebooks, download the data from [https://www.dropbox.com/s/pqenrr2mcvl0hk9/GEFCom2014.zip?dl=0](https://www.dropbox.com/s/pqenrr2mcvl0hk9/GEFCom2014.zip?dl=0) and save it in the *data* folder.
1Tao Hong, Pierre Pinson, Shu Fan, Hamidreza Zareipour, Alberto Troccoli and Rob J. Hyndman, "Probabilistic energy forecasting: Global Energy Forecasting Competition 2014 and beyond", International Journal of Forecasting, vol.32, no.3, pp 896-913, July-September, 2016.
## Prerequisites
- Know the basics of Python
- Know the basics of neural networks
- Understand the basic concepts of machine learning and have some experience in building machine learning models
- Go through the following setup instructions to run notebooks on Azure Notebooks environment
*Note: If you want to run the notebook in other environment, please check 'Requirements.txt' for a list of packages that you need to install.*
### Azure Notebooks Setup (1 Minute)
Microsoft Azure Notebooks is a free service that provides Jupyter Notebooks in cloud and has a support for R, Python and F#. We will use Microsoft Azure Notebook for this tutorial. Here are quick 3 steps to set it up:
1. Go to Azure Notebook page https://notebooks.azure.com/ and click '***Sign In***' on the top right.
2. Use your Microsoft account to sign in. If you don't have a personal Microsoft account, you can click '***Create one***' with any email address you have for free. (*Note: You can use your personal Microsoft account. If you use your organizational account, you will need to go through the login process by your organization.*)
3. If this is the first time you use Azure Notebook, you will need to create a user ID and click '***Save***'. Now you are all set!
### Tutorial Code and Data Setup (5 - 10 Minutes)
The following steps will guide you to setup code and data in your Azure Notebook environment for the tutorial.
1. Once you are logged into Azure Notebooks, go to '***My Projects***' on the top left, and then click '***Upload GitHub Repo***'.
2. In the pop out window, for '***GitHub repository***' type in: '***Azure/DeepLearningForTimeSeriesForecasting***'. Select '***Clone recursively***'. Then type in any name you prefer for '***Project Name***' and '***Project ID***'. Once you have filled all boxes, click '***Import***'. Please wait till you see a list of files cloned from git repository to your project.
3. Open the notebook '***0_data_setup.ipynb***'. Make sure you see '***Python 3.6***' kernel on the top right. If not, you can select '***Kernel***', then '***Change kernel***' to make changes.
4. Run each cell in the notebook by click '***Run***' on top. If you prefer to run all the cells together, click '***Cell***' and select '***Run All***'. This notebook will download a sample dataset to your environment and visualize the data. Please wait and make sure you can see all the visualizations.
Now you are all set! (*Note: If you see errors return from the first code cell, it is very likely that the environment preparation is not finished yet. Please wait for 2 minutes and then go to '***Kernel***', choose '***Restart and Clear Output***' and rerun the cells.*)