## 3 Materials and Methods
### Methods
#### 3.2.4 Prediction Models  
Multivariate time series analysis considers multiple time series at the same time. Multivariate time series research is much more complex than univariate time series research, but in real life, decision-making or prediction often involves multiple related factors or variables. It is valuable to understand the relationship between these factors and give accurate prediction results of these variables. The purpose of multivariate time series analysis is to study the dynamic relationship between variables and improve the accuracy of prediction [36]. In this paper, for the prediction of different components obtained by the clustering part, we obtain the relationship between data of each base station by causal structure learning. Next, we make multivariate time series prediction based on causal structure learning for three components. Graph convolution network (GCN) was used for time series prediction [37; 38; 39]. Unlike CNN, the input of GCN is graph structured data. CNN can obtain local spatial features, GCN which can process arbitrary graph structure data has attracted extensive attention [40]. In the application of GCN, graph embedding was applied to the prediction model. In recent years, embedding technology has attracted great attention in the field of machine learning and deep learning. Among them, the purpose of graph embedding is to use low dimensional and real value vectors to represent the nodes in graph and the relationship between nodes. Graph shows a two-dimensional relationship, while time series is one-dimensional data. Therefore, it is necessary to convert the graph into an embedded graph. Obtaining complex spatial correlation is a key problem in time series prediction. Most studies on spatial dependence in GCN for time series prediction are based on geographical distribution [40; 41; 42]. ```
1:Stage 1 Causality Construction
2:INPUT:\(C=[C_{1},C_{2}...C_{N}]\) and N
3:\(\forall C_{i}\in C,C_{j}\in C\)
4:for\(i=1:N\)do
5:for\(j=1:N\)do
6: Transfer entropy calculation between node \(C_{i}\) and node \(C_{j}\) according to Function (11). 7:if\(T_{C_{i}\to C_{j}}\geq 1\)then
8: Create a directed edge from node \(i\) to node \(j\). 9:endif
10:endfor
11:endfor
12:Stage 2 Causality Optimization
13:for\(i=1:n\)do
14:for\(j=1:n\)do
15:for\(k=1:n\)do
16:if\(T_{C_{i}\to C_{k}}\geq 1\&\&T_{C_{j}\to C_{k}}\geq 1\&\&T_{C_{i}\to C_{j}}\geq T_{C_{i}\to C_{k}}\)then
17: Delete the directed edge between node \(i\) and node \(k\). 18:elseDelete the directed edge between node \(i\) and node \(j\). 19:endif
20:endfor
21:endfor
22:endfor
23:OUTPUT: Causality Graph \(D\). ```  
**Algorithm 2** Causal Structure Learning. In this paper, causal graph obtained by causal structure learning can not only describe the geographical attributes of data, but also imply the causal relationship between data. Structure of GCN in this paper is shown in Figure 5. When predicting each component of traffic of each area, we embed the structure of causality into the model. Causality graph can be expressed in the form of matrix. We assumed that each node in GCN represents the component time series of a base station, such as \(x_{22}^{trend}\) in Expression (14), where 22 represents time series of trend component of the 22 nd base station. A \(T*22\) matrix was used as input of GCN, where \(T\) is the length of time series. Matrices of three components were shown in Expressions (14)-(16). \[X^{trend}=\left[x_{1}^{trend},x_{2}^{trend}....x_{22}^{trend}\right]^{T} \tag{14}\]  
\[X^{periodic}=\left[x_{1}^{periodic},x_{2}^{periodic}....x_{22}^{ periodic}\right]^{T} \tag{15}\]  
\[X^{essential}=\left[x_{1}^{essential},x_{2}^{essential}....x_{22}^{ essential}\right]^{T} \tag{16}\]  
Figure 5: GCN structure. A causal graph can be expressed in a form of matrix. \(A\) is the matrix symbolizing causal structure. The spatial-causal-based adjacency matrix for any component can be expressed as Expression (17).