OpenSTEF provides automated machine learning pipelines to deliver accurate and explainable forecasts of the load on the grid for the next 48 hours. Infused with expert energy knowledge, the platform incorporates external predictors such as weather data and market prices, ensuring validation and training of machine learning models to provide precise load predictions.
- Documentation;
- Python package;
- Project website;
- Dashboard documentation;
- Linux Foundation project page;
- Video about OpenSTEF;
- Teams channel.
The energy transition poses new challenges to all parties within the energy sector. Grid operators, grappling with the upsurge in renewable energy and heightened electrification, find their grid capacities nearing physical limitations. Therefore, it is imperative to forecast grid load in the upcoming hours to days, enabling the anticipation of local congestion and thereby optimal utilization of existing assets.
OpenSTEF provides a complete software stack specifically engineered to forecast the load on the electricity grid for the next hours to days. Given a timeseries of measured (net) load or generation, a fully automated machine learning pipeline is executed which delivers a probabilistic forecast of future load. This is applicable to energy consumption, renewable generation, or a combination of the two. OpenSTEF does not stop at forecating: it validates input data, combines measurements with external predictors such as weather data and market prices, trains any scikit-learn compatible machine learning model, and delivers the forecast via both an API and an (expert) graphical user interface. The entire stack, crafted on open-source technology and adhering to standards, is organized in a microservice architecture optimized for cloud-deployment.
The Dutch DSO Alliander started the Short-Term-Forecasting project to anticipate congestion in the distribution grid, to allow for grid safety analysis in the transmission grid and to enable smart grid innovations to locally balance supply and demand within the constraints of the grid. The objective of opensourcing the stack is two-fold: provide an industry standard for generating and evaluating forecasts in the operational time-domain, as well as allow for structured collaboration.
OpenSTEF has different repositories.
OpenSTEF: Basis of all the repositories. Automatic machine learning pipelines. Builds the Opensource Short Term Forecasting package.
OpenSTEF-dbc: Provides (company specific) database connector for OpenSTEF package.
OpenSTEF-reference: Deploy the entire OpenSTEF stack on your machine. Provides a reference implementation of the OpenSTEF stack including datamodels, databases and UI.
OpenSTEF-offline-example: Provides Jupyter Notebooks showing how to use OpenSTEF and apply it's functionality to your usecase.
- Prediction job: input configuration for a task or pipeline. It contains for example the location and forecasting horizon.
- Feature engineering: is called by pipelines to select required features for training/forecasting based on the configuration from the prediction job (e.g. create new features for energy load of yesterday, last week).
- Machine learning: is called by pipelines to perform training, forecasting, or evaluation based on the configuration from the prediction job (e.g. train an XGB quantile model).
- Pipelines: OpenSTEF contains automated machine learning pipelines. Can be called to perform training, forecasting or evaluating by giving input data to the pipeline.
- Data validation: called by pipelines to validate data.
- Confidence estimates: there are two methods for confidence estimation: quantile regression and standard deviation.
- Energy splitting: ability to split the load forecast into solar, wind and load. Uses the Domain Adaption for Zero Shot Learning in Sequence (DAZLS), which is a technique which transfers knowledge from complete information substations to incomplete information substations.
This project is licensed under the Mozilla Public License, version 2.0.
Please read CODE_OF_CONDUCT.md, CONTRIBUTING.md and PROJECT_GOVERNANACE.md for details on the process for submitting pull requests to us.
Please read SUPPORT.md for how to connect and get into contact with the OpenSTEF project