This repository contains the files implemented for the different experiments carried out to develop an optimal Deep Learning (DL) intra-hour solar forecasting using infrared ground-based images. The model is based on deep recurrent networks architectures.
The utils necessary to run the codes are in solar_forecasting_utils_v3,py and feature_extraction_utils.py (posted in this other repository https://github.com/gterren/kernel_intra-hour_solar_forecasting).
The state-of-the-art is implemented in solarnet.py and sunset.py for comparission purposes.
The investigation aims first to find an optimaml Multilayer Perceptron architecture (MLP) to perform a multi-output forecast. Later, different recurrent layers are cross-validated to find the optimal combination of feature vector and recurrent architecture. Lastly, the best archicture is implemented and the its structural hyperparameters are cross-validated using variational inference.
The objective is to analyzed data adquired from different sensors: solar tracker, pyranometer, sky imager and weather station. In addition, the combination of multiple cloud features and its performances are also analyzed. The different horizons in the forecast are used to derive the Sun intersecting probability of each pixel in the image. Each of the distribution are considered a source of cloud dyanamics features and used in recurrent architecture.
The multi-output MLP achitecture composed of independet MLPs in parallel is in MLP.py
The multi-output MLP achitecture form of multiple recursive MLPs is in RMLP.py
The multi-output MLP achitecture that uses a single multi-taks MLP is MO-MLP.py
The type of Recurrent Neural Networks (RNNs) cross-validated for each DL architecture are: Simple Recurrent, Long-Short Term Memory, and Gated Recurrent Units.
The bidirecional architecture applied to the RNNs in MO-MS-BiRNN.py and MO-MS-ResBiRNN.py (without and with residual layer respectively).
The RNNs architecture with residual layers are MO-ResRNN.py (AR model), MO-MS-ResRNN.py (AR-Multiple Source model) and MO-MS-ResBiRNN.py (AR-Multiple Source with Bidirectional architecture in the multiple sources model). The bayesian implementation of MO-MS-ResRNN.py is in MO-MS-BayResRNN.py.
The file contaning the implementation of a varational MLP for a deep RNNs is MO-MS-BayResRNN.py
The library of Bayesian Optimization to implemente an efficient cross-validation of the strucural parameters is in bayesian_optimization_utils.py.