In this repository, you'll find code and resources for the OpenHPI course Time Series Analysis and Forecasting.
IMPORTANT: As the content is going to be appearing gradually, we recommend you to work in a development branch, for avoiding conflicts when pulling new code.
Current version of the materials:
- Code v1.0.0
- Presentation Slides v1.0.0
- Extra resources: v1.0.0
- Loading and manipulating the data
- Visualizing time series
- Handling Missing Data
- Handling Outliers
- Forecasting Baselines
- Evaluating Models
- Exponential Smoothing Models
- ARIMA Family Models
- Advanced Statistical Methods
- Probabilistic Forecasting
-
Feature Engineering for ML Forecasting
- Generate lag features, rolling statistics, Fourier terms, calendar features.
- Explore feature importances with tree models.
-
ML Models for Forecasting
- Compare linear regression, random forests, gradient boosting on time series regression tasks.
- Discuss limitations of ML vs statistical baselines.
-
Ensembles and Model Combinations
- Weighted averaging, stacking simple ARIMA + RF + XGBoost.
- Show how ensembling improves robustness.
- Intro to Neural Networks for Time Series
- Train a simple feed-forward NN on lagged features.
- Compare with linear regression baseline.
- RNNs (LSTM, GRU)
- Forecast univariate time series with LSTM/GRU.
- Show sequence-to-sequence architecture.
- CNNs for Time Series
- Use 1D convolutions for forecasting.
- Compare receptive fields with RNN.
- Transformers for Time Series
- Build a simple attention-based model.
- Forecast using a pretrained framework (e.g., PyTorch Forecasting or Darts).
- State-of-the-Art Architectures
- Experiment with N-BEATS, N-HiTS, Autoformer (using an existing library like NeuralForecast or Darts).
- Benchmark against traditional methods.
- End-to-End Forecasting Pipeline
- Data prep, feature engineering, baseline models, advanced models, evaluation.
- Case study on a real dataset (e.g., electricity demand or M4 competition dataset).
In progress
...
You can find instructions on how to use this materials here.
We are going to collect the most interesting questions from the course and their answers in this FAQ.
Contributions are always welcome!
See contributing.md for ways to get started.
Please adhere to this project's code of conduct.
- ...

