## 2 Materials and Methods
### Model Development  
In terms of common tools for estimating a variable, artificial neural networks (ANN) occupy an important place. They are part of \"Machine Learning\" technology and have a remarkable capacity for learning patterns, making it possible to estimate an output variable autonomously. As for the network structure, first of all, there is the input layer, where the records are introduced for each of the variables to be considered as part of the input parameter. Then there is the hidden layer, where the interconnections between the variables are made, allowing conclusions to be drawn and the variable to be estimated in the output layer. The creation of the networks is comprised of two stages--training and validation. In the training stage, the input variables and the real output variable are introduced so that the network learns to estimate these values according to the inputs available. To check if it is effective and capable of predicting the correct values, other different input data are introduced in the validation phase, for which the network has to calculate the output values [30]. In this study, soiling losses of a photovoltaic panel are modeled using two possible alternatives: the first did not contemplate the introduction of the short circuit current from the unmaintained panel as the red neuronal input (model 1), whereas the second did (model 2), the aim being to determine the best solution and thus provide a more accurate model. With this information, the final objective is to construct an optimal artificial neural network with the least number of input variables and the minimum execution time, where the toolbox 'Neural Net Fitting' from MATLAB [31] and the Levenberg-Marquardt algorithm were used to create the ANN functions. In order to carry out correct modeling of the recorded data, 80% of the records have been assigned to the training phase and 20% to the validation phase, that is to say, of the total data, 101,633, 81,306 have been assigned for training and 20,327 for validation. Within the training, MATLAB handles with certain inflexibility the training and validation patterns. Although, of 80% of the data used for training, MATLAB requires using at least 5% for testing and 5% for validation (both internal to the training). In this case, that configuration was determined, where 90% (of the 80% of data for training) has been used for training and the rest for internal validations. It should be noted that always 20% of the data was independent to make a validation of the models that will have nothing to do with the training data set. In the hidden layer, there were a series of neurons, and each neuron had an exit and several entrances. The output of all the neurons in one layer are the inputs of each of the neurons in the next layer, so each neuron calculates its output on the basis of all these inputs. The function that relates the output of the neuron to the input is defined by the weights that each neuron has with each input. These weights are defined during training. To achieve this, the modeling process began by creating a network with the maximum number of inputs using all the available variables. Subsequently, each variable was removed, one by one, to observe the errors made by the network in the training, test and validation phases, eliminating only the variable where the error is lowest. This operation is repeated until an optimal set was found to model the variable in question. The statistical variables help to decide these situations. When the best network is selected, it will have to be adjusted according to the number of hidden neurons; this serves as an optimization task for the resulting network. With more neurons in the hidden layer, the interconnections between the variables are increased, although this does not always make the network more optimal as the duration is usually quite long. Therefore, it is possible that better results are obtained with a network with fewer interconnections.