DNNΒΆ
The DNN model is a deep neural network tailored to electricity price forecasting whose input features and hyperparameters are optimized for each market without the need of expert knowledge. The DNN model was originally proposed by Lago (2018) in a study where it was shown to obtain state-of-the-art results. Although more complex, it is often more accurate than individual LEAR models.
The module is built around the DNNModel
class. This class represents a basic DNN model based on keras and tensorflow. While the model can be used standalone to train and predict a DNN, it is intended to be used within the hyperparameter_optimizer
function and the DNN
class.
These two elements represent the main two functionalities of the module.
In particular, the hyperparameter_optimizer
function provides an interface to optimize the optimal hyperparameter and features of the DNN model. Then, the DNN
class considers the output of the hyperparameter_optimizer
function, i.e. the set of optimal hyperparameters and features, and provides an interface to perform recalibration and new predictions. The class extends the functionality of the DNNModel
class by providing an interface to extract the best set of hyperparameters, and to perform recalibration before every prediction.
The module also includes the evaluate_dnn_in_test_dataset
function. This function can be used as a simplified interface to evaluate a test period in a dataset that is built using a pandas DataFrame.
The library also includes several DNN Examples to get users familiar with the syntax and capabilities of the model.