Time series prediction using deep neural networks

Course specifications​​​​​​​

​​​​​​​Duration: 14 hours
​​​​​​​Number of sessions: 7 sessions (two hours per session)
​​​​​​​Class schedule: Saturday & Sunday​​​​​​​
How to participate in the class: Classes will be held online
Course tuition: The course fee is 300 USD. There is no charge for pre-registration. The course tuition is charged upon final registration.
Programming language: Python programming language is used in this course.
Instructor: Dr. Mahdi Shadabfar

If you have any queries regarding this course, please visit our "Contact Us" page.

Course description

Phenomena occurring around us are generally influenced by time. When these phenomena are measured at specific intervals, they form a sequence of data known as a time series. Predicting future values and processing time series data is a complex task in data mining, with applications spanning mathematics, statistics, economics, and engineering.
This training course focuses on the practical implementation of deep learning methods for time series forecasting. It begins by explaining how to import and preprocess time series data in a Python environment. The course then progresses to defining the problem as a supervised learning model and explores five essential deep learning algorithms: Multilayer Perceptron (MLP) Neural Networks, Convolutional Neural Networks (CNN), Recurrent Neural Networks (RNN), GRU Neural Networks, and LSTM Neural Networks. Throughout the course, each concept is thoroughly explained, starting from the basics, and accompanied by step-by-step Python implementations. This course is designed to benefit students and researchers involved in time series prediction, as well as those interested in artificial intelligence and deep learning algorithms.

Course Introduction by the Instructor​​​​​​​

Course content

Session 1: Understanding time series and their processing techniques

1.1. Different types of time series
     1.1.1. Univariate time series
     1.1.2. Multivariate time series
1.2. Different types of time series prediction
     1.2.1. Prediction of univariate time series for a single time step ahead
     1.2.2. Prediction of univariate time series with multiple time steps ahead
     1.2.3. Prediction of single-objective multivariate time series with single time step ahead
     1.2.4. Prediction of single-objective multivariate time series with multiple time steps ahead
     1.2.5. Prediction of multivariate multi-objective time series with single time step ahead
     1.2.6. Forecasting multivariate multi-objective time series with multiple time steps ahead
1.3. Introducing an example with univariate time series
     1.3.1. Overview of example data
     1.3.2. Importing data into the Python environment
     1.3.3. Data preprocessing
     1.3.4. Plotting time series
1.4. Philosophy used in time series prediction
     1.4.1. The concept of time lag
     1.4.2. Estimation of the appropriate time lag using the stattools package
     1.4.3. Transforming time series forecasting into a supervised learning problem

​Session 2: Univariate time series prediction using multilayer perceptron (MLP) neural networks

2.1. Data preprocessing
     2.1.1. Splitting the data into training and testing categories
     2.1.2. Data normalization
2.2. Univariate time series prediction with single time step using MLP neural networks
     2.2.1. Implementation of MLP neural network architecture in Python environment
     2.2.2. Training MLP neural network
     2.2.3. Evaluating the accuracy of the trained neural network
     2.2.4. Predicting the next time step using the trained neural network
2.3. Univariate time series prediction with multiple time steps using MLP neural networks
     2.3.1. Addressing corrections for multivariate time series forecasting with MLP neural networks
     2.3.2. Modifying neural networks for multivariate time series prediction with multiple time steps
     2.3.3. Training MLP neural networks with preprocessed data
     2.3.4. Evaluating the accuracy of the trained MLP neural network
     2.3.5. Multi-step time series prediction using the trained MLP neural network

Session 3: Univariate time series prediction using deep neural networks (GRU, RNN, and LSTM)

3.1. Univariate time series prediction with a single time step using RNN deep neural networks
     3.1.1. Adding a third dimension to the data
     3.1.2. Implementing RNN deep neural network architecture in a Python environment
     3.1.3. Training the neural network with processed data
     3.1.4. Assessing the accuracy of the trained neural network
     3.1.5. Univariate time series prediction with a single time step
3.2. Univariate time series prediction with a single time step using GRU deep neural networks
     3.2.1. Implementing GRU deep neural network architecture in a Python environment
     3.2.2. Training the neural network with processed data
     3.2.3. Assessing the accuracy of the trained neural network
     3.2.4. Univariate time series prediction with a single time step
3.3. Univariate time series prediction with a single time step using LSTM deep neural networks
     3.3.1. Implementing LSTM deep neural network architecture in a Python environment
     3.3.2. Training the neural network with processed data
     3.3.3. Assessing the accuracy of the trained neural network
     3.3.4. Univariate time series prediction with a single time step
3.4. Univariate time series prediction with multiple time steps using GRU, RNN, and LSTM deep neural networks
     3.4.1. Analyzing the differences between univariate time series prediction with single and multiple time steps
     3.4.2. Univariate time series prediction with multiple time steps using RNN neural network
     3.4.3. Univariate time series prediction with multiple time steps using GRU neural network
     3.4.4. Univariate time series prediction with multiple time steps using LSTM neural network
 ​​​​​​​

Session 4: Univariate time series prediction using deep convolutional neural networks (CNN)

4.1. Converting a time series into a contour plot
4.2. Introduction to convolutional neural networks for image processing
     4.2.1. Introduction to the structure of convolutional neural networks
     4.2.2. Introduction to convolutional layers
     4.2.3. Introduction to pooling layers
4.3. Preparation of convolutional neural networks for time series processing
4.4. Implementing convolutional neural networks for univariate time series prediction
4.5. Comparing prediction results with other deep neural networks

Session 5: Single-objective multivariate time series prediction

5.1. Introduction to large-scale time series and importing into Python programming environment
5.2. Data preprocessing
     5.2.1. Detection and correction of missing values in multivariate time series
     5.2.2. Plotting multivariate time series data
     5.2.3. Exploring downsampling and implementing it in the Python programming environment
     5.2.4. Transforming single-objective multivariate time series into a supervised learning problem
     5.2.5. Normalizing multivariate time series for single-objective forecasting problems
5.3. Single-objective multivariate time series prediction with multiple time steps using deep neural networks (RNN, GRU, LSTM, CNN, and MLP)
     5.3.1. Single-objective multivariate time series prediction with multiple time steps using RNN deep neural network
     5.3.2. Single-objective multivariate time series prediction with multiple time steps using GRU deep neural network
     5.3.3. Single-objective multivariate time series prediction with multiple time steps using LSTM deep neural network
     5.3.4. Single-objective multivariate time series prediction with multiple time steps using CNN deep neural network
     5.3.5. Multivariate time series prediction with multiple time steps using a single objective MLP neural network
5.4. Comparison between the predictions resulted from various neural networks

Session 6: Addressing and resolving the overfitting issue ​​​​​​​

6.1. Introducing the extraction of a learning curve from a trained neural network
6.2. Exploring the overfitting issue
6.3. Possible approaches to mitigate overfitting
     6.3.1. Dropout
     6.3.2. Regularization
     6.3.3. Batch Normalization
6.4. Incorporating Kernel Regularizer and Dropout techniques in neural network architecture
6.5. Incorporating Batch Normalization layers in neural network architecture
6.6. Assessing the efficacy of implemented methods in overfitting reduction

Session 7: Multivariable multi-objective time series prediction with multiple time steps ahead​​​​​​​

7.1. Data preprocessing
     7.1.1. Identifying and implementing optimal time lag for time series
     7.1.2. Splitting the data into training and testing sets
     7.1.3. Transforming multi-objective prediction into a supervised learning task through required modifications
​​​​​​​     7.1.4. Data normalizing for multi-objective prediction
7.2. Multivariate multi-objective time series prediction with multiple time steps using various deep neural networks (RNN, GRU, LSTM, CNN, and MLP)
     7.2.1. Multivariate multi-objective time series prediction with multiple time steps using RNN
     7.2.2. Multivariate multi-objective time series prediction with multiple time steps using GRU
     7.2.3. Multivariate multi-objective time series prediction with multiple time steps using LSTM
     7.2.4. Multivariate multi-objective time series prediction with multiple time steps using CNN
     7.2.5. Forecasting multivariate multi-objective time series with multiple time steps using MLP neural network
7.3. Comparison between the predictions resulted from various neural networks

Pre-registration deadline

Pre-registration is currently available, and you can access the pre-registration link at the bottom of this page.

Pre-registration

Enrolling in this course will enable you to become an expert in the field of artificial intelligence and time series prediction, equipping you with the essential skills to conduct research in this area. Pre-registration for this course is now open. To enroll, please register your details using the following link. Once the class has met the required number of participants, you will receive an email notification to pay the tuition fee and complete your registration. The date, time, and link for attending the lessons, along with other important details, will be communicated to you via email.

Pre-registration

(FAQ) Frequently Asked Questions

سبد خرید

رمز عبورتان را فراموش کرده‌اید؟

ثبت کلمه عبور خود را فراموش کرده‌اید؟ لطفا شماره همراه یا آدرس ایمیل خودتان را وارد کنید. شما به زودی یک ایمیل یا اس ام اس برای ایجاد کلمه عبور جدید، دریافت خواهید کرد.

بازگشت به بخش ورود

کد دریافتی را وارد نمایید.

بازگشت به بخش ورود

تغییر کلمه عبور

تغییر کلمه عبور

حساب کاربری من

سفارشات

مشاهده سفارش