## 2 Materials and Methods
### Recurrent Neural Networks  
In machine learning, RNNs are mainly used for analysis of time series data and sequence data [36]. The input of the multilayer neural network is activated only in the output direction, and the node of the hidden layer cannot utilize the past information (input); however, the RNN has a circular internal structure, as shown in Figure 4, which allows past information to be used. The RNN receives and processes the elements constituting time series data or sequence data one at a time, creates a corresponding internal node according to the input time, and stores the information processed up to that point. Information stored in this way can be output through the output node. Because of these characteristics, RNNs have been used in fields such as speech recognition, language recognition, and handwriting recognition with good results [37].  
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline \multirow{2}{*}{**Month**} & \multirow{2}{*}{**Relationship**} & \multirow{2}{*}{**SSE**} & \multirow{2}{*}{**\(R^{2}\)(R)**} & \multirow{2}{*}{**RMSE**} \\ \hline \multirow{5}{*}{4} & SP/SR & & 1.94 \(\times\) 10\({}^{5}\) & & 0.8196(+0.9053) & & 16.4291 \\  & SP/Sunlight & & 4.51 \(\times\) 10\({}^{5}\) & & 0.5805(+0.7619) & & 25.0547 \\ \cline{1-1}  & SP/Humidity & & 7.27 \(\times\) 10\({}^{5}\) & & 0.3237(\(-\)0.5689) & & 31.8131 \\ \cline{1-1}  & SP/Temperature & & 7.81 \(\times\) 10\({}^{5}\) & & 0.2733(\(+\)0.5227) & & 32.9771 \\ \cline{1-1}  & SP/CC & & 1.06 \(\times\) 10\({}^{5}\) & & 0.0096(\(-\)0.0979) & & 37.4975 \\ \cline{1-1}  & SP/WS & & 1.07 \(\times\) 10\({}^{6}\) & & 0.0313(\(+\)0.1769) & & 38.0740 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Performance comparison of solar power vs. meteorological factors. Bolded values are the best in the comparison.  
\begin{table}
\begin{tabular}{c c c c c c c c c c c c} \hline \hline  & \multicolumn{2}{c}{**SP/SR**} & \multicolumn{2}{c}{**SP/Sunlight**} & \multicolumn{2}{c}{**SP/Humidity**} & \multicolumn{2}{c}{**SP/Temperature**} & \multicolumn{2}{c}{**SP/CC**} & \multicolumn{2}{c}{**SP/WS**} \\ \cline{2-11}  & **x** & **y** & **x** & **y** & **x** & **y** & **x** & **y** & **x** & **y** & **x** & **y** \\ \hline min & 0 & 0 & 0 & 0 & 14 & 0 & 0.1 & 0 & 0 & 0 & 0 & 0 \\ \hline max & 3.35 & 136 & 1 & 136 & 100 & 136 & 26.7 & 136 & 10 & 136 & 7.5 & 136 \\ \In Figure 4, the weight between the input layer and the hidden layer is represented by \(U\), the weight between the hidden layer and the output layer is represented by \(V\), and the weight between the hidden layers is represented by \(W\). Since RNNs share weights, they have the same weights \(U,\,V,\,\) and \(W\) at all times. The weight-sharing function improves prediction ability, saves computation time, and has an advantage when the number of inputs is variable:  
\[h_{t}=\tanh(U\times x_{t}+W\times h_{t-1}), \tag{1}\]  
\[o_{t}=\sigma(V\times h_{t}). \tag{2}\]  
In Equations (1) and (2), \(x_{t}\) is the value of the input layer at time \(t\), \(h_{t-1}\) is the value of the hidden layer at time \(t-1\), and \(o_{t}\) is the value of the output layer at time \(t\). The activation functions used in \(h_{t}\) and \(o_{t}\) are the hyperbolic tangent function (_tanh_) and the sigmoid (\(\sigma\)) function, respectively.