## 2 Materials and Methods
### Methodology  
The basic building block for the proposed methodology is a performance analysis procedure already described in [32]. The first step of the methodology involves a quality control process of the available data. The main criteria for cleaning the data are specified in terms of limit values of irradiance, airmass and power output of each inverter. Zero values of inverter power output are rejected, along with irradiance values < 50 W/m\({}^{2}\). Airmass is an important parameter affecting performance, as detailed in [33], where it is explained why data with AM > 10 are rejected. The second step of the methodology is the training procedure of an ANN, using monitoring data from the year 2013. A feed forward artificial network with two input parameters and a hidden layer with 20 neurons is applied. This is a simple and effective form of ANN that produces fast and reliable results with acceptably high accuracy for the purposes of this fault detection procedure, without requiring significant computational resources. The structure of the FF ANN is shown in Figure 1.  
The model's input parameter models are: (i) in-plane irradiance; and (ii) panel back-sheet temperature or ambient temperature, depending on the availability of the respective sensor. The model's output is AC power, which is also set as the target in the training procedure. The next step is to conduct simulation with the trained ANN, formulated in specially designed experimental scenarios. The behavior of these simulations is observed in the period (2014-2015) against the available data. The most important parameters of the FF ANN design are presented in Table 1, along with the hyper-parameters related to the training procedure, which uses a network training function that updates weight and bias states (expressed in vector form \(\mathbf{x}_{k}\)) according to the well-known Levenberg-Marquardt back propagation optimization algorithm [34]:  
\[\mathbf{x}_{k+1}=\mathbf{x}_{k}-\left[\mathbf{J}^{T}(\mathbf{x}_{k})\mathbf{J }(\mathbf{x}_{k})+\mu_{k}\mathbf{I}\right]^{-1}\mathbf{J}^{T}(\mathbf{x}_{k}) \mathbf{v}(\mathbf{x}_{k}) \tag{1}\]  
where \(\mathbf{J}\) the Jacobian matrix, \(\mu_{k}\) the current value of mu at step \(k\), and \(\mathbf{v}(\mathbf{x}_{k})\) is the vector of the components of the performance index (sum of squares). This algorithm has the very useful feature that as \(\mu_{k}\) is increased, it approaches the steepest descent algorithm with small learning rate [34]:  
\[\mathbf{x}_{k+1}\cong\mathbf{x}_{k}-\frac{1}{\mu_{k}}\mathbf{J}^{T}(\mathbf{ x}_{k})\mathbf{v}(\mathbf{x}_{k})=\mathbf{x}_{k}-\frac{1}{2\mu_{k}}\
abla F( \mathbf{x}) \tag{2}\]  
while as \(\mu_{k}\) is decreased to zero the algorithm becomes Gauss-Newton. The algorithm begins with \(\mu_{k}=0.001\) (Table 1). If a step does not yield a smaller value for the performance index, the step is repeated with \(\mu_{k}\) multiplied by a factor of 10 (Table 1). If a step reduces the performance index, then \(\mu_{k}\) is divided by 10 for the next step. Thus, we would move closer to Gauss-Newton, to provide faster convergence. The algorithm provides a nice compromise between the speed of [PERSON]'s method and the guaranteed convergence of steepest descent. Three instances of the same FF ANN are trained independently based on three sets of data (n\({}_{1}\), n\({}_{2}\), n\({}_{3}\)), which correspond to the output of three different inverters from PV plants in Central Greece. All three PV plants examined share the same layout and equipment types, which are presented in Appendix A. Table 2 summarizes the characteristics of the three systems employed for training the three independent FF ANN n1, n2 and n3. Figure 1: Structure of the feed-forward artificial neural network. The values of statistical metrics are used as indicators of faults. Statistical metrics are calculated either on a daily or on an annual basis. However, the daily values are the main indicators of faults.