# Anomaly Detection of Wind Turbines Based on Deep Small-World Neural Network
## 4 Case Studies
### Performance Comparison of Pitch Fault Classification (Case B)  
To verify the accuracy of the proposed method for multi-fault classification, nine typical or frequent pitch faults were selected as the classification targets according to the real alarm information from the SCADA system. Table 3 lists the specific failures and their descriptions, in which F1-F9 represent the nine fault alarms and F10 stands for the fault-free status. Similarly, DBN and DNN were used as comparison models, and the three models adopted the same network structure: (i) The number of the input neurons was 12, which corresponded to the 12-dimensional parameters described in Table 1; (ii) The number of the output neurons was 10, corresponding to the 10 classifications in Table 3 respectively; (iii) Five hidden layers and 30 neurons in each layer were selected for all three models. Specifically, the DSWNN model had five RBMs in the pre-training process, and the probability in the small-world transformation process was set as \(p=0.1\). Compared with the DSWNN, the DBN model had no process of small-world transformation, and it only included two processes: pre-training and fine-tuning. The DNN model was a standard multilayer feed-forward neural network, and its training process followed the error back-propagation principle. In terms of data preparation, the experimental data were divided into 20,000 fragments of training data and 6000 fragments of validation data. Moreover, each failure category contained a certain amount of fault data, where the data distribution is shown in Table 4. It is worth noting that all the data fragments provided are labeled on the basis of the corresponding fault types. During the model training, the DSWNN and DBN were first pre-trained by the data fragments with labels removed, and  
Figure 7: Fault prediction errors (**a**) by deep neural network (DNN); (**b**) by denoise auto-encoder (DAE); (**c**) by DSWNN. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**No.** & **Fault Names** & **No.** & **Fault Names** \\ \hline F1 & Pitch drive error & F6 & Brake position error \\ F2 & Hub drive error & F7 & Over speed during braking \\ F3 & Storage relay not reset & F8 & Pitch position error delay \\ F4 & Yaw brake fuse & F9 & Pitch position out of sync \\ F5 & Power interruption & F10 & _Fault free_ \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Fault list. then they were fine-tuned with these labeled data fragments. Simply, the DNN model used all labeled data for training and validating, which were conducted in a supervised environment. Figure 8 gives the classification accuracy of the three models. By comparison with the misclassified conditions shown in the confusion matrices, the DNN model easily misjudged the faults of F3, F5, F6, and F8, which was critical as these true negatives could cause serious consequences. F3 and F5 were electrical failures, the occurrence of which has strong randomness and contingency. F6 and F8 were related to the pitch angle, which is supposed to be monitored by wind speed, wind power, pitch encoder, and blade root torque, etc. The reason for these failures is that the random wind speed makes a strong impact on the blades. The essential requirement for diagnosing the above faults is that the classification algorithms used should have the ability to mine implied features from multiple operating data. However, this was exactly what the DNN model lacked because its network parameters were generated by random initialization without any theoretical basis. It is generally known that parameters directly affect the classification results. Fortunately, the DSWNN and DBN models used pre-training to get better network parameters, and their classification accuracy for all failures showed better performance than that of the DNN model (see Figure 8b,c). But the accuracy in diagnosing the fault F4 and F5 also decreased, which may have been caused by the lack of fault data in the training data.