Paper · 2023-07-07 · cs.LG, cs.AI
A Survey on Graph Neural Networks for Time Series: Forecasting, Classification, Imputation, and Anomaly Detection
Survey of graph neural networks for time series (GNN4TS) across forecasting, classification, anomaly detection and imputation. It gives a task taxonomy and a spatial, temporal and architecture taxonomy of spatial-temporal GNNs, with each task's objective, graph-construction rules and application areas. It runs no experiments, so it reports no new numbers.
Graph neural networkTime series forecastingAnomaly detectionTime-series imputationgraph-neural-networkstime-seriesforecastinganomaly-detectionimputationclassificationsurvey
AI-compiled by claude-haiku-5-5 on 2026-10-19, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Many time series are not independent. Sensors on neighbouring roads, or variables inside one machine, influence each other, and a shift at one place can spread to the others. A graph neural network (GNN) is a model that passes information along the links of a graph, so it can use these relations. This survey gathers the research that applies GNNs to time series.
It sorts that work into four jobs: predicting future values, labelling whole series, flagging unusual behaviour, and filling in missing values. It also sorts the models by how they handle the time part, how they handle the links between series, and how the two parts are combined. The survey then lists application areas and open questions. It presents no new experiments, so the card reports no new results.
TL;DR
A survey, not a method: it defines graph neural networks for time series (GNN4TS), and organises the four tasks of forecasting, classification, anomaly detection and imputation by objective and by model architecture §3. It lists the graph-construction rules used in the literature §2. It runs no experiments and gives no new benchmark numbers §1. Use it as a map to the literature and a reference for the task objectives, not as evidence for any single method.
Problem
Classic tools for time series, such as support vector regression, gradient boosted trees, vector autoregression and ARIMA, struggle with nonlinear behaviour and with relations between variables §1. Convolutional, recurrent and transformer models model time and sometimes variables, but do not explicitly model the relations between series in a non-Euclidean space §1. The survey argues that GNNs can represent both the time dependence and the relations between variables, and that earlier surveys cover only parts of this field §1, tab. 1.
Method
The survey gives definitions and a framework, not a single algorithm. It proceeds in five steps.
1. Data as a spatial-temporal graph. A multivariate series is a sequence of N-dimensional observations §2, Def. 2. A spatial-temporal graph is a sequence of attributed graphs, one per time step, each with an adjacency matrix A_t and node features X_t §2, Def. 3. The adjacency may be fixed or may change over time §2, Def. 3. Figure 2 shows examples with fixed and with dynamic graph structure fig. 2.
2. Graph neural network layer. A GNN layer aggregates messages from the neighbours of each node and combines them with the node's previous state §2, Def. 4, eq. 1. The survey treats spatial GNNs, which work on the node neighbourhood, separately from spectral GNNs, which work through graph spectral theory, and defers the spectral details to other work §2.
3. Where the graph comes from. Four heuristics are listed §2:
- inverse shortest travel distance for geo-located nodes §2, eq. 2;
- a 0/1 adjacency for directly linked nodes, such as roads §2, eq. 3;
- similarity between series, such as cosine similarity, with Pearson correlation and dynamic time warping as variants §2, eq. 4;
- a 0/1 adjacency from Granger causality at a significance level α §2, eq. 5.
Learned graphs define A = ρ(Θ, X) with trainable parameters Θ §2. Examples are embedding-based adjacency with a ReLU, attention scores, top-k sparsification, and a learned discrete distribution p_Θ(A | X) §2.
4. The four tasks. Each task has a model f_θ (a spatial-temporal GNN) and a task head p_φ, typically a multi-layer perceptron §3.1, §3.2.
- Forecasting. Predict Y from the past T steps of X and A, minimising a forecasting loss §3.1, eq. 6. Single-step and multi-step settings are distinguished, as are deterministic and probabilistic models §3.1, §4.
- Anomaly detection. Train on mostly normal data with a backbone and a scorer §5.1. The backbone is a reconstructor, a forecaster or a relational model. The scorer turns discrepancies into a score, first per channel, then across channels §5.1, §5.2.
- Imputation. Train with the same encoder and a head that fills missing values §3.1, eq. 7. The clean reference is not available during training, so a surrogate objective is used, for example with synthetic missing values §3.1. In-sample imputation fills gaps in the training series; out-of-sample imputation estimates disjoint or unobserved series §3.1, §7.
- Classification. Map a series, or a set of series, to a label with a GNN and a classifier §3.1, eq. 8. Series-as-Graph turns one series into a graph of subsequences. Series-as-Node makes each series a node in a graph over the dataset §6.1, fig. 4.
5. Architecture choices. The spatial module is spectral, spatial (diffusion or message passing) or hybrid. The temporal module works in the time domain (recurrent, convolutional, attention, or hybrid) or the frequency domain §3.2. The overall model is discrete or continuous, and each is factorised (space and time processed separately) or coupled (interleaved) §3.2, §4.3. The general pipeline cleans and normalises the data, extracts the graph, runs the STGNN, and passes its output to a task head §3.2, fig. 6.
The following pseudocode restates the forecasting objective §3.1, eq. 6 and the anomaly score built from a forecaster §5.1. It is a sketch, not an implementation. The survey does not fix tensor shapes §2, §3.1.
# Forecasting training step [eq. 6] [§3.1]
# Input: history (T, N, D) of past steps; adjacency (T, N, N); target Y
# Output: scalar loss
def forecasting_loss(history, adjacency, target, loss_fn):
# Encode the spatial-temporal graph with the GNN f_theta [§3.1] [§3.2]
representation = stgnn(history, adjacency)
# Map the representation to the forecast with the predictor p_phi [§3.1]
prediction = predictor(representation)
# Compare with the target using the forecasting loss L_F [§3.1]
return loss_fn(prediction, target)# Anomaly score from a forecasting backbone [§5.1]
# Input: observed (N,) and one-step forecast (N,)
# Output: score (scalar), channel_errors (N,)
def anomaly_score(observed, forecast):
# Discrepancy for each channel: absolute forecast error [§5.1]
channel_errors = abs(observed - forecast)
# Consolidate the channels by summation [§5.1]
score = sum(channel_errors)
# Per-channel errors point to the variables responsible [§5.1]
return score, channel_errors# Distance-based adjacency [eq. 2] [§2]
# Input: distances (N, N), shortest travel distance between nodes
# Output: adjacency (N, N)
def proximity_adjacency(distances):
# Start with zero weights, meaning no edge [eq. 2]
adjacency = zeros_like(distances)
# Inverse distance for every pair with d_ij != 0 [eq. 2]
for i, j in node_pairs(distances):
if distances[i, j] != 0:
adjacency[i, j] = 1 / distances[i, j]
return adjacencyHyperparameters
The survey trains nothing and reports no training settings §1–§10. The parameters below are the ones it names, with the values it gives.
| Name | Value | Where | Notes |
|---|---|---|---|
| Forecast horizon H | not stated | §3.1 | symbolic; single-step vs multi-step |
| Input length T | not stated | §3.1 | window of past steps |
| Granger significance level α | not stated | §2, eq. 5 | |
| Sparsification (top-k or ReLU threshold) | k not stated | §2 | applied to learned graphs |
| Window size W (Series-as-Graph) | not stated | §6.1 | subsequences become nodes |
| Anomaly threshold | not stated | §5.1 | "aligned with a desired false alarm rate" |
| Forecasting/imputation loss | absolute or squared error | §3.1 | the choice is not fixed |
| Task head | multi-layer perceptron (typical) | §3.1 | "normally" a MLP |
Results
Author-reported. The survey runs no experiments of its own, and its text has no results section §1–§10. Its appendix lists benchmark datasets with their statistics, not results app. F. A few entries, as listed there:
| Task | Dataset | Samples | Nodes | Sampling | Missing ratio | Source |
|---|---|---|---|---|---|---|
| Forecasting and imputation | METR-LA | 34,272 | 207 | 5 min | 8.109% | app. F |
| Forecasting and imputation | PeMS-BAY | 52,116 | 325 | 5 min | 0.003% | app. F |
| Anomaly detection | SMD | 608,342 | 38 | 1 min | 5.84% | app. F |
| Anomaly detection | SMAP | 562,800 | 25 | 1 min | 13.13% | app. F |
| Anomaly detection | MSL | 132,046 | 55 | 1 min | 10.72% | app. F |
| Anomaly detection | SWaT | 925,010 | 51 | 1 s | 11.97% | app. F |
| Anomaly detection | WADI | 1.4 million | 127 | 1 s | 5.99% | app. F |
| Forecasting and imputation | AQI | 8,759 | 437 | 30 min | 25.7% | app. F |
| Classification | UCR Archive | 40 to 24,000 | 1 | varies | not applicable | app. F |
| Classification | UEA Repository | 27 to 50,000 | varies | 2 to 1345 | not applicable | app. F |
The survey's own claim is about coverage: it is said to be the first comprehensive survey of GNNs across all four tasks §1. Table 1 rates other surveys as fully, partly or not covered on each task tab. 1.
Paper vs code
No official code. The paper's only link is a project page, https://github.com/KimMeen/Awesome-GNN4TS, which the abstract page names as its project page p. 1. By its name it is a paper list (an awesome-style index), not implementation code, so it was not cloned. The implementation table lists the repositories of the cited methods app. F. Those belong to other authors and are not this survey's code, so they are not used here.
Pitfalls
- No experiments. Every number here comes from cited works, not from runs in this paper. Methods are not compared on a shared split or protocol.
- Shape notation is inconsistent. Definition 2 writes a multivariate series as X ∈ R^{N×T} §2, Def. 2, while Definition 3 and eq. 6 use per-step X_t and a window X_{t-T:t} §2, Def. 3 §3.1, eq. 6. The time axis and feature dimension D must be fixed by the implementer.
- Similarity graphs are dense as written. Eq. 4 gives every pair a weight and has no threshold or k §2, eq. 4. The text says the norm is Euclidean and names Pearson correlation and DTW as variants without formulas §2.
- Zero distance means no edge. Eq. 2 sets A_ij = 0 whenever d_ij = 0 [§2, eq. 2]. Co-located nodes, and self-loops, are not discussed.
- Two different consolidation rules for anomaly scores. §5.1 sums absolute channel errors §5.1. §5.2 describes GDN as using the maximum channel error §5.2. A sum and a maximum react differently to one large channel error versus many small ones. Pick one and state it.
- The anomaly threshold has no value. The survey says it should match a desired false alarm rate and the rarity of anomalies, with no rule §5.1.
- Imputation masking is unspecified. The survey notes that a surrogate objective is required because the clean reference is unavailable, but does not give a masking scheme §3.1, §7. Look up the cited imputation papers.
- Series-as-Node graphs need a rule. Edges come from pairwise DTW distances, but no threshold or k is given §6.1. The O(L) versus O(L^2) cost claim for LB-SimTSC is the cited work's claim, not derived here §6.1.
- Spectral GNNs are not specified. Spectral filters are only named and deferred to other work §2, §3.2. The survey gives no filter formula.
- The version matters. This card follows arXiv v3, updated 2024-08-09. Table 1 lists the survey's own year as 2024, while the first version is dated 2023-07-07 tab. 1 [metadata].
- Table 1 ratings are judgements. The "fully/partly/not covered" marks are the authors' assessment, not a measurement tab. 1.
Lineage
- Builds on: none stated. The survey positions itself against seven earlier surveys: Wang et al. (2019), Ye et al. (2020), Jiang and Luo (2021), Bui et al. (2022), Jin et al. (2023), Al Sahili and Awad (2023) and Rahmani et al. (2023) §1, tab. 1. The Jin et al. (2023) survey on spatio-temporal GNNs for urban computing has a card: /papers/2303.14483.
- Covered methods with cards on this site: GDN, an anomaly detector with a graph-structure module and a forecaster §5.2 (/papers/2106.06947); GRIN, a graph recurrent imputation network §7.1 (/papers/2108.00298); STGODE, a continuous spatial-temporal model §4.3 (/papers/2106.12931).
- Superseded by: not known from content on this site.
Source and license
Adapted from “A Survey on Graph Neural Networks for Time Series: Forecasting, Classification, Imputation, and Anomaly Detection” by Ming Jin, Huan Yee Koh, Qingsong Wen, Daniele Zambon, Cesare Alippi, Geoffrey I. Webb, Irwin King, Shirui Pan (arXiv:2307.03759), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.