A practical Machine Learning lecture held by Professor Klaus Diepold at Technical University Munich (TUM). This lecture consists of reading assignment, essay writing, discussion session and final project. This repository contains codes, jupyter notebooks, report, etc. for the final project - "Electricity Price Forecasting".
The spot price data obtained from MONTAL has been removed according to the regulation.
- Yuqicheng Zhu (Responsible for: Project Management, ARIMA)
- Runyao Yu (Responsible for: ARIMA, Video)
- Xuyang Zhong (Responsible for: Transformer)
- Han Liang (Responsible for: Web, Data Preprocessing)
- Junpeng Chen (Responsible for: Web, Data Preprocessing)
- Jiaxin Yang (Responsible for: Report)
- Yicong Li (Responsible for: Report)
Concrete contributions see: Declaration of Contributions
This project aims to compare the performance of traditional machine learning and deep learning in predicting electricity prices. We selected ARIMA and Transformer as the representor for traditional training and deep learning respectively. They were compared in terms of accuracy, stability, efficiency and interpretability, etc. All processes and corresponding findings and results were documented in jupyter notebooks. A summary of this project can be found in report.
All processing, tests and experiments of ARIMA were carried out in Jyupter Notebook. For more details, you can access our notebooks with following links or a summarized documentation.
- Missing Value Processing
- Feature Extraction (That might take very long time!)
- Feature Selection
- Training Length Experiments
- Feature Reduction Experiments
- Simple Model Experiments
- PCA Experiments
- Exogenous Feature Experiments
- Online Training Strategy
- Pre-trained Strategy
- Model Deployment
The Code is mainly based on this repository: https://github.com/nklingen/Transformer-Time-Series-Forecasting
For more information about transformer implementation, check out this documentation.
- Requirements
- Data Information
- Preprocessing
- Model Structure
- Model Training
- Inference
- Discussion
To test the model just run the main script
You can find our final version report here
Check out our project video in YouTube: https://www.youtube.com/watch?v=_SZ6bKFkFyQ