Edited content version 7
12: Predicting Voltages in Substations
Prediction of Voltages in Substations for Grid Stabilisation
Thanks for choosing Axpo's challenge, Predicting Voltages in Substations, for the Energy Data Hackdays 2023. We're glad you're here!
This README will guide you through the process of setting up your environment and working on the challenge. By the end of this guide, you'll be ready to dive into the provided datasets, create your predictive model, and help us improve grid stabilization.
Before you begin, please ensure you have the following prerequisites:
- Access to the VM with Jupyter Hub: We've provided a virtual machine with Jupyter Hub installed. This will serve as your development environment. Just go to our Jupyter Hub and sign in with a username (no special characters or spaces) and password of your choosing - just don't forget it.
You can also develop on your local machine if you prefer. Talk to us about getting the dataset onto your local machine.
Setting Up Your Environment
Follow these steps to set up your environment and start working on the challenge:
Access Jupyter Hub: Open your web browser and navigate to the provided URL for Jupyter Hub. Log in using your credentials.
Clone the Git Repository: Open a terminal and clone this repo
console git clone https://github.com/axpogroup/edh2023.git cd edh2023
Accessing Datasets: The training and validation datasets for both substations are located in the
/datadirectory on the Jupyter Hub VM. You can copy them to the data directory with
console cp /home/data/data.zip ~/edh2023/data.zip unzip data.zip
Installing Dependencies: Create a virtual environment to install dependencies:
console python -m venv .venvActivate the virtual environment
console source .venv/bin/activateTo ensure your environment has the necessary packages, run the following command:
console pip install -r requirements.txtRegister the virtual environment as ipykernel:
console python -m ipykernel install --user --name=edh_venvIt will take a few seconds for the new environment to show up as an available. You can open the
sample_notebook.ipynband select the environment as kernel once it is and get going with digging into the details.
Understanding the Challenge
Before you start coding, it's important to grasp the problem at hand:
You are provided with time series of substation measurements, energy production, weather data, and target voltages for two substations with shunt reactors.
The goal is to create a model that can predict voltages in the substation such that, based on these predictions, one can decide when to turn the shunt reactors on or off to keep the measured voltage close to the target voltage. You should keep the average number of on-off/off-on switches below 2/day to limit wear and tear on system components. One of the main challenges herein is
Your main task is to develop a predictive model that predicts the voltage in each substation and that can effectively recommend when to activate or deactivate shunt reactors in order to stabilize the grid voltages. Use the provided datasets to train and validate your model. They contain weather, electricity production, and grid measurement data. Take a look at the
sample_notebook.ipynb to get started with analyzing the data.
Feel free to explore different machine learning algorithms, techniques, and preprocessing methods. Don't hesitate to innovate and experiment!
You can evaluate your model with either the root mean square error for the voltage prediction or
utils.eval.alternative_strategy_reward. Both of these are relevant metrics for us.
If you encounter any issues during the challenge or have questions about the provided datasets, feel free to ask one of us for help.
For grid stabilization, operators of different voltage levels have target voltage schedules. These support grid stabilization. It is possible to influence the voltage in a substation with shunt reactors via reactive power compensation. Turning these shunt reactors on or off causes transients, which in turn cause wear and tear on the components of the substation and the shunt reactor. This means a grid operator wants to minimize the number of on/off switches of the shunt reactor while still using it to keep the voltage in the substation as close as possible to the target voltage published by the higher voltage level grid operator. We have time series measurements and target voltages for several of our substations with shunt reactors and aim to train a model that can tell us when to turn the shunt reactors on or off.
Challenge Owner: Axpo Grid AG
- Nicolas Pelzmann
- Tobias Schmocker
- Sandro Renggli
Joined the team
Cool chart 🤩
virtual voltages calc function (@Nicolas Pelzmann)
Joined the team