## 5 Case Study
### Data Set and Test Description  
For the test system, only the historical wind power data and the NWP data are provided. The wind speed data are not included. The historical wind power is from the field measurement and the NWP is from the meteorology station. The NWP wind speed at the height of 170, 100, 30 and 10 m are used for the analysis. According to the analysis in 2.1, the cubic NWP windspeed can reflect the tendency of  
Figure 5: Multi-modal multi-task graph spatiotemporal network (M2 GSNet) model for wind farm cluster power prediction. wind power more effectively. So, we use the cubic NWP windspeed rather than the NWP windspeed as the input of the model. The location of those wind farms in the cluster is as Figure 6.  
The red point in the figure is the wind farm and the number in the array is the wind farm number and the capacity, respectively. The whole capacity of the wind farm cluster is 2854.31 MW. The wind farms with strong correlation are linked together according to the adjacent matrix computed by Equation (6). Data from 2019 are used for the model training and testing. The training set include 8000 samples (from 2019-01-01 08:15:00 A.M. to 2019-03-25 04:00:00 P.M.) and the testing set include 2000 samples (from 2019-03-25 04:15:00 P.M. to 2019-04-15 12:00:00 P.M.). The training samples are randomly scrambled to avoid overfitting of the model. The measurement and prediction interval of the data is 15 min. However, the wind power and cubic wind speed have different units, the normalization is used as follows. \[x=\frac{x_{m}-x_{min}}{x_{max}-x_{min}} \tag{16}\]  
The root mean square error (RMSE) and mean absolute error (MAE) are selected as the evaluation metric to assess the performance of the model on the testing set:  
\[RMSE=\sqrt{\frac{1}{K}\sum_{i=1}^{K}(x_{ti}-\hat{x}_{ti})^{2}} \tag{17}\]  
\[MAE=\frac{1}{K}\sum_{i=1}^{K}|x_{ti}-\hat{x}_{ti}| \tag{18}\]  
Figure 6: The location of wind farms in the northeast part of China. where \(x_{ti}\) and \(\hat{x}_{ti}\) are the normalized true value and normalized predicted value in prediction scenario \(i\) at prediction time step \(t\). \(K\) is the number in the test set. To represent the prediction error of scenarios, we design another index:  
\[Ind_{i}=\frac{1}{16}\sum_{t=1}^{16}\lvert x_{ti}-\hat{x}_{ti}\rvert \tag{19}\]  
In each scenario, there are 16 time steps and the maximum value of the time step is 16. The index is used to assess the similarity of a given scenario and it reflects the average deviation of true value and predicted value in each time step. The sensitivity of some hyper-parameters is taken into account, such as learning rate and the hidden state number, which are very important for the training process [33]. However, it is impossible to do the grid search on the whole parameter space. So, the hyper-parameter is determined according to the grid search combined by human experience. The learning rate is chosen from the set (0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4), The hidden layer numbers of the graph convolutional part for historical wind power and wind speed are both chosen from the set (10, 20, 30, 40, 50, 60, 70, 80, 90, 100). The input lengths of the historical wind power and cubic NWP windspeed are chosen from set (20, 30, 40, 50, 60). We decided the optimal value according to the prediction error in the fourth hour. The parameter combination with the lowest prediction error is the optimal value. After adjusting the structure and parameters of the model, the parameters of the final model are as follows. In the M2 GSNet model, input characteristic matrix \(P_{t-M+1:t}\) is the power measurement information of each node on the graph. It includes 40 time steps (\(M=40\)), which require 10 h of power data of 20 wind farms to predict the power of the next 16 time steps (4 h). Input characteristic matrix \(P_{t+1:t+N}\) selects the NWP data of each node. It includes 20 time steps (\(N=20\)), which require 5 h wind speed of 20 wind farms in the future to predict the output.