## 3 Fusion Prediction Based on Data Augmentation
### Deep Prediction Model Based on Trend Decomposition  
Obviously, the simpler the data trend, the better the prediction result. In this method, the augmentation sets are decomposed into subsets for specific analysis. In the decomposition, STL (seasonal-trend decomposition procedure based on loess) [36] is introduced to obtain the subsets of trend, period, and fluctuation. STL is formulated in independent components, as shown in Formula (3).  
\[Y_{t}=T_{t}+S_{t}+R_{t}\ t=1,2,\ldots,N \tag{3}\]  
where \(T_{t}\), \(S_{t}\), and \(R_{t}\) are the trend, period, and fluctuation components, respectively. The loess (locally weighted scatterplot smoothing) [37] smoother is based on fitting a weighted polynomial regression for a given observation time, where weights decrease with their distance from the nearest neighbor. The calculation process of STL is presented with the loop mode in Figure 2. The time series is fitted iteratively until the trend and seasonality stabilize. In a multi-step process, moving averages alternate with loess smoothing.  
The STL algorithm includes a series of loess smoothing, using loess smoothing periodic subsequences on the original data and extending a period before and after each. The window length is \(n_{(p)}\). The resulting periodic subsequence is denoted as \(C_{v}^{(k+1)}\), \(v=-n_{(p)}+1,\ldots,-N+n_{(p)}\). A moving average is performed on the obtained periodic subsequences, \(C_{v}^{(k+1)}\). Then, loess is used to smooth the sequence. Finally, the low-throughput sequence of the periodic subsequence is obtained, denoted as \(L_{v}^{(k+1)},v=1,\ldots,-N\). The trend component is subtracted from the smoothed periodic subsequence to obtain the periodic component, denoted as \(S_{v}^{(k+1)}=C_{v}^{(k+1)}-L_{v}^{(k+1)}\).  
Three subsequences of trend, period, and fluctuation are obtained through the STL algorithm for the augmentation set. The GRU is used for fitting and feature extraction for each subsequence separately. The basic structure of the GRU is shown in Figure 3, in which two types of gates are the main components. The update gate (block 2 in Figure 3) controls the degree to which the state information at a previous time is brought into the current state. The larger the value of the update gate, the more status information from a previous moment is brought in. The reset gate (block 1 in Figure 3) decides how much information is written to the current candidate activation, \(\widetilde{h}_{t}\), in the previous state. The smaller the reset gate, the less information about the previous state is written.  
The output, \(h_{t}\), from each GRU cell in Figure 3 is obtained as  
\[\begin{array}{l}z_{t}=\sigma(x_{t}U^{z}+h_{t-1}W^{z}+b^{z})\\ r_{t}=\sigma(x_{t}U^{r}+h_{t-1}W^{r}+b^{r})\\ \widetilde{h}_{t}=\tanh(x_{t}U^{h}+(h_{t-1}\sigma_{t})W^{h}+b^{h})\\ h_{t}=(1-z_{t})\widetilde{h}_{t}+z_{t}\circ h_{t-1}\end{array} \tag{4}\]  
where \(z_{t}\), \(r_{t}\), \(b^{z}\), and \(b^{r}\) are the update gate, reset gate, current candidate activation, and activation of the GRU at time \(t\), respectively. \(\widetilde{h}_{t}\) represents the hidden state of the previous time step. \(U^{z}\), \(U^{r}\), \(U^{h}\), \(W^{z}\), \(W^{r}\), and \(W^{h}\) are weight matrices to be learned during model training. \(\circ\) is an element-wise multiplication. \(\sigma\) and \(\tanh\) are activation functions.  
Figure 3: Structure of a GRU cell.  
Figure 2: Flowchart of the data decomposition based on STL.  
The decomposed subsets are predicted with three GRU networks correspondingly. The sub-outputs are added to obtain the result of the augmentation subset.