# GCN-Informer: A Novel Framework for Mid-Term Photovoltaic Power Forecasting
## 4 Experiment and Analysis  
### Implementation Details and Benchmark Model  
The task of predicting power generation is divided into two parts: encoder and decoder. The encoder section consists of an attention layer and a distillation layer, which work to extract relevant information from the input data. The attention layer aims to focus on key portions of the input while ignoring the rest while the distillation layer works to reduce the size of the input by eliminating redundant features. As a complement to the encoder, the decoder consists of a multi-head self-attention layer and a GCN module. In the multi-head self-attention layer, this paper introduces a creative technique that uses the product of attention between query and key as the adjacency matrix for GCN, iteratively updating the values of query and key. The purpose of this step is to extract hide features between neighboring data points more effectively. The initial parameters we set are as shown in Table 2. All models are implemented using the PyTorch library, which is a well-known machine learning framework for efficiently deploying deep neural networks. Overall, this architecture appears to be a promising approach to addressing the challenging task of predicting electricity generation. This paper aimed to compare the performance of the GCN-Informer model with nine other deep learning and non-deep learning models in predicting power generation for a week using the same dataset. The objective was to evaluate each model's accuracy in making accurate predictions within the designated time frame. Through Table 3 and Figure 5, an overview of the accuracy levels of all the models is provided. \begin{table}
\begin{tabular}{c c} \hline
**Input** & **Variable** \\ \hline seq\_len & 96 \\ label\_len & 48 \\ pred\_len & 168 \\ enc\_in & 7 \\ dec\_in & 7 \\ c\_out & 1 \\ d\_model & 512 \\ n\_heads & 8 \\ e\_layers & 2 \\ d\_layers & 1 \\ d\_ff & 2048 \\ factor & 5 \\ dropout & 0. 05 \\ itr & 50 \\ train\_epochs & 1000 \\ batch\_size & 32 \\ patience & 3 \\ learning\_rate & 0.0001 \\ \hline \end{tabular}
\end{table} 
Table 2: Parameters of GCN–Informer. \begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline
**Ours** & **Informer** & **Autoformer** & **Preformer** & **Reformer** & **Transformer** & **FEDformer** & **LSTM** & **BP Neural** & **GRU** \\ \hline MSE & 0.159 & 0.165 & 0.177 & 0.34 & 0.169 & 0.164 & 0.31 & 0.504 & 0.703 & 0.473 \\ MAE & 0.199 & 0.218 & 0.24 & 0.347 & 0.2 & 0.222 & 0.374 & 0.622 & 0.759 & 0.695 \\ \hline \end{tabular}
\end{table} 
Table 3: The evaluation indicators for all models. Upon analyzing the results in Figure 6, it is evident that all models are capable of producing final predictions. However, the GCN-Informer model demonstrated significantly superior performance compared to the other models. In the first 24 h, all models exhibited remarkably similar predictive abilities to the actual values. However, as we approached the final three days, significant disparities emerged among the various models' forecasting capabilities. Not only did these differences evolve over time, but all models displayed fairly accurate predictions on sunny days. On cloudy days, however, the GCN-Informer model showcased a substantial advantage over the other models in terms of its predictive accuracy. Several factors can help explain this notable advantage. Firstly, the GCN-Informer model utilizes Graph Convolutional Networks (GCNs), which excel at capturing relationships between data points in a graph-like structure. Since power generation involves intricate interdependencies and interactions between various factors such as weather conditions, energy demand, and network infrastructure, the GCN-Informer model's ability to incorporate these complex relationships enhances its  
Figure 5: The evaluation indicators for all models. Figure 6: The predicted results for all models. predictive capabilities. In contrast, traditional machine learning models may struggle to capture these intricate dependencies effectively.