Giter Site home page Giter Site logo

sandeshbhatjr / energy-prediction Goto Github PK

View Code? Open in Web Editor NEW
25.0 3.0 3.0 12.83 MB

What is the SOTA technique for forecasting day-ahead and intraday market prices for electricity in Germany?

License: GNU General Public License v3.0

Python 61.90% HTML 2.33% CSS 4.99% JavaScript 30.78%
germany energy-prediction electricity sota-technique time-series-forecasting time-series-analysis lstm-neural-networks deep-learning fourier-analysis day-ahead-market

energy-prediction's Introduction

energy-prediction

What is the SOTA technique for forecasting day-ahead and intraday market prices for electricity in Germany?
Live version here! WILL BE UPDATED SOON

THIS HAS BEEN STAGNANT FOR A WHILE BECAUSE I HAVE BEEN BUSY. STARTING THIS SUMMER, I PLAN TO PUT SOME EFFORT BACK INTO THIS PROJECT.

Introduction

Free electricity markets are governed by a strong supply-demand dynamics. The key reason is that electricity can't be stored, so what is generated needs to be used up instantly. This makes forecasting demands essential to the business.
From an economic standpoint, there are three key markets in which electricity is traded:

  • futures market: the price is set (upto 6 years) in advance, though you pay a premium for this assurance,
  • day-ahead market: the price is set a day before,
  • intra-day market: the price is set upto 5 minutes before.
    We are interested in the prediction of day-ahead and intra-day prices; the prediction window is at minimum one day in advance, but some of the algorithms naturally extend to bigger window sizes (with increasing errors as we go farther).

The project is explained in the following parts:

  1. Data extraction and understanding

  2. Statistical models
    Additional:
    Using facebook's forecast engine: Prophet

  3. Deep models

  4. Analysis and discussion WIP

Getting started

The project consists of a few parts: the notebooks in /docs, the backend predictor in /backend and a frontend client for visualisation in /energy-viz-app. The notebooks are basically Jupyter notebooks which form the core of the explanation of the data analysis method. The backend takes care of managing the prediction task as a service, and is written in Python. The frontend client is written in React, using d3.js for visualisation.

For running the backend, just install from requirements.txt and run the main.py script. Expect a package to be deployed into PyPi in the near future:

cd backend
pip install requirements.txt
python main.py

It is possible to look at the results directly, though the frontend client does the job of building shiny graphs using this data in a REST-like manner. The default port of the backend is assumed to be 8080.

cd energy-viz-app
npm install
npm run local

Alternatively, you can access a live production version online.

License

This project is licensed under the GNU-GPL license - see the file LICENSE for more details.

Author

Acknowledgements

Thanks to ENTSOE Transparency Platform for providing the API key for data access.

energy-prediction's People

Contributors

dependabot[bot] avatar sandeshbhatjr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

energy-prediction's Issues

Fix up the data extraction code

The data extraction code for retrieving data from SMARD and caching it was a mess. I should use my current skills to rewrite most of this code in a more pythonic way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.