Skip to content

Machine Learning (90948) final project at UniGe + C1A0 hackathon

Notifications You must be signed in to change notification settings

DiTo97/ml-electricity-market

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Machine Learning Methods for the Electricity Market

Authors: Federico Minutoli and Gianvito Losapio

We present a pair-project in which we tackle the same problem proposed by the IREN company during the C1A0 hackathon held on 14-15/11/2019 in Genoa. We tried to mix project of types 1 and 2 with the aim of considering a full real-case scenario concerning the electricity market. As for the type 2 part of the project, we provide a detailed data processing and a simple time-series analysis in the notebook file code/preprocessing/Time-series analysis.ipynb. As for the type 1 part of the project, a detailed formulation of two different algorithms follows: Random forests (by Gianvito Losapio) and Gradient boosting (by Federico Minutoli). Both of the algorithms have been implemented from scratch. The structure of the code is presented in the notebook file code/Problem.ipynb as well as its use to solve the main problem as presented by IREN. Results and comparisons of the methods are provided.

During the C1A0 hackathon we were asked to design an AI model able to predict the day-ahead market (MGP) for the subsequent lag of 14 days. At the time, we used the LightGBM algorithm as its speed was very well suited for a competitive setting. This project, instead, focuses more on gaining a deeper understanding of its capabilities.

Please note: Some key data files may be missing due to storage constraints by GitHub. If the experiments cannot be completed succesfully for this very reason, please contact any of the two authors to get all the missing pieces.

MGP

The Day-ahead Market (or Mercato del Giorno Prima, MGP, in Italian), is the market designed for trading electricity supply offers and demand bids for each hour of the next day in Italy. All major electricity operators may participate in the MGP by submitting offers (bids) where they specify the quantity and the minimum (maximum) price they are willing to sell (purchase). The accepted offers are those with a submitted price not larger than the marginal clearing price (MGP) obtained from the intersection of the demand and supply curves. The accepted bids are similarly those with a submitted price not lower than the daily-agreed National Single Price (or Prezzo Unico Nazionale, PUN).

All of these factors greatly influence the understanding of the MGP chain.

Folder structure

  • code folder contains the Random forest and the Gradient boosting implementations from scratch as well as a notebook to play with, Problem.ipynb, with all the key experiments that we ran on the MGP data culminating in the comparison with LightGBM in terms of RMSE of the MGP values.

  • report folder contains a short written report presenting an in-depth description of the problem, of the two algorithms, Random forest and Gradient boosting, with all their strengths and shortcomings in modelling such a scenario and of all the experiments that we ran on the MGP data by IREN.

About

Machine Learning (90948) final project at UniGe + C1A0 hackathon

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.4%
  • Python 0.6%