# Clustering Analysis of Wind Turbine Alarm Sequences Based on Domain Knowledge-Fused Word2 vec
## 5 Results and Discussion
### Case Study  
An example of a raw alarm sequence record is presented in Table 4. The fault type of the alarm sequence is pitch system driver fault, which arises due to an under-voltage condition in the power supply. There are 31 alarm records in the raw data. To ensure data confidentiality, we have concealed critical identifying information. The repetitive alarms and chattering alarms are respectively labeled as blue and red. After removing these redundant alarms, the obtained alarm code sequence is [12, 14, I200, 14, I4, T21, T211, A155, A31, T349, T319, T484, T43, T353, T354, T355, A157, T110, T392, T393, T391, T353]. Then, it will serve as one of the inputs for the proposed DK-Word2 vec model.  
The proposed DK-Word2 vec model, upon being trained on all alarm sequences and their corresponding category information, yields vector representations for all alarms. Each alarm's vector has a dimensionality of 50. For instance, the vector representation of alarm T353 is denoted as \(\mathbf{v}_{\text{T353}}=\left[-0.0340507,0.166678,\ldots,-0.0206187\right]^ {T}\in\mathbb{R}^{50}\). In order to visually represent the vector relationships between different alarms more effectively, we employed t-SNE to reduce the dimensionality of alarm vectors to three dimensions. All alarm vectors are depicted in Figure 6. Within the aforementioned alarm sequence, alarms T391, T392, and T393 correspond to low voltage in three battery cabinets of the variable pitch system, while alarms T353, T354, and T355 correspond to low voltage in the three blades. These alarms are frequently triggered simultaneously, exhibiting a noticeable clustering trend in the visualization. This indicates that numerical vectors can depict the interrelated relationships among alarms.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Turbine** & **Triggering** & **Alarm Types** & **Alarm Codes** & **Alarm Flags** & **Description** \\
**Number** & **Time** & **Alarm Types** & **Alarm Codes** & **Alarm Flags** & **Description** \\ \hline \hline \multirow{3}{*}{PX} & 5 September & \multirow{3}{*}{Information} & I2 & Start & - \\  & 2016 15:43:29 & & & & \\  & 6 September & \multirow{3}{*}{Information} & I4 & Start & - \\  & 2016 05:12:23 & & & & \\  & 6 September & \multirow{3}{*}{Information} & I4 & End & - \\  & 2016 05:12:27 & & & & \\  & 9 September & \multirow{3}{*}{Information} & I200 & Start & - \\  & 2016 04:25:26 & & & & \\  & 9 September & \multirow{3}{*}{Information} & I200 & End & - \\  & 2016 04:43:37 & & & & \\  & 9 September & \multirow{3}{*}{Information} & I4 & Start & - \\  & 2016 20:52:36 & & & & \\  & 9 September & \multirow{3}{*}{Information} & I4 & Start & - \\  & 2016 20:52:40 & & & & \\  & 10 September & \multirow{3}{*}{Fault} & T21 & Start & - \\  & 2016 07:52:58 & & & & \\  & 10 September & \multirow{3}{*}{Fault} & T211 & Start & - \\  & 2016 07:52:59 & & & & \\  & 10 September & \multirow{3}{*}{Warning} & A155 & Start & - \\  & 2016 07:53:00 & & & & \\  & 2016 07:53:00 & & & & \\  & 10 September & \multirow{3}{*}{Fault} & T349 & Start & - \\  & 2016 07:53:00 & & & & \\  & 2016 07:53:00 & & & & \\  & 2016 07:  
Subsequently, the aforementioned alarm sequences can be represented as a sequence of vectors, denoted as \([\mathbf{v}_{\mathrm{I2}},\mathbf{v}_{\mathrm{I4}},\mathbf{v}_{\mathrm{I200}}, \ldots,\mathbf{v}_{\mathrm{T353}}]\). Following this, the K-means algorithm will be applied to conduct cluster analysis on all vector sequences.