- ENTSO-E Dataset (European Network of Transmission System Operators for Electricity) for hourly load data in Switzerland.
- DarkSky Dataset for hourly temperature and weather Icon information of 8 major cities in Switzerland.
There are 21 raw features at each timestamp:
- Load
- 8 Cities temperature
- 8 Cities weather Icon Information - categorical feature tells which weather icon [categories: icon1, icon2, icon3]
- Holiday - boolean feature tells weather holiday in switzerland on that date
- Month - categorical feature tells data of which month [categories: Jan, Feb, ... , Dec]
- Day - categorical feature tells data of which day [categories: Mon, Tues, Wed, Thrus, Fri, Sat, Sun]
- Hour - categorical feature tells data of which hour [categories: 0, 1, 2, ... , 23]
You can use already preprocessed data present in data
folder with name actual_dataset.csv
.
Feature Vector 77 dimensional at each timestamp:
actual_load - 1 feature
8 cities temperature - 8 features
8 cities weather icon one hot encoding - (8 cities x 3 categories of icon) = 24 features
holiday - 1 feature
weekday one hot encoding - 7 features
hour one hot encoding - 24 features
month one hot encoding - 12 features
NOTE: Please ignore entsoe
feature column in actual_dataset.csv
.
- change
DATASET_SPLIT_DATE
inconstants.py
according to how you want to split train and test dataset. - Simply Run
python forecasting.py
- It will save trained model weights in
output/load_forecasting_model_weights.h5
. saveoutput/loss_epoch_curve.png
andoutput/actual_predicted_load.png
images.
- Simply Run:
python adversarial.py
- It will generate adversarial datasets for various temperature variation in
data
folder. For Ex:adversarial_dataset_temp_1.csv
means generate adversarial temperature dataset with 1 Fahrenheit change in temperature.
Check results.ipynb
file to see various plots like:
- Temperature Profile
- Load Forecasting Profile
- Forecasting MAPE with Temperature Variation