## 4 Proposed Framework
### Spatial Graph Convolution  
The traffic movement on an intersection can be naturally represented in a graph structure, where each lane is represented as a node and an edge connects two nodes if one lane is feeding into another. We represent each detector (stop bar or advance) as a node and an edge exists between two nodes if there is a direct connection between them. Graph convolutions provide a natural and meaningful way to extract features that can be used by higher layers where connectivity/spatial information has to be incorporated. Unlike standard Convolution Networks (CNNs) or Recurrent Networks (RNNs), graph convolutions can operate on irregularly structured data and can easily exploit the spatial structure of the intersection. Although CNNs are useful to generate adjacent spatial features, they are limited to regular/fixed grids). In addition to being capable of handling different intersection topologies using graphs, representing an intersection as a graph structure can help the model learn from the spatial structure of the intersection, thereby providing relational inductive bias to the model. This also helps the model to generalize better for unseen intersections during the training phase [20]. Spatio-temporal graph convolution networks have been successfully used for city-scale traffic forecasting [21], where they show that their model outperforms other state-of-the-baseline models on a real world traffic dataset. Our approach models traffic at a much finer granularity as compare to the work in [21] (5 s versus 5 min). Several methods have been proposed for generalizing convolutions on graphs [22], and they can be broadly classified into spectral-based or spatial-based methods. The spectral approach tend to capture the global structure of the graph more accurately than spatial methods. Unfortunately, spectral convolution methods require the eigen-decomposition of the graph laplacian, which is computationally expensive. There are several good approximation approaches available for spectral-based graph convolutions [23; 24; 25]. Considering the large size of our dataset, we employ the approach proposed by [23] based on first order approximation of localized spectral filters. Consider an intersection is represented as graph \(\mathbf{G}=\{\mathbf{V},\mathbf{E},\mathbf{A}\}\), consists of set of detectors \(\mathbf{V}\) and \(|\mathbf{V}|=n\), set of edges \(\mathbf{E}\), and adjacency matrix \(\mathbf{A}\). If there exists an edge between node \(i\), node \(j\) then \(\mathbf{A}(i,j)=1\), 0 otherwise. Each node of the graph is represented as a vector \(\mathbf{x}\in\mathbf{R}^{t}\), this corresponds to arrival waveform with \(t\) timesteps. Let \(\mathbf{X}\in\mathbf{R}^{n\times t}\) be the node attribute matrix of the graph (\(n\) detectors, \(t\) timesteps). The notion of graph convolution operator in spectral graph convolution for a signal \(X\) with kernel \(\Theta\) can be seen as:  
\[\Theta_{*\mathbf{G}}X=\Theta\Big{(}\mathbf{U}\Lambda\mathbf{U}^{T}\Big{)}X \tag{1}\]  
where \(\mathbf{U}\in\mathbf{R}^{n\times n}\) is the matrix of Eigenvectors of the normalized graph laplacian; \(\Lambda\in\mathbf{R}^{n\times n}\) is the diagonal matrix of eigenvalues. As discussed earlier, we use approximate methods to compute \(\Theta\). The convolution layer can be formulated as:  
\[\mathbf{X}^{p+1}=\sigma\Big{(}\tilde{\mathbf{D}}^{-\frac{1}{2}}\tilde{\mathbf{ A}}\tilde{\mathbf{D}}^{-\frac{1}{2}}\mathbf{X}^{p}\Theta^{p}\Big{)} \tag{2}\]  
where, \(\tilde{\mathbf{A}}=\mathbf{I}+\mathbf{A}\) is the adjacency matrix of graph \(\mathbf{G}\), \(\tilde{\mathbf{D}}=\sum_{j=1}^{n}\tilde{\mathbf{A}_{ij}}\) is the diagonal degree matrix of \(\tilde{\mathbf{A}}\), \(\Theta^{p}\) is trainable weight matrix of layer \(p\), and \(\sigma(. )\) is the activation function The above equation represents the layer wise propagation rule that makes up a single layer of the graph convolution. At a high level, this graph convolution operation aggregates the neighboring node features at each layer.