Forecasting with Machine Learning

Find out what you will learn throughout the course (if the video does not show, try allowing cookies in your browser).

What you'll learn

👉  Forecast single and multiple time series with machine learning models like linear regression, random forests, and gradient boosting machines,

👉  Forecast multiple steps into the future by using direct or recursive forecasting.

👉  Evaluate your forecasting models with cross-validation, known as backtesting in forecasting.

👉 Implement backtesting with or without retraining on rolling or expanding windows.

👉  Streamline your forecasting pipeline with the Python open-source library SKForecast.

What you'll get

Website Counter
Hours on-demand video
Jupyter Notebooks
Quizzes and Assignments
Lifetime access

Lifetime access

instructor support

Instructor support

Certificate of completion

Certificate of completion

💬 English subtitles


30 days money back guarantee

If you're disappointed for whatever reason, you'll get a full refund.

So you can buy with confidence.


Kishan Manani, lead data scientist and instructor.

Kishan Manani, PhD

Kishan is a machine learning and data science lead, course instructor, and open source software contributor. He has contributed to well known Python packages including Statsmodels, Feature-engine, and Prophet. He presents at data science conferences including ODSC and PyData. Kishan attained a PhD in Physics from Imperial College London in applied large scale time-series analysis and modelling of cardiac arrhythmias; during this time he taught and supervised undergraduates and master's students.

Soledad Galli, PhD

Sole is a lead data scientist, instructor and developer of open source software. She created and maintains the Python library Feature-engine, which allows us to impute data, encode categorical variables, transform, create and select features.

Sole is also the author of the "Python Feature engineering Cookbook" by Packt editorial.

Sole's been recognized as one of Linkedin's voices in data science in 2024.

Soledad Galli, lead data scientist and instructor

Course description

Welcome to the course “Time Series Forecasting with Machine Learning.” In this course, you will learn how to forecast multiple time series by using traditional machine learning algorithms like linear regression, decision trees, random forests and gradient boosting machines.

What is Forecasting?

Forecasting is the process of predicting future values of a time series based on historical data. Traditionally, we’ve used statistical methods like ARIMA, SARIMA or exponential smoothing for forecasting. These forecasting models take a time series as input, and return a time series as output. They are simple, explainable, don’t require a lot of data preprocessing, and in many cases, they make accurate predictions.

We can also forecast with deep learning models like recurrent neural networks (RNNs) or long short-term memory LSTMs. However, while these models are powerful in some cases, neural networks require huge datasets to offer a significant performance improvement respect to simpler models. For real world use cases like demand forecasting or forecasting air pollution concentration, where data is limited, we can use simpler algorithms, that are faster to train and easier to explain.

Forecasting with Machine Learning Models

In recent years, there’s been a growing trend in using traditional machine learning models, such as xgboost and linear regression, to do forecasting. These machine learning methods have been shown to be effective in dealing with multiple time series, which are often enriched with variables from additional datasets, and where it is highly desirable to learn across all of our data simultaneously. Indeed, models such as LightGBM have been shown to be highly effective at large-scale time series forecasting.

Machine learning models have many advantages for forecasting. First, they are simpler models, faster to train and produce predictions that are easier to interpret. Like this, we do not only obtain accurate forecasts, but we also understand why the model makes those predictions, allowing us to extract insight from our time series data.

In addition, machine learning models can model linear and non-linear relationships. These predictive modeling algorithms allow us to forecast multiple time series simultaneously, while creating forecasting processes that we can use to evaluate our models and then deploy to production.

Challenges of Forecasting with Machine Learning

In this course, you will learn to approach forecasting as a regression, or in other words, to forecast with traditional machine learning models. Forecasting with machine learning models comes with a number of challenges:

  • How do we predict multiple steps into the feature?
  • How do we forecast multiple time series simultaneously?
  • How do we evaluate the forecasting accuracy of our models?
  • How do we incorporate cross-validation?

Throughout this course, you will learn to set up strategies to forecast multiple data points into the future, of one or more time series. You will discover how to set up cross-validation frameworks, which in the forecasting world is known as backtesting. We will also show you how to optimize the hyperparameters of your models to improve the accuracy of your forecasts.

Specifically, you will learn:

  • Basic feature engineering strategies that will allow you to aggregate your time series into a tabular training data set.
  • How to implement direct and recursive forecasting to predict multiple time steps into the future.
  • How to forecast multiple time series simultaneously with one model, or locally with individual models.
  • How to evaluate the model accuracy by using bespoke performance metrics and cross-validation
  • How to derive insight from your models through visualization, feature importance and performance evaluation.

Forecasting multiple steps into the future

To forecast time series using traditional machine learning models, we first need to tabularize the time series into a table with well-crafted features that capture, for example, seasonality and trend, and a target. This constitutes the training data, our starting point to train and evaluate our machine learning models.

We will then introduce the concept of the forecasting horizon and compare single and multi step forecasting. You will learn how to forecast multiple steps in the future by using direct or recursive forecasting. We will highlight the advantages and limitations of each of these method and show you how to streamline their implementation using the open source Python library SKforecast.

Forecasting multiple time series

Once you know how to forecast multiple values in the future, you will go one step further, and learn how to forecast multiple time series. We will compare global vs local approaches, or in other words, forecasting each time series individually or all of them simultaneously, highlighting the advantages and shortcomings of these approaches.

You will learn how to carry out multiple time series forecasting in Python with SKforecast when possible, or by using alternative open-source Python libraries, for bespoke needs.

Setting up cross-validation frameworks - backtesting

After being acquainted with multiple time series forecasting, is time to focus on evaluating the performance of your model, while keeping data leakage in check and avoiding overfitting. You will learn how to set up the right cross-validation framework for your machine learning models.

You will discover various backtesting strategies, like backtesting with or without refit or re-training, with rolling or expanding windows over the training data, and find out their advantages and limitations, as well as their suitability to different use cases.

Then, you will learn to automate the process of backtesting for time series forecasting, using the open source Python library Skforecast.

Forecasting with Machine Learning Models

Finally, we will bring all these ideas together using various examples, where we optimize the performance of our models with hyperparameter tuning and then understand which features are driving the performance of our models.

By the end of the course, you will be well placed to create and evaluate machine learning models to do forecasting of one or more time series in an elegant and efficient manner. You will be able to apply all the techniques in Python using cross-validation, while tuning hyperparameters and selecting features to improve your forecasts.


Why take this course?

Most time series courses will teach you how to forecast with forecasting methods like autoregressive integrated moving average (ARIMA), SARIMA, or exponential smoothing. But these time series models make many assumptions about the data that the data may not fulfill. More advanced courses show how to use neural networks for forecasting, but they provide very complex and difficult to interpret solutions for the otherwise simple use cases that you might be confronted with at work, like demand forecasting to organize the supply chain after analyzing sales data.

Whether you are at the beginning of your data science career, or already making your first forecasts, sooner or later you’ll learn the limitations of forecasting with these models.

Machine learning forecasting, on the contrary, has a number of advantages, including the option to forecast linear and non-linear trends, multiple time series simultaneously, and combine the use of time series data with exogenous data sources.

Throughout this course, we'll take you step-by-step through engaging video tutorials and teach you everything you need to know to forecast with traditional machine learning models. We will cover various strategies for forecasting multiple data points into the feature, be it for one or more time series, individually or simultaneously. As always, we discuss the logic, Python implementation, advantages and drawbacks, and the things to keep in mind when using these methods.

This course is taught by lead data scientists with experience in the use of machine learning in finance, insurance, health, and e-commerce. Sole is also a book author and the lead developer of a Python open source library for feature engineering. Kishan is a seasoned forecaster with a PhD in Physics in applied large scale time-series analysis and modelling of cardiac arrhythmia. This course has the support of Joaquin Amat Rodrigo and Javier Escobar Ortiz, the developers of the open-source Python library Skforecast.

This comprehensive forecasting course contains over 50 lectures spread across approximately 10 hours of video, and ALL topics include hands-on Python code examples that you can use for reference, practice, and reuse in your own projects.

And there is more:

  • The course is constantly updated.
  • Notebooks are regularly refreshed to ensure all methods are carried out with the latest releases of the Python libraries, so your code will never break.
  • The course combines videos, presentations, and Jupyter notebooks to explain the methods and show their implementation in Python.

Want to know more? Read on...

The course comes with a 30-day money-back guarantee, so you can sign up today with no risk.

So what are you waiting for? Enroll today and join the world's most comprehensive course on time series forecasting with machine learning models and start making better forecasts!

Course Curriculum

Available in days
days after you enroll
  Course material
Available in days
days after you enroll
  Time series as regression
Available in days
days after you enroll
  Multistep forecasting
Available in days
days after you enroll
  Multiseries forecasting
Available in days
days after you enroll
Available in days
days after you enroll
  Error metrics
Available in days
days after you enroll
  Final section | Next steps
Available in days
days after you enroll

Frequently Asked Questions

When does the course begin and end?

You can start taking the course from the moment you enroll. The course is self-paced, so you can watch the tutorials and apply what you learn whenever you find it most convenient.

For how long can I access the course?

The course has lifetime access. This means that once you enroll, you will have unlimited access to the course for as long as you like.

What if I don't like the course?

There is a 30-day money back guarantee. If you don't find the course useful, contact us within the first 30 days of purchase and you will get a full refund.

Will I get a certificate?

Yes, you'll get a certificate of completion after completing all lectures, quizzes and assignments.

Follow us 👇