Skip to content

BQC21/VMD_STL_Parallel_TimesNet_BiLSTM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STL - VMD - Parallel [TimesNet-BiLSTM]


Overview

This project implements a deep learning model to forecast the active power generated by photovoltaic (PV) solar panels, with the aim of achieving minimal errors and a high R².

Model Architecture

Building upon the model described in [3], I applied data-processing steps from that work and then enhanced the architecture by integrating Variational Mode Decomposition (VMD) into the flow of the existing Seasonal‑Trend decomposition using LOESS (STL) → Parallel [TimesNet + BiLSTM] model.

Scheme of the DL model architecture

Components explained

  1. VMD (Variational Mode Decomposition) – Extracts intrinsic signal modes.
  2. STL (Seasonal-Trend decomposition using LOESS) – Separates trend, seasonality, and residuals.
  3. TimesNet – advanced times series model to capture multi-scale patterns.
  4. BiLSTM (Bidirectional Long Short-Term Memory) – Processes sequential data in both time directions for prediction.

Dataset

  • Source: Desert Knowledge Australia Solar Centre (DKASC) [1]
  • Source: Solar station site 8 (Nominal capacity-30MW) [2]

Pre-processing details

Source: Figshare [2]

  • Data processing notebook: /notebooks/Study_data_figshare.ipynb
  • Processed dataset: /data/processed/dataset_figshare_modified.csv
  • Data split: 60 % training, 20 % validation, 20 % test

Source: DKASC [1]

  • Several features were rejected: Current_Phase_Average_Mean, Weather_Daily_Rainfall, Hail_Accumulation, Wind_Direction, and Air_Pressure.
  • The feature Active_Energy_Delivered_Received was modified to only include the “Received” portion (renamed Active_Energy_Received).
  • Data processing notebook: /notebooks/Modify_data_Yulara.ipynb
  • Processed dataset: /data/processed/dataset_Laundry_modified.csv
  • Data split: 60 % training, 20 % validation, 20 % test

Environment & Testing

Hardware configuration

  • GPU: NVIDIA GeForce RTX 3050
  • CUDA version: 13.0
  • OS: Ubuntu 22.04
  • RAM: 15 GB

Main libraries & frameworks

  • PyTorch – deep learning
  • Pandas – data management
  • NumPy – linear algebra
  • Matplotlib – visualization
  • Scikit-learn – preprocessing & metrics
  • Statsmodels – STL decomposition
  • tqdm – progress tracking

Model settings

  • Optimizer: Adam
  • Loss: MSE
  • No early stopping
  • Lookback (sequence_length): 48
  • Prediction horizon (prediction_length): 1 (i.e., 15 minutes)

Parameters can be modified in /configs/parameters.yaml for new experiments.

Run

  1. Check the requirements.txt
pip install -r requirements.txt
  1. To train and evaluate a new model
python src/app/main.py

References

[1] Desert Knowledge Australia Solar Centre, “327.6kw, poly-si, fixed, 2016, laundry,” https://dkasolarcentre.com.au/source/yulara/yulara-4-fixed-laundry, 2025.

[2] Chen, Yongbao (2021). Solar and wind power data from the Chinese State Grid Renewable Energy Generation Forecasting Competition. figshare. Dataset. https://doi.org/10.6084/m9.figshare.17304221.v4

[3] J. Gong and et.al, “Parallel timesnet-bilstm model for ultra-short-term photovoltaic power forecasting using stl decomposition and auto-tuning,” Energy, vol. 320, p. 135286, 2025.

About

Forecast PV power generated applying VMD and STL to a parallel deep learning architecture

Resources

License

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages