Giter VIP home page Giter VIP logo

std-gae's Introduction

Spatio-Temporal Denoising Graph Autoencoder (STGAE)

This repository contains the code for the reproducibility of the experiments presented in the paper "Spatio-Temporal Denoising Graph Autoencoders with Data Augmentation for Photovoltaics Timeseries Data Imputation". In this paper, we propose a novel Spatio-Temporal Denoising Graph Autoencoder (STGAE) framework for PV timeseries data imputation and achieve state-of-the-art results on real-world PV benchmarks.

STD-GAE in a nutshell

Our paper introduces STD-GAE, a method and an architecture that exploits temporal correlation, spatial coherence, and value dependencies from domain knowledge to recover missing data. STD-GAE features domain-knowledge aware data augmentation module and data corruption to create plausible variations of missing data patterns (configurable missing data masks). To improve the accuracy of imputation accuracy at PV fleet level, STD-GAE integrates spatiotemporal graph convolution layers (to recover local missing data by observed “neighboring” PV plants) and denoising autoencoder (to recover corrupted data from augmented counterpart).

Fig. 1: Overview of STD-GAE Imputation Framework.

Fig. 2: Structure of the Spatial Layers and Temporal Layers in the Proposed STD-GAE.

Organization of the code

All the code for the models described in the paper can be found in scripts/STD-GAE.ipynb, scripts/MIDA.ipynb, and scripts/LRTC-TNN.ipynb. We provide a publuic PV power dataset for users to validate our proposed imputation framework. The public dataset (sampled from: https://datahub.duramat.org/dataset/phoenix.) consists of two parts the location file: data/W_35.csv and the timeseries data file data/norm_power_35.csv.

Results

We have evaluated our proposed model on two real-world PV datasets. Experimental results show that STD-GAE achieves a gain of 43.14% in imputation accuracy and remains less sensitive to missing rate, different seasons, and missing scenarios, compared with state-of-the-art data imputation methods such as MIDA and LRTC-TNN.

Fig. 3: Imputation Errors and Impact of Missing Scenarios and Severity (results of Mean Imputation are out of scale).

Fig. 4: Imputation Results of the Proposed STD-GAE (left: 40% MCAR, right: 6-hours BM).

Prerequisites

Our code is based on Python3 (>= 3.8). The major libraries are listed as follows:

  • NumPy (>= 1.22.3)
  • Pandas (>= 1.4.2)
  • Torch (>= 1.10.0)
  • PyG (PyTorch Geometric) (>= 2.0.4)
  • Scikit-learn (>= 1.0.2)

std-gae's People

Contributors

yangxin666 avatar

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.