# An Urban Traffic Flow Fusion Network Based on a Causal Spatiotemporal Graph Convolution Network
## 2 Preparations
### Graph Neural Networks  
It is known that typical convolution has brought great success in natural language processing and image processing. However, it can only process data of fixed input dimensions (dimension consistency) and the local input data must be sequential (series sequence); i.e., it is only applicable to regular data generated within Euclidean space. Obviously, traffic networks are not regular data, so how can convolution operations be performed on non-Euclidean spatial data? There are two basic methods for the application of CNN to non-Euclidean data. One is to expand the spatial definition of convolution [21], and the other is based on spectral theory and graph Fourier transform [22]. The former involves re-arranging the vertexes into a grid form that can be processed by normal convolution operations. The latter introduces spectral theory and converts the data from the spatial domain to the spectral domain for processing, and then back to the spatial domain after processing. This is known as spectral graph convolution.  
Our method is based on spectral graph convolution. The first graph convolution problem was how to define the Fourier transform on the graph, and the Laplacian matrix was introduced to fulfill the Fourier transform on the graph [22]. The graph Laplacian matrix is defined as \(L=D-A\). \(D\in\mathbb{R}^{N\times N}\) represents the diagonal matrix of the sum of the weights of all sides starting from node \(i\). \(D_{ii}=\sum\,jA_{i,j}\), the normalized Laplacian matrix, is defined as \(L=I_{n}-D^{-1/2}AD^{-1/2}\). The features of the Laplacian matrix are decomposed into \(L=U\Lambda U^{T}\), where \(U=(\overline{u_{1}},\ldots,\overline{u_{n}})\) is the feature vector of the Laplacian matrix. The diagonal matrix \(\Lambda=diag([\lambda_{1},\ldots,\lambda_{n}])\in\mathbb{R}^{N\times N}\) is composed of the feature values of the Laplacian matrix. Take the flow at time \(t\) as an example. The flow  
Figure 2: Composition g of traffic flow data in time and space. Red, yellow and green represent congestion, ordinary, and unblocked road conditions, respectively.  
signal on the graph is defined as \(x=x_{t}^{f}\in\mathbb{R}^{N}\). Through the graph Fourier transform, the flow signal is transformed from the spatial domain to the spectral domain, which is defined as \(\hat{x}=U^{T}x\in\mathbb{R}^{N}=(\hat{x}(\lambda_{1}),\ldots,\hat{x}(\lambda_{n}))\). Finally, the signal must be returned from the spectral domain to the spatial domain, because \(U\) is an orthogonal matrix. Therefore, the graph inverse Fourier transform is defined as \(x=U\hat{x}\). Graph convolution is a convolutional operation performed by using diagonal Laplacian operators in the graph Fourier transform, in place of the operators employed in conventional convolution [36]. The signal \(x\) on the traffic network graph \(G\) is filtered through the kernel \(g_{\theta}=diag\big{(}U^{T}g\big{)}\), where \(U^{T}g=\hat{g}=(\hat{g}(\lambda_{1}),\ldots,\hat{g}(\lambda_{n}))\):  
\[x*_{G}g_{\theta}=U\big{(}U^{T}x\odot U^{T}g\big{)}=Ug_{\theta}(\Lambda)U^{T}x \tag{1}\]