<figure><img src="image_1.png" /></figure>

HAL
open science

# Leveraging Graph Neural Networks to Forecast Electricity Consumption

Eloi Campagne, Yvenn Amara-Ouali, Yannig Goude, Argyris Kalogeratos

► To cite this version:

Eloi Campagne, Yvenn Amara-Ouali, Yannig Goude, Argyris Kalogeratos. Leveraging Graph Neural Networks to Forecast Electricity Consumption. ECML PKDD 2024, Aug 2024, Vilnius (Lituanie), Lithuania. hal-04682694

HAL Id: hal-04682694

https://hal.science/hal-04682694v1

Submitted on 2 Sep 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
# Leveraging Graph Neural Networks to Forecast Electricity Consumption

Eloi Campagne¹,³(✉) Yvenn Amara-Ouali²,³ Yannig Goude²,³ Argyris Kalogeratos¹

¹ Centre Borelli, Université Paris-Saclay, CNRS, Ecole Normale Supérieure Paris-Saclay – France†

² Laboratoire de Mathématiques d'Orsay (LMO), Université Paris-Saclay, CNRS, Faculté des Sciences d'Orsay – France‡

³ EDF R&D, Palaiseau – France§

**Abstract.** Accurate electricity demand forecasting is essential for several reasons, especially as the integration of renewable energy sources and the transition to a decentralized network paradigm introduce greater complexity and uncertainty. The proposed methodology leverages graph-based representations to effectively capture the spatial distribution and relational intricacies inherent in this decentralized network structure. This research work offers a novel approach that extends beyond the conventional Generalized Additive Model framework by considering models like Graph Convolutional Networks or Graph SAGE. These graph-based models enable the incorporation of various levels of interconnectedness and information sharing among nodes, where each node corresponds to the combined load (i.e. consumption) of a subset of consumers (e.g. the regions of a country). More specifically, we introduce a range of methods for inferring graphs tailored to consumption forecasting, along with a framework for evaluating the developed models in terms of both performance and explainability. We conduct experiments on electricity forecasting, in both a synthetic and a real framework considering the French mainland regions, and the performance and merits of our approach are discussed.

**Keywords:** Graph Neural Networks · Deep Learning · Graph-based Models · Spatial Models · Electricity Load Forecasting

## 1 Introduction

The effective operation of the electrical system relies on maintaining a balance between electricity supply and demand. Since electricity cannot be efficiently stored, its production needs to be constantly adjusted to match consumption. Providing accurate forecasts for short-term electricity demand is therefore crucial for all participants in the energy market. The shift toward a decentralized electricity network introduces new uncertainties, which pose additional challenges for demand forecasting. In addition, the increasing contribution of renewable energy sources, like solar and wind power, brings fluctuations and intermittency to the electricity market. These fluctuations and intermittency occur at various spatial scales due to the presence of wind farms and photovoltaic power plants. The crisis brought by Covid-19, along with the current economic downturn, add further complexity to forecasting due to the non-stationarity in consumption patterns [2]. The availability of new geolocated data and individual electricity consumption data can be exploited by models that

<footnote>† Contact: {name.surname}@ens-paris-saclay.fr</footnote>

<footnote>‡ Contact: {name.surname}@universite-paris-saclay.fr</footnote>

<footnote>§ Contact: {name.surname}@edf.fr</footnote>
are able to take advantage of additional information and help in minimizing forecast uncertainty [31, 38]. Furthermore, recent advancements in adaptive forecasting algorithms have demonstrated improvements in forecasting quality, particularly for aggregate load forecasting [3, 5].

**Related Work.** Forecasting models are essential for estimating quantities such as electricity demand and renewable energy production. Accurate predictions of these quantities are crucial for decisions related to energy market positioning and grid optimization. Probabilistic forecasting methods have been extensively studied in the context of electricity demand. Generalized Additive Models (GAMs) have shown strong performance in conditional mean forecasting, as demonstrated by [10] and [32]. Building on this, [11] and [16] introduced quantile GAMs and a variant of Generalized Additive Models for Location Scale and Shape (GAMLSS) to model the full distribution of demand. While these models are effective for stationary data, electricity consumption patterns often change over time due to factors such as the Covid-19 pandemic, which altered electricity usage habits [24], and the recent surge in electricity prices in Europe, which led to reduced consumption [9]. Traditional offline quantile regression methods are inadequate for capturing such dynamic changes. To address this, [37] proposed adaptive probabilistic forecasting methods, incorporating the Kalman filter with GAMs and Online Gradient Descent, to better handle evolving electricity data. Therefore, modeling national net demand can be achieved with a wide variety of methods working directly on this quantity. However, a decentralized electricity grid calls for decentralized methods to forecast net demand with the shift toward a smart grid paradigm [39].

Deep learning methods have shown great flexibility and adaptability to a wide range of problems applied to the energy sector [30]. To outperform standard methods, they usually require a large amount of data along with intricate relationships between the input features and the target. These conditions are met particularly in decentralized grids, where multiple forecasting problems can be factored with the adequate neural network architecture. Recurrent neural networks (RNNs), particularly Long Short-Term Memory (LSTM) networks, have been widely used in electricity forecasting due to their capacity to model temporal dependencies. [35] proposed a Deep LSTM model for short-term household load forecasting, which showed superior performance over traditional statistical methods such as ARIMA. Similarly, [29] developed a sequence-to-sequence LSTM model that captures the sequential nature of load data effectively. Graph Neural Networks (GNNs) have been increasingly applied to time-series forecasting tasks, demonstrating their effectiveness in capturing complex dependencies within temporal data. [17] introduced an attention-based spatio-temporal GNN for traffic forecasting, leveraging the attention mechanism to dynamically capture the importance of different spatial and temporal features, which significantly improved forecasting accuracy. Similarly, [7] developed a dynamic spatio-temporal GNN for traffic flow prediction, where the model adaptively extracted features through a dynamically constructed graph. In the context of load forecasting, [23] proposed a hybrid GNN framework to capture the intricate relationships between different nodes in a power grid, resulting in superior performance over traditional methods for the Baidu KDD Cup 2022 Spatial Dynamic Wind Power Forecasting Challenge. Another notable contribution by [22] involves a comprehensive GNN-based approach for energy load forecasting, integrating various external factors to enhance prediction robustness. These advancements underscore the potential of GNNs to model and forecast complex time-series data effectively, establishing them as a valuable asset in load forecasting. The primary challenge lies in designing problem-specific graphs, which requires leveraging the experience and expertise acquired in the field.

Combining traditional statistical models with modern machine learning techniques has also shown promising results. Neural Additive Models (NAMs) [1] combine the interpretability of GAMs with the flexibility of neural networks, providing a powerful tool for regression tasks in various
domains, including energy forecasting. Furthermore, Neural Additive Models for Location Scale and Shape (NAMLSS) [36] extend GAMLSS by incorporating neural network components, allowing for more complex and adaptive distributional modeling.

**Contribution.** In this paper, we present how GNNs can be applied to electricity load forecasting. In particular, we show different techniques that allow to effectively build representative graphs in the electricity forecasting context, and combine them to get the most out of those techniques. In order to better understand the behavior and then benchmark different GNN models, we introduce a new synthetic dataset with added correlations between the nodes that we seek to retrieve in output. To complete this study, we apply an explainability algorithm developed in [43] which extracts important subgraphs by maximizing a mutual information criterion.

**Paper organization.** Section 2 reviews the main tools that will be employed later in this study; in Section 3 we develop our forecasting approach for energy consumption; in Section 4, we show comparative results about its performance when used in practice. Finally, we discuss our findings in Section 5, and we give our conclusive remarks in Section 6.

# 2 Preliminaries and Background

In this section, we introduce the basics of GNNs, additive models and expert aggregation.

## 2.1 Graph Neural Networks

In graph theory, objects are represented by nodes, and the relationships between them are repre-
sented by edges. Formally, a graph $\mathcal{G} = (\mathcal{V}, \mathcal{E})$ is a couple where $\mathcal{V}$ is a set of nodes and $\mathcal{E}$ a set of
edges, i.e. $\mathcal{E} = \{e_{ij} = v_i v_j \mid v_i, v_j \in \mathcal{V}\}$. A graph can be represented either using a binary-weighted
adjacency matrix $\mathbf{A} = (\mathbf{A}_{ij}) \in \mathbb{R}^{N \times N}$ such that $\mathbf{A}_{ij} = 1$ if and only if $e_{ij} \in \mathcal{E}$, or a more flexible real-
valued weight matrix $\mathbf{W}$. We denote the neighborhood of node $v$ by the set $\mathcal{N}_v = \{u \in \mathcal{V}, \mathbf{A}_{uv} = 1\}$,
or equivalently $\{u \in \mathcal{V}, \mathbf{W}_{uv} > 0\}$. Note that we consider symmetric graphs, therefore $\mathbf{A} = \mathbf{A}^\top$
and $\mathbf{W} = \mathbf{W}^\top$. In the context of electricity load forecasting in France, regions and the unknown
links between them can respectively be seen as nodes and edges. Both regression and classification
tasks can be performed on graphs at different levels: node-level, edge-level, graph-level.

- The **node-level** focuses on individual nodes within a graph. It involves analyzing the properties or attributes of each node. For example, in the context of electricity forecasting, a node-level task could be to predict the consumption for each region.

- The **edge-level** pertains to the analysis of the edges or connections between nodes in a graph. It involves examining the relationships, weights, or properties associated with each edge. For example, in the context of electricity forecasting, an edge-level task could be to quantify the relationships between the regions.

- The **graph-level** refers to the analysis of the entire graph structure as a whole. It involves examining global properties, overall connectivity, or emergent behaviors of the graph. For example, in the context of electricity forecasting, a graph-level task could be to predict the national consumption.

In the context of GNNs, message passing refers to the process of exchanging information between nodes, edges, and the global level of a graph, see Figure 1. Message passing is a fundamental operation in GNNs that enables nodes to gather and aggregate information from their neighbors,
<figure><img src="image_2.png" /><figcaption>Fig. 1: Example of a message passing layer in a GNN. $V_n$, $E_n$ and $U_n$ respectively refer to node, edge, and global level at stage $n$. $\phi$ are update functions and $\rho$ are propagation functions.</figcaption></figure>

incorporate it into their own representations, and propagate it throughout the graph. Hence, a GNN corresponds to a set of layers that use the message-passing mechanism. Node representations are therefore updated as the graph is iterated through (in other words, at each layer traversed, representations are updated). A message passing layer therefore enables a node to update its embedding by taking into account information from its neighbors: thus, by propagation, $d$ message passing layers enable a node to take into account information from its $d^{th}$-order neighbors. Using the notations of Figure 1, the message passing mechanism for each level can be written as follows:

$$-V_{n+1} = \phi^v (V_n; \rho_{E_n \to V_n}, \rho_{U_n \to V_n})$$

$$-E_{n+1} = \phi^e (E_n; \rho_{V_n \to E_n}, \rho_{U_n \to E_n})$$

$$-U_{n+1} = \phi^u (U_n; \rho_{V_n \to U_n}, \rho_{E_n \to U_n})$$

In a standard neural network (e.g. a feed-forward neural network), the update process is typically a local operation. In contrast, message passing in GNNs is a more dynamic and relational process allowing nodes to capture both local and global effects and dependencies over the graph structure. This relational approach enables GNNs to capture complex graph patterns and dependencies that cannot be easily captured by standard neural networks, which makes them suitable for tasks involving graph-structured data. The message passing mechanism can also be seen as a special case of graph convolution. Convolutional operations, originally developed for regular grid-structured data such as images, enable the extraction of meaningful features from the local neighborhood of each element [27]. By extending convolution to graphs, we can capture and analyze the structural patterns and relationships present in graph data; see [8] for a visual representation. Graph convolution extracts local features by aggregating information from neighboring nodes to compute features for a node, hence allowing to capture the local connectivity and dependencies between nodes. It also helps to leverage the inherent structure and connectivity of the graph data, uncover hidden patterns (e.g. the relationship between the consumptions of two different regions), and make informed predictions (e.g. the consumption of a given region) based on the relationships between nodes.

Let $\mathcal{G} = (\mathcal{V}, \mathcal{E})$ be a graph, and for each node $v \in \mathcal{V}$ we associate a feature vector $\mathbf{X}_v$ corresponding to the explanatory variables of the associated node. Each node $v \in \mathcal{V}$ has an associated label $\mathbf{y}_v$ and we want to learn a representation such that, for a GNN $\Phi_\theta$, we have $\Phi_\theta(\mathcal{G}, \mathbf{X}_v) = \hat{\mathbf{y}}_v$,
where $\theta$ is a vector of parameters. To do this, we iteratively update the representations of a node by aggregating the representations of its neighbors in the graph. The representation of a node $v$ at layer $\ell$, denoted $h_v^{(\ell)}$ can be expressed as:

$$h_v^{(\ell)} = \text{UPDATE}^{(\ell)}(h_v^{(\ell-1)}; \text{AGGREGATE}^{(\ell)}(h_v^{(\ell-1)}; \{h_u^{(\ell-1)} | u \in \mathcal{N}_v\})), \quad (1)$$
$$h_v^{(0)} = \mathbf{X}_v,$$

where UPDATE usually involves combining the prior representations with the current one and a linear mapping. AGGREGATE is usually a combination of a pooling function (e.g. max, sum,...) with an activation function (e.g. ReLU, tanh,...).

**Classical GNN Models.** Two of the most prominent models are the Graph Convolutional Network (GCN) and the Graph SAGE (SAmple and aggreGatE). GCNs, introduced by [26], generalize the convolution operation to graph data by aggregating feature information from a node's local neighborhood. In contrast, Graph SAGE, developed by [18], focuses on the inductive capability of GNNs by learning a function to generate embeddings for nodes based on their local neighborhood. These models have paved the way for numerous advancements in the field of graph representation learning. In the following update rules, we will use the notations $\mathbf{W}^{(\ell)}$ and $\mathbf{b}$ respectively referring to a learnable weight matrix at layer $\ell$ and to a bias term, $\sigma$ being an activation function (in the experiments, we will use ReLU). The update rule of GCN and SAGE for node $v_i$ is given by $h_i^{(\ell+1)} = \sigma(\sum_{j \in \mathcal{N}_v} \frac{1}{c_{ij}} \mathbf{W}^{(\ell)}h_j^{(\ell)} + \mathbf{b})$, where $c_{ij} = \sqrt{|\mathcal{N}_{v_i}|}\sqrt{|\mathcal{N}_{v_j}|}$ for a GCN, and $c_{ij} = |\mathcal{N}_{v_i}|$ for a SAGE. In the original paper, they introduce a max-pooling aggregation method for which the update rule is given by $h_i^{(\ell+1)} = \sigma(\mathbf{W}^{(\ell)}[h_i^{(\ell)}||\max\{\sigma(\mathbf{W}_{\text{pool}}h_j^{(\ell)} + \mathbf{b}), \forall v_j \in \mathcal{N}_{v_i}\}]),$ where $\mathbf{W}_{\text{pool}}$ is a learnable pooling weight matrix, which is what we will use in the experiments, and $[\cdot||\cdot]$ is a concatenation operator.

## 2.2 Generalized Additive Models

GAMs is a class of semi-parametric regression models that was developed in [19, 40] and are now widely used in electricity consumption forecasting [13]. Indeed, GAMs are interesting in practice, since their additive aspect makes them highly explainable, but this also means that the choice of variables must be meticulous. Consider a prediction model aiming to predict for each time $t$ a variable of interest $y_t$ using $(x_j)_{j=1...d}$ explanatory variables such that $y_t = \beta_0 + \sum_{j=1}^d f_j(x_{t,j}) + \varepsilon_t$, where $\beta_0$ is the intercept and $(\varepsilon_t)$ is independent and identically distributed random variable. Here we consider that each non-linear effect $f_j$ is decomposed on a spline basis $(B_{j,k})$ with coefficients $\beta_j$ where $m_j$ is the chosen spline basis dimension, such that $f_j(x) = \sum_{k=1}^{m_j} \beta_{j,k} B_{j,k}(x)$. These coefficients are then estimated by minimizing the ridge-regression criterion ensuring the smoothness of the functions $f_j$ by controlling the second derivatives [42].

## 2.3 Aggregation of Experts

Several models have been developed in the literature, each with its own distinctive features, which may also complement each other. Expert aggregation is an ensemble technique that allows to benefit from the advantages of each model: we can combine them using robust online aggregation of experts, as developed in [6]. For each instant in the prediction, a weight is assigned to each expert according to its previous forecasts: the better the past forecasts, the greater the weight at time $t$. Let $x_{j,t}$
be the $j^{th}$ expert at time $t$ and $p_{j,t}$ its corresponding weight, then the expression of the predicted load at time $t$ is given by $\hat{y}_t = \sum_{j=1}^K p_{j,t}x_{j,t}$, where $K$ is the number of experts in the mixture. One way to compute the weights is to use polynomially weighted averages with multiple learning rate (ML-Poly), an algorithm developed in [14]. A key advantage lies in the upper bound of the algorithm's average error:

$$ \text{Average error of the algorithm} \lesssim \text{Average error of the best combination of experts} + \sqrt{\frac{\text{Number of experts}}{\text{Number of days}}}. \quad (2) $$

The average performance will converge over time to match the performance of the best experts.

# 3 Developing Robust Models with GNNs

This section presents our methodology for building robust GNNs for load forecasting: from the inference of suitable graphs, to the explanation of the forecasts obtained by the models.

## 3.1 Inferring Graphs from Data

**Geographical Data.** To capture the relationships between the nodes of a graph, a first approach is to study the similarity matrix of the geographical positions of these nodes. We can therefore define the weight matrix as follows:

$$ W_{\lambda} = (W_{i,j})_{1 \le i,j \le 12} = \begin{cases} \exp\left\{-\frac{\text{dist}(i, j)^2}{\sigma^2}\right\} & \text{if } \exp\left\{-\frac{\text{dist}(i, j)^2}{\sigma^2}\right\} \ge \lambda, \\ 0 & \text{otherwise.} \end{cases} \quad (3) $$

where $\lambda \in (0, 1)$ is a threshold that controls the connectivity of the graph, $\text{dist}(i, j)$ is the geodesic distance between nodes $i$ and $j$, and $\sigma$ is a bandwidth term. In practice, $\lambda$ is picked such that the graph induced by $W_{\lambda}$ is minimally connected, and $\sigma$ is the median of all the distances. Other heuristics can be used to calculate the bandwidth of the Gaussian kernel, but in practice this one gives good results and is robust to outliers [15, 28]. Figure 2 shows the spatial matrix corresponding to $\lambda = 0.71$ and $\sigma = 478.3$. Note that this approach does not take geographic distances into account: we are using a simple approach here, but we could consider reducing the weights of regions separated by physical obstacles (sea, mountains, etc.). A slightly different approach might be to merge the spatial graph as presented above, with a graph encoding the different geographical clusters of the graph (1 if nodes belong to the same cluster, 0 otherwise). We could, for example, consider coastal, mountain, urban and rural areas.

**Electricity and Weather Data.** Another way of capturing relationships between nodes is to look at spatio-temporal nodal characteristics, such as temperature, cloud cover or wind signals, which are used in practice in load forecasting. In practice, to build the graphs, we group all the scaled electricity and weather signals by region and we construct $n$ matrices of dimension $(d, T)$, where $n$ is the number of nodes in the graph, $d$ is the dimension of the feature space, and $T$ the number of instants in the time-series, which we project using a singular value decomposition (SVD) into a space of dimension $(1, T)$. In this way, we end up with a global matrix of dimension $(n, T)$ on which we can apply various algorithms, see Figure 3. In the study, we computed the DTW distance
<figure><img src="image_3.png" /><figcaption>Fig. 2: Graph corresponding to $W_λ$ with $λ = 0.71$ and kernel bandwidth $σ = 478.3$.</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>Fig. 3: Inferring a graph from data using a dimension reduction algorithm and a statistical transformation.</figcaption></figure>

with FastDTW [34], an approximate Dynamic Time Warping algorithm that offers near-optimal alignments with linear time and memory complexity, between the reduced regional signals. We also tried a slightly different approach that involves estimating regional temperature effects on load (using splines, for example) and then calculating a matrix of correlated distances (such as the $L^2$-distance) between the different splines. We also implemented the GL3SR algorithm [20], based on two key assumptions about the signal: first, that the signal is *smooth* with respect to relative to the graph structure (i.e. adjacent nodes have similar values, which is the case for weather and load signals across the mainland France), and second, that the signal is bandlimited and therefore has a sparse representation in the spectral domain.

## 3.2 Explainability

GAMs have been used for electricity forecasting because they have the advantage of being explainable. With GNNs we want to know the hidden links between the different regions. This subject has been studied in [43] with subgraphs, where the GNNExplainer algorithm was developed, which aims at explaining both the graph structure and the features. The idea is to differentiate the subgraphs that are useful in the prediction from the ones that are not. Thus, let us write $G = G_S + \Delta G$ where
$G_S$ is the explaining subgraph, and $\Delta G$ the subgraph with irrelevant edges. Then, we want to maximize the mutual information (MI) between the predictions $\mathbf{Y}_G$ and the subgraph $G_S$ that is given by solving the optimization problem $\max_{G_S} \text{MI}(\mathbf{Y}_G, G_S) = H(\mathbf{Y}_G) - H(\mathbf{Y}_G | G = G_S, \mathbf{X} = \mathbf{X}_S)$, where $H$ is the entropy function and $\mathbf{X}_S$ is a subset of explaining features. In the previous equation, $H(\mathbf{Y}_G)$ is constant therefore the optimization problem is equivalent to finding the minimum of the conditional entropy $H(\mathbf{Y}_G | G = G_S, \mathbf{X} = \mathbf{X}_S)$, which amount to minimizing the uncertainty of the prediction $\mathbf{Y}_G$. Supposing that $G_S$ is a random graph variable following $f_G$, the algorithm seeks to minimize $H(\mathbf{Y}_G | G = \mathbb{E}_{f_G}[G_S], \mathbf{X} = \mathbf{X}_S)$, where $\mathbb{E}_{f_G}[G_S]$ is computed with a mean-field approximation. In other words, the objective is to pinpoint a compact subgraph along with a limited set of node attributes that greatly enhance a GNN's prediction certainty.

# 4 Experiments

In this section, we outline the experimental procedure used to assess GNNs, covering everything from dataset preparation to result analysis, including model parameterization.

## 4.1 Datasets

We present the datasets used in our experiments: in particular we explain the generation of synthetic data and describe the real data. For both synthetic and real datasets, we consider the 12 regions of French mainland – excluding Corsica.

**Synthetic Dataset.** To evaluate the GNNs performance, we synthetically generate data. In this way, we can manually add spatial and temporal correlations between different graph nodes and obtain a lower bound on the model performance. Let us denote by $T_j^{\text{gen}}(t)$ and $L_j^{\text{gen}}(t)$ (respectively $T_j^{\text{obs}}(t)$ and $L_j^{\text{obs}}(t)$) the generated temperature and load (respectively the observerd temperature and load) at time $t$ and node $j$. We have $T_j^{\text{gen}}(t) = at + b_j(\cos \omega_1 t + \cos \omega_2 t)$, where $a$ is a trend coefficient, $\omega_1$ and $\omega_2$ being respectively a daily and a yearly pulse, $b_j$ a random term such that $\mathbf{b} = (b_j)_{1 \le j \le 12} \sim \mathcal{N}(\hat{\mu}, \hat{\mathbf{C}})$ with $\hat{\mu}$ and $\hat{\mathbf{C}}$ being respectively the empirical mean and covariance of the observed temperatures. Temperatures are then rescaled to ensure that they lie between the observed minima and maxima of each region. Then, we fit a cubic spline basis [41] such that $\tilde{f}_j \in \arg \min_{f_j} (f_j(T_j^{\text{obs}}) - L_j^{\text{obs}})^2$ with $f_j \in \text{span}(s_{j,1}, \dots, s_{j,k})$ and $k$ being the number of knots. It follows that $L_j^{\text{gen}}(t) = \tilde{f}_j(T_j^{\text{gen}})(t) + \varepsilon_j(t)$, where $\varepsilon = (\varepsilon_j)_{1 \le j \le 12} \sim \mathcal{N}(0, \mathbf{\Sigma})$. We simulate two datasets: one with $\mathbf{\Sigma} = \rho(\mathbf{W}_\lambda)$ associated to pairwise influence between the regions, and one with $\mathbf{\Sigma} = \mathbf{I}$ associated to independent regions.

**Real Dataset.** We also tested the GNNs on regional data provided by RTE (Réseau de Transport d'Electricité), which is the electricity transmission system operator of France. We enriched the dataset with a variety of features related to electricity consumption and weather conditions in France. It includes generic calendar columns such as an identifier index (used as a trend), multiple date formats, month and year indicators, time of day and year, week number, type of day (weekdays, bank holidays, weekends), specific holiday periods like national, Christmas, summer holidays and a binary indicator for daylight saving time changes. The targeted feature in this dataset is the French national load (in megawatts). Table 1 gives the description of the features in the dataset.
<figure><img src="image_5.png" /><figcaption>Fig. 4: Generated temperature and load using pairwise influence between the regions ($\Sigma = \rho(W_\lambda)$).</figcaption></figure>

<table><caption>Table 1: Features in the dataset.</caption><thead><tr><th>Variable</th><th>Definition</th></tr></thead><tbody><tr><td>Date</td><td>Date</td></tr><tr><td>Region</td><td>Region</td></tr><tr><td>Load</td><td>Electricity consumption (in MW)</td></tr><tr><td>Nebulosity</td><td>Cloud cover</td></tr><tr><td>Wind</td><td>Wind</td></tr><tr><td>Temperature</td><td>Temperature (in °C)</td></tr><tr><td>TempMin, TempMax</td><td>Minimal and maximal values of Temp for the day</td></tr><tr><td>TempSmoothHigh/Low</td><td>Exponentially smoothed temperatures</td></tr><tr><td>Instant</td><td>Instant in the day</td></tr><tr><td>Posan</td><td>Position of the day in the year</td></tr><tr><td>DayType</td><td>Categorical variable indicating the type of the day</td></tr><tr><td>Weekend</td><td>Categorical variable for the weekend</td></tr><tr><td>Summer, Christmas</td><td>Categorical variable for summer and Christmas</td></tr><tr><td>Holiday_zone</td><td>Categorical variable for the other holidays</td></tr></tbody></table>

## 4.2 Experimental Settings

We place ourselves in a regression setting: we want to forecast the electricity consumption at each time instant *t* based on features measured at that time.

**Training Procedure.** Denote by $\mathbf{X} \in \mathbb{R}^{n \times d \times T}$ and $\mathbf{y} \in \mathbb{R}^{n \times T}$, respectively, the feature and the target vectors, where $n \in \mathbb{N}$ is the number of nodes in the graph, $d \in \mathbb{N}$ is the number of features, and $T \in \mathbb{N}$ is the number of timesteps to predict. We scale the vectors such that the range of the values is in $[0, 1]$ and the scaled versions of the input vector is denoted by $\tilde{\mathbf{X}}$. We want to find the best set of parameters $\theta^*$ that minimizes the global loss $\ell$ such that $\theta^* \in \arg\min_{\theta} \ell(\Phi_{\theta}(\mathcal{G}, \tilde{\mathbf{X}}), \mathbf{y})$, if such a solution exists. In practice, we seek to optimize the mean squared error loss defined by:

$$ \text{RMSE}(\mathbf{y}, \hat{\mathbf{y}}) = \sqrt{\frac{1}{T} \sum_{t=1}^{T} \left( \sum_{i=1}^{n} \mathbf{y}_{i,t} - \hat{\mathbf{y}}_{i,t} \right)^2} \quad (4) $$

The set of parameters is computed iteratively using stochastic optimization with batch sampling, and in particular we used the Adam algorithm [25].
**Evaluation Metrics.** We used traditional loss functions: Mean Absolute Percentage Error (MAPE) and Root Mean Square Error (RMSE), which are commonly used to evaluate the performance of forecasting models. MAPE measures the average percentage difference between the forecasted and actual load values, providing an indication of the relative error:

$$ \text{MAPE}(\mathbf{y}, \hat{\mathbf{y}}) = \frac{1}{T} \sum_{t=1}^{T} \left| \frac{\sum_{i=1}^{n} \mathbf{y}_{i,t} - \hat{\mathbf{y}}_{i,t}}{\sum_{i=1}^{n} \mathbf{y}_{i,t}} \right| . \qquad (5) $$

RMSE measures the square root of the mean squared difference between the forecasted and actual load values, i.e. the square root of Equation 4. MAPE is chosen for its interpretability as it provides a percentage error that is easy to understand and compare across different scales. This is particularly useful in electricity forecasting as stakeholders need clear insights into the accuracy of predictions relative to actual demand. RMSE, on the other hand, is sensitive to large errors, making it a suitable metric for applications where minimizing significant deviations is important [21].

**Parametrization.** As with conventional neural networks, learning the parameters and hyper-parameters is a crucial step in the algorithm’s performance. Several graph structures were explored: in the real case, dimension reduction and graph fusion methods were tested coupled with the GL3SR and DTW algorithms; in the synthetic case, as the only available feature was the generated temperature, neither fusion nor dimension reduction was necessary. Hyperparameters were optimized using a simple grid search over the space (batch_size, n_layers, hidden bidirectional channels, n_epochs) ∈ {256, 512, 1024} × {3, 4, 5, 12} × {10, 32, 50, 64, 128} × {300}. We considered two graph-based models: a GCN and a SAGE. The results of the grid search are shown in Tables 2, 3, and 4.

Note that the hyperparameters are similar from one simulation to the other, but differ greatly on the real dataset. Also, the SAGE model converges faster on average than the GCN, hence the difference in average training time. However, for both GCN and SAGE, the inference time is less than a second. Once the optimization has been carried out for all GNN/weight matrix pairs, the models are selected by taking the sets of hyperparameters that minimize the loss on the validation set, allowing good generalization to the models. On Figure 5a, the distribution of errors per model on the test set with the correlation structure is represented, as well as the performance of the selected model (which is not necessarily the model with the lowest error on this set). This figure shows that the selected models are in most cases in the top 25% of the best models on the test set. We can also note a difference between GCNs and SAGEs: the best GCNs models on the validation and test sets are in the majority confounded, whereas SAGEs underperform on the test set, while still outperforming GCNs on average.

On Figure 5b, the variation of errors by model on the uncorrelated test set is shown. This time, we observe that the selected SAGE models are less often in the top 25% (unlike the GCNs), while still performing better than the GCNs, and the gap between the two model types is more pronounced than for the first dataset.

## 4.3 Results

**Numerical Results.** The national-level numerical results for France are presented in Table 5. These results include both the national dataset and synthetically generated datasets. Generally, across the two tested models, the SAGE model performs better than GCN on average, which is a finding that is consistent with the related literature on the subject. Additionally, it is evident that for a given GNN model, the results vary depending on the input graph structure: on the real dataset,
<table><caption>Table 2: Hyperparameters of the GNN models for the real dataset.</caption><thead><tr><th>Model</th><th>Graph structure</th><th>batch_size</th><th>n_layers</th><th>hidden bidirectional channels</th><th>n_epochs</th></tr></thead><tbody><tr><td>GCN</td><td>Identity</td><td>512</td><td>12</td><td>10</td><td>6</td></tr><tr><td>GCN</td><td>Space</td><td>256</td><td>3</td><td>64</td><td>293</td></tr><tr><td>GCN</td><td>DistSplines</td><td>256</td><td>4</td><td>64</td><td>213</td></tr><tr><td>GCN</td><td>GL3SR</td><td>512</td><td>12</td><td>10</td><td>6</td></tr><tr><td>GCN</td><td>DTW</td><td>512</td><td>12</td><td>32</td><td>191</td></tr><tr><td>SAGE</td><td>Identity</td><td>512</td><td>12</td><td>128</td><td>2</td></tr><tr><td>SAGE</td><td>Space</td><td>256</td><td>4</td><td>64</td><td>211</td></tr><tr><td>SAGE</td><td>DistSplines</td><td>1024</td><td>3</td><td>128</td><td>249</td></tr><tr><td>SAGE</td><td>GL3SR</td><td>256</td><td>12</td><td>128</td><td>2</td></tr><tr><td>SAGE</td><td>DTW</td><td>1024</td><td>12</td><td>50</td><td>20</td></tr></tbody></table>

<table><caption>Table 3: Hyperparameters of the GNN models for the synthetic dataset ($\Sigma = \rho(W_\lambda)$).</caption><thead><tr><th>Model</th><th>Graph structure</th><th>batch_size</th><th>n_layers</th><th>hidden bidirectional channels</th><th>n_epochs</th><th># parameters</th><th>Training time</th></tr></thead><tbody><tr><td>GCN</td><td>Identity</td><td>512</td><td>3</td><td>50</td><td>127</td><td>2701</td><td>~ 390s</td></tr><tr><td>GCN</td><td>Space</td><td>1024</td><td>3</td><td>64</td><td>158</td><td>4353</td><td>~ 480s</td></tr><tr><td>GCN</td><td>DistSplines</td><td>1024</td><td>3</td><td>64</td><td>168</td><td>4353</td><td>~ 510s</td></tr><tr><td>GCN</td><td>GL3SR</td><td>1024</td><td>3</td><td>64</td><td>147</td><td>4353</td><td>~ 450s</td></tr><tr><td>GCN</td><td>DTW</td><td>1024</td><td>3</td><td>64</td><td>146</td><td>4353</td><td>~ 450s</td></tr><tr><td>SAGE</td><td>Identity</td><td>512</td><td>4</td><td>50</td><td>9</td><td>10351</td><td>~ 50s</td></tr><tr><td>SAGE</td><td>Space</td><td>512</td><td>4</td><td>50</td><td>12</td><td>10351</td><td>~ 60s</td></tr><tr><td>SAGE</td><td>DistSplines</td><td>512</td><td>4</td><td>50</td><td>11</td><td>10351</td><td>~ 50s</td></tr><tr><td>SAGE</td><td>GL3SR</td><td>256</td><td>3</td><td>50</td><td>3</td><td>5301</td><td>~ 10s</td></tr><tr><td>SAGE</td><td>DTW</td><td>512</td><td>4</td><td>50</td><td>12</td><td>10351</td><td>~ 50s</td></tr></tbody></table>

<table><caption>Table 4: Hyperparameters of the GNN models for the synthetic dataset ($\Sigma = I$).</caption><thead><tr><th>Model</th><th>Graph structure</th><th>batch_size</th><th>n_layers</th><th>hidden bidirectional channels</th><th>n_epochs</th><th># parameters</th><th>Training time</th></tr></thead><tbody><tr><td>GCN</td><td>Identity</td><td>512</td><td>3</td><td>50</td><td>127</td><td>2701</td><td>~ 390s</td></tr><tr><td>GCN</td><td>Space</td><td>1024</td><td>3</td><td>64</td><td>158</td><td>4353</td><td>~ 480s</td></tr><tr><td>GCN</td><td>DistSplines</td><td>1024</td><td>3</td><td>64</td><td>168</td><td>4353</td><td>~ 510s</td></tr><tr><td>GCN</td><td>GL3SR</td><td>1024</td><td>3</td><td>64</td><td>147</td><td>4353</td><td>~ 450s</td></tr><tr><td>GCN</td><td>DTW</td><td>1024</td><td>3</td><td>64</td><td>146</td><td>4353</td><td>~ 450s</td></tr><tr><td>SAGE</td><td>Identity</td><td>512</td><td>4</td><td>50</td><td>9</td><td>10351</td><td>~ 50s</td></tr><tr><td>SAGE</td><td>Space</td><td>1024</td><td>3</td><td>64</td><td>21</td><td>8577</td><td>~ 60s</td></tr><tr><td>SAGE</td><td>DistSplines</td><td>1024</td><td>3</td><td>50</td><td>6</td><td>5301</td><td>~ 15s</td></tr><tr><td>SAGE</td><td>GL3SR</td><td>1024</td><td>4</td><td>50</td><td>10</td><td>10351</td><td>~ 40s</td></tr><tr><td>SAGE</td><td>DTW</td><td>512</td><td>4</td><td>50</td><td>13</td><td>10351</td><td>~ 50s</td></tr></tbody></table>

considering a purely autoregressive structure (corresponding to the identity matrix), the results are significantly worse than when adding relationships between regions. This validates the hypothesis that there is useful information in regional links and highlights the importance of applying graph-based modeling to the electricity forecasting problem. The results on synthetic datasets also show that, when the regions are influenced by one another, the gain of GNNs compared to an optimal model (here the GAM) is greater than that obtained on data with no correlations (it should be noted that the variance is greater when the covariance matrix is the identity matrix, so poorer performance is expected).
<figure><img src="image_6.png" /><figcaption>Fig. 5: Error variation by model on the synthetic test set.</figcaption></figure>

<table><caption>Table 5: Numerical performance in MAPE (%) and RMSE (MW) at national level on the test set.</caption><thead><tr><th rowspan="2">Model</th><th colspan="2">Real Dataset</th><th colspan="2">Synthetic Dataset (Σ = ρ(W<sub>λ</sub>))</th><th colspan="2">Synthetic Dataset (Σ = I)</th></tr><tr><th>MAPE (%)</th><th>RMSE (MW)</th><th>MAPE (%)</th><th>RMSE (MW)</th><th>MAPE (%)</th><th>RMSE (MW)</th></tr></thead><tbody><tr><td>GAM-Regions</td><td><strong>1.48</strong></td><td><strong>1018</strong></td><td><strong>1.11</strong></td><td><strong>662</strong></td><td><strong>1.75</strong></td><td><strong>1043</strong></td></tr><tr><td>Feed Forward</td><td>1.54</td><td>1071</td><td>3.82</td><td>3141</td><td>4.49</td><td>3213</td></tr><tr><td>GCN-identity</td><td>5.66</td><td>3949</td><td>1.43</td><td>834</td><td>2.16</td><td>1259</td></tr><tr><td>GCN-space</td><td>2.07</td><td>1452</td><td>1.26</td><td>749</td><td>1.98</td><td>1169</td></tr><tr><td>GCN-distsplines</td><td>2.04</td><td>1404</td><td>1.29</td><td>764</td><td>2.01</td><td>1185</td></tr><tr><td>GCN-gl3sr</td><td>5.95</td><td>4210</td><td><strong>1.25</strong></td><td><strong>743</strong></td><td><strong>1.97</strong></td><td><strong>1160</strong></td></tr><tr><td>GCN-dtw</td><td><strong>1.82</strong></td><td><strong>1276</strong></td><td>1.26</td><td>753</td><td>1.99</td><td>1171</td></tr><tr><td>SAGE-identity</td><td>4.38</td><td>3021</td><td>1.25</td><td>755</td><td><strong>1.78</strong></td><td><strong>1066</strong></td></tr><tr><td>SAGE-space</td><td>1.96</td><td>1350</td><td>1.29</td><td>778</td><td>1.85</td><td>1112</td></tr><tr><td>SAGE-distsplines</td><td>2.06</td><td>1410</td><td>1.22</td><td>741</td><td>1.84</td><td>1116</td></tr><tr><td>SAGE-gl3sr</td><td><strong>1.78</strong></td><td><strong>1234</strong></td><td><strong>1.15</strong></td><td><strong>701</strong></td><td>1.92</td><td>1171</td></tr><tr><td>SAGE-dtw</td><td>1.90</td><td>1335</td><td>1.21</td><td>735</td><td>1.86</td><td>1127</td></tr><tr><td>Mixture (Baseline)</td><td>1.31</td><td>925</td><td>1.11</td><td>662</td><td>1.76</td><td>1044</td></tr><tr><td>Mixture (GNNs)</td><td>1.48</td><td>1092</td><td>1.12</td><td>677</td><td>1.98</td><td>1171</td></tr><tr><td>Mixture (Baseline + GNNs)</td><td><strong>1.13</strong></td><td><strong>844</strong></td><td><strong>1.08</strong></td><td><strong>647</strong></td><td><strong>1.76</strong></td><td><strong>1050</strong></td></tr></tbody></table>

The aggregation of experts in Figure 6 reveals two key-insights: first, GNNs introduce diversity when there is an underlying graph structure in the data; second, the weight of GNNs decreases in the later part of the year, suggesting that separate models should be trained for summer and winter. The analysis of the results on real data shows that although GAMs perform better than GNNs, the latter seem significant in the mixture of experts, since they bring diversity and improve the RMSE by around 200MW, which is consistent with the analysis of the results on the synthetic data. Important to also note that the results achieved using the correlation matrix of distances between splines are less effective on the real dataset. This outcome is somewhat expected, because while the temperature is a significant variable, the actual consumption depends on additional weather and calendar factors that were not considered in the construction of the splines. The matrices that give the best results on average are those obtained after the DTW and GL3SR algorithms, both on the real dataset and on the dataset with correlations between regions, for both GCN and SAGE. On the uncorrelated dataset, on the other hand, we find that the identity matrix gives the best results, which is again in line with the shape of the data.
<figure><img src="image_7.png" /><figcaption>Fig. 6: Weights associated with the experts on the synthetic datasets. $\Sigma = \rho(W_\lambda)$ (left), $\Sigma = I$ (right). GAM is the main expert, followed by mutliple SAGE-g13sr and SAGE-dtw.</figcaption></figure>

**Explainability Results.** We constructed explanatory subgraphs at several times of the year (January, June, August, and November), each using data during one day. To do this, we summed and normalized all explanatory subgraphs at half-hourly step for a given day. Two datasets were considered: the real dataset and the dataset with the correlation structure ($\Sigma = \rho(W_\lambda)$). GNNExplainer was trained to learn a mask $M$, allowing the sub-graph to be represented as $W_\lambda \odot \sigma(M)$, where $\odot$ denotes the Hadamard product and $\sigma$ is a sigmoid function that maps $M$ to $[0, 1]^{n \times n}$.

In Figure 7, only the explanatory subgraphs for June are displayed, since the results were similar across the different months of the year. These subgraphs, when compared with the graph in Figure 2, reveal that the autoregressive component in updating region representations is less significant than initially assumed. This underscores the advantage of aggregating neighborhood representations, notably, there are strong connections between regions along the Atlantic seaboard, excluding Brittany. Other significant connections emerge, such as links between geographically close regions like Hauts-de-France, Normandy, and Ile-de-France. Additionally, the behavior of the Centre-Val-de-Loire region appears to diverge between simulation and actual data: in one case, the autoregressive aspect is weak, while in the other, it is the opposite. This can be explained partly by the increased difficulty in forecasting consumption in this region, as it has the lowest consumption levels in the territory.

# 5 Discussion

The experiments are set in a regression context for a given instant: future experiments could aim to integrate previous instants into the forecast for the target instant, e.g. by exploiting temporal GNN models [33]. The inference methods presented here could also be coupled with explainability methods, and could therefore be split into two steps: first, “classical” inference as presented in this work, then multiplication of the inferred matrix by a mask. Future experiments could also include renewable production data (solar and wind) to take into account the evolution of the grid towards a decentralized network. Considering the results obtained with distance-based graphs (such
<figure><img src="image_8.png" /><figcaption>Fig. 7: Explanation graphs in June 2019 obtained from the space matrix.</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>Fig. 8: Spline (dashed line) and predicted (scatter plot) effects. The distribution of the generated temperatures is represented in gray.</figcaption></figure>

as DTW and spline effect distances), we plan to derive other graphs based on socio-economic data. Additionally, we intend to use normalized load data to prevent regions with similar level of average consumption from being considered as related.
Figure 8 presents the Accumulated Local Effects (ALE) plots [4] illustrating the impact of tem-
perature on load for each region. The reconstructed effects generally align well with the effects
generated by the splines, although the air-conditioning and heating effects at extreme temperatures
are not accurately captured. This discrepancy can be attributed to the Gaussian distribution of the
synthetic temperatures, where extremes are located at the distribution tails. A potential improve-
ment could be to give more weight to situations with extreme temperatures, or to learn patterns
specifically for summer and winter, which is a conclusion that is in line with the results in Figure 6.

In order to apply distance algorithms on univariate signals for creating graphs, we used SVD.
This approach can be limiting in our application, since we retain only the eigenvalue of higher
magnitude, which introduces a bias towards the associated feature. Another way of doing this is to
construct as many graphs as there are features and then merge them, for example by choosing a
graph from the convex space generated by the *d* graphs, which will be done in a future work.

Finally, to consolidate the results on the explainability of GNNs, we plan to develop Graph
Attention Networks, both on a spatial level as done in [12], and on a temporal level.

6 Conclusion

In this paper, we introduced a method for constructing graphs tailored to the problem of electricity
consumption forecasting. Through diverse inference methods, graph fusion, and the aggregation of
different models, the final graph is robust and enhances the performance of GAMs when the data
has an underlying graph structure. The explanatory sub-graphs help understand the connections
between different regions, validate or refute hypotheses about these links, and consequently propose
a corrected version of the input graph. Areas for improvement include incorporating a temporal
structure into the models and developing specialized models for different times of the year, such as
winter and summer. Ultimately, the outcomes achieved with GNNs show promise: in cases where
data exhibits a graph-based structure, these models perform much better, contributing to diverse
enhancements through improved expert aggregation.

**Disclosure of Interests.** The authors have no competing interests to declare that are relevant to the content of this article.
Bibliography

[1] Agarwal, R., Melnick, L., Frosst, N., Zhang, X., Lengerich, B., Caruana, R., Hinton, G.: Neural Additive Models: Interpretable Machine Learning with Neural Nets (2021)

[2] Alasali, F., Nusair, K., Alhmoud, L., Zarour, E.: Impact of the Covid-19 pandemic on electricity demand and load forecasting. Sustainability (2021)

[3] Antoniadis, A., Gaucher, S., Goude, Y.: Hierarchical transfer learning with applications for electricity load forecasting (2022)

[4] Apley, D.W., Zhu, J.: Visualizing the effects of predictor variables in black box supervised learning models. Journal of the Royal Statistical Society Series B: Statistical Methodology (2020)

[5] Brégère, M., Huard, M.: Online hierarchical forecasting for power consumption data. International Journal of Forecasting (2022)

[6] Cesa-Bianchi, N., Lugosi, G.: Prediction, learning, and games. Cambridge university press (2006)

[7] Chen, K., Chen, F., Lai, B., Jin, Z., Liu, Y., Li, K., Wei, L., Wang, P., Tang, Y., Huang, J., et al.: Dynamic spatio-temporal graph-based cnns for traffic flow prediction. IEEE Access (2020)

[8] Daigavane, A., Ravindran, B., Aggarwal, G.: Understanding convolutions on graphs. Distill (2021)

[9] Doumêche, N., Allioux, Y., Goude, Y., Rubrichi, S.: Human spatial dynamics for electricity demand forecasting: the case of france during the 2022 energy crisis (2023)

[10] Fan, S., Hyndman, R.J.: Forecast short-term electricity demand using semi-parametric additive model. IEEE (2010)

[11] Fasiolo, M., Wood, S.N., Zaffran, M., Nedellec, R., Goude, Y.: Fast calibrated additive quantile regression. Journal of the American Statistical Association (2021)

[12] Feik, M., Lerch, S., Stühmer, J.: Graph Neural Networks and Spatial Information Learning for Post-Processing Ensemble Weather Forecasts (2024)

[13] Gaillard, P., Goude, Y., Nedellec, R.: Additive models and robust aggregation for GEFCom2014 probabilistic electric load and electricity price forecasting. International Journal of forecasting (2016)

[14] Gaillard, P., Stoltz, G., Van Erven, T.: A second-order bound with excess losses. In: Conference on Learning Theory. PMLR (2014)

[15] Garreau, D., Jitkrittum, W., Kanagawa, M.: Large sample analysis of the median heuristic (2018)

[16] Gilbert, C., Browell, J., Stephen, B.: Probabilistic load forecasting for the low voltage network: Forecast fusion and daily peaks. Sustainable Energy, Grids and Networks (2023)

[17] Guo, S., Lin, Y., Feng, N., Song, C., Wan, H.: Attention based spatial-temporal graph convolutional networks for traffic flow forecasting. In: Proceedings of the AAAI conference on artificial intelligence (2019)

[18] Hamilton, W.L., Ying, R., Leskovec, J.: Inductive Representation Learning on Large Graphs (2018)

[19] Hastie, T., Tibshirani, R.: Generalized additive models (with discussion), Statistical Science. (1986)
[20] Humbert, P., Le Bars, B., Oudre, L., Kalogeratos, A., Vayatis, N.: Learning laplacian matrix from graph signals with sparse spectral representation. The Journal of Machine Learning Research (2021)

[21] Hyndman, R.J., et al.: Another look at forecast-accuracy metrics for intermittent demand. Foresight: The International Journal of Applied Forecasting (2006)

[22] Jiang, H., Dong, Y., Dong, Y., Wang, J.: Power load forecasting based on spatial-temporal fusion graph convolution network. Technological Forecasting and Social Change (2024)

[23] Jiang, J., Han, C., Wang, J.: Buaa_bigcity: Spatial-Temporal Graph Neural Network for Wind Power Forecasting in Baidu KDD CUP 2022 (2023)

[24] Jiang, P., Van Fan, Y., Klemeš, J.J.: Impacts of Covid-19 on energy demand and consumption: Challenges, lessons and emerging opportunities. Applied energy

[25] Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization (2014)

[26] Kipf, T.N., Welling, M.: Semi-Supervised Classification with Graph Convolutional Networks (2017)

[27] LeCun, Y., Bengio, Y., et al.: Convolutional networks for images, speech, and time series. The handbook of brain theory and neural networks (1995)

[28] Long, M., Cao, Y., Wang, J., Jordan, M.I.: Learning Transferable Features with Deep Adaptation Networks (2015)

[29] Marino, D.L., Amarasinghe, K., Manic, M.: Building energy load forecasting using deep neural networks. In: Annual conference of the IEEE industrial electronics society (2016)

[30] Massaoudi, M., Abu-Rub, H., Refaat, S.S., Chihi, I., Oueslati, F.S.: Deep Learning in Smart Grid Technology: A Review of Recent Advancements and Future Prospects. IEEE Access (2021)

[31] Obst, D., de Vilmarest, J., Goude, Y.: Adaptive Methods for Short-Term Electricity Load Forecasting During Covid-19 Lockdown in France. IEEE Transactions on Power Systems (2021)

[32] Pierrot, A., Goude, Y.: Short-term electricity load forecasting with generalized additive models. Proceedings of ISAP power (2011)

[33] Rossi, E., Chamberlain, B., Frasca, F., Eynard, D., Monti, F., Bronstein, M.: Temporal graph networks for deep learning on dynamic graphs (2020)

[34] Salvador, S., Chan, P.: FastDTW: Toward accurate dynamic time warping in linear time and space. In: KDD workshop on mining temporal and sequential data (2004)

[35] Shi, H., Xu, M., Li, R.: Deep learning for household load forecasting—A novel pooling deep RNN. IEEE Transactions on Smart Grid (2017)

[36] Thielmann, A., Kruse, R.M., Kneib, T., Säfken, B.: Neural Additive Models for Location Scale and Shape: A Framework for Interpretable Neural Regression Beyond the Mean (2024)

[37] de Vilmarest, J., Browell, J., Fasiolo, M., Goude, Y., Wintenberger, O.: Adaptive probabilistic forecasting of electricity (net-)load. IEEE Transactions on Power Systems (2023)

[38] de Vilmarest, J., Goude, Y.: State-Space Models Win the IEEE DataPort Competition on Post-covid Day-ahead Electricity Load Forecasting (2021)

[39] Williams, S., Short, M.: Electricity demand forecasting for decentralised energy management. Energy and Built Environment (2020)

[40] Wood, S.N.: Generalized additive models: an introduction with R. CRC press (2017)

[41] Wood, S.N., Augustin, N.H.: GAMs with integrated model selection using penalized regression splines and applications to environmental modelling. Ecological modelling (2002)

[42] Wood, S.N., Pya, N., Säfken, B.: Smoothing parameter and model selection for general smooth models. Journal of the American Statistical Association (2016)

[43] Ying, Z., Bourgeois, D., You, J., Zitnik, M., Leskovec, J.: GNNExplainer: Generating explanations for graph neural networks. Advances in neural information processing systems (2019)