La situation est dangereusement tendues sur le marché européen de l’électricité. La France va-t-elle connaitre des délestages ? La réponse pourrait bien dépendre du thermomètre. En effet, la consommation d’électricité française varie rapidement avec la température : quelques degrés en moins et ce sont des millions de chauffage électriques qui s’allument…
Dans cette démonstration, nous allons utiliser des données de consommation et des données météorologiques historiques pour quantifier la thermosensibilité du système électrique français, c’est-à-dire l’effet de la température sur les besoins en électricité.
Objectif, données et environnement
Dire que la consommation augmente d’une valeur fixe pour chaque degré, cela revient à dire qu’il existe une relation linéaire entre la consommation et la température :
Consommation = a x Température + b
Notre objectif est de calculer a.
Cette égalité ne sera certainement pas parfaite. Pour évaluer s’il s’agit d’un bon modèle ou d’une approximation grossière, nous allons également calculer le coefficient r². Un modèle linéaire est parfait si r² = 1 et parfaitement inutile si r² ≤ 0, entre les deux on peut considérer qu’un modèle commence à avoir un intérêt si son r² se situe autour de 0.7.
Ces calculs nécessitent des données historiques de consommation et de température. Un jeu de données tout près est disponible pour ça sur Opendata Réseaux Energies : il contient le pic de consommation journalier et la température moyenne journalière entre 2012 et aujourd’hui.
Pour analyser ces données, nous allons utiliser les librairies suivantes :
Pandas, la librairie de référence pour la manipulation de tableaux de données, l’Excel de Python en quelque sorte…
Matplotlib pour les graphiques
SciPy pour les régressions linéaires
Commençons donc par importer ces librairies et ouvrir nos données :
Visualisation et première regression
Pour se faire une première idée de la thermosensibilité commençons par représenter la consommation électrique en fonction de la température :
On obtient le résultat suivant :
Il existe clairement deux domaines de température : lorsqu’il fait froid, en dessous de 15°C environ, la relation entre la consommation et la température est décroissante. Lorsqu’il fait chaud, la relation s’inverse : la consommation croit avec la température mais beaucoup moins vite. Dans les deux cas, la relation semble grossièrement linéaire.
Ce qui nous intéresse, c’est le comportement de la consommation lorsque la température est basse. Pour notre régression linéaire, nous n’allons garder que les points correspondants à l’hiver météorologique, c’est-à-dire de décembre à février.
L’accesseur .dt va nous aider : il permet d’obtenir facilement l’année, le mois, le jour, etc. d’une série de dates. Pour notre sélection, nous allons donc tester si .dt.month est la dans liste [12, 1, 2], autrement dit si le mois est décembre, janvier ou février :
Nous allons maintenant faire une régression linéaire sur cette sélection :
Représentons tout ça sur une nouvelle figure :
On obtient le résultat suivant :
On obtient approximativement un gradient de 1900 MW par degré, c’est sensiblement moins que le chiffre généralement cité de 2400MW/°C.
Cependant, il est clair visuellement que le modèle n’est pas très bon. La dispersion autour de la régression est importante comparée à la plage de variation de la consommation. Cela se traduit aussi par un r² assez médiocre de 0.6.
Influence du jour de la semaine
Ce graphique fait aussi apparaitre un phénomène curieux : il semble y avoir deux nuages de points, un au-dessous de la régression et un autre un peu plus dense au-dessus. Ce double nuage apparait encore plus clairement sur la première figure, en particulier entre 10 et 20°C.
Cela suggère qu’il existe un autre facteur complètement indépendant de la température qui fait varier la consommation. Spontanément, on peut supposer qu’il s’agit du jour de la semaine : à température égale, on peut s’attendre à des consommations proches du lundi au vendredi mais différentes pendant le week-end.
Pour tester cette hypothèse, nous allons séparer notre jeu de données en deux : d’un côté les jours de semaine, de l’autre les week-ends.
Pour cela nous allons utiliser .weekday() qui renvoie 0 pour un lundi, 1 pour mardi, etc. Le résultat va être mis dans une nouvelle colonne qui sera utilisée pour filtrer les deux jeux de données :
Nous allons maintenant refaire la régression sur chacun de ces deux jeux de données et représenter le résultat sur un graphique unique :
Et voilà le résultat :
Comme on s’y attendait, on obtient un meilleurs résultat en séparant la semaine et les week-end.
La thermosensibilité est un peu plus faible le week-end : la consommation augmente en moyenne de 1830MW par degré perdu contre 1890 en semaine. Mais c’est surtout la consommation de base qui est différente.
Noël et jour de l’an…
On note cependant que le r² est sensiblement moins bon pour les jours de semaine. On voit aussi sur le graphique qu’il y a “outliers”, des points qui s’écartent anormalement du reste surtout à la baisse.
Dans cette situation, cela peut être une bonne idée d’identifier ces points pour voir si on peut expliquer leur comportement. Affichons donc les 20 points présentant l’erreur absolue la plus importante :
Voici les premières lignes de ce tableau :
Vous remarquez quelque chose ?
Parmi les 20 jours qui présentent l’erreur la plus importante, tous se situent entre le 24 décembre et le 1er janvier, 8 sont des 25 décembre, 6 sont des 1er janvier. Et dans tous les cas l’erreur est positive : la régression surévalue la consommation par rapport à la réalité.
C’est logique : chômées ou très peu travaillées, les journées comprises entre la veille de Noël et le jour de l’an se rapprochent plus de week-ends que de jours de semaine. Pour en tenir compte, nous allons les faire passer dans notre second jeu de données :
Après cette modification on peut refaire la régression et la figure. Le code est exactement le même que précédemment.
Cette fois, on obtient un r² de 0.86 pour les jours ordinaires. C’est honorable et il n’est pas évident qu’il soit possible de faire mieux avec un modèle linéaire à une seule variable pour l’ensemble du pays.
La thermosensibilité a-t-elle changé depuis 2012 ?
On peut se poser une dernière question : La thermosensibilité du système électrique français varie-t-elle d’une année sur l’autre ? Si oui, existe-t-il une tendance à la hausse ou à la baisse ?
Pour répondre à ces question, nous avons calculé le gradient thermique pour les jours ordinaires année par année :
Le gradient thermique annuel a varié de 1550MW par degré pour l’hiver 2012–2013 à 2020MW/degré pour l’hiver 2020–2021. Malgré ces fluctuations, il semble relativement stable :
On peut également noter que la différence de gradient entre les jours ordinaires et les week-ends et fêtes est faible par rapport aux variations annuelles.
Conclusion et pistes
D’après cette analyse, lorsque la température moyenne baisse d’un degré, le pic journalier de consommation électrique augmente en moyenne de l’ordre de 1900MW. Cette augmentation correspond à la production d’une petite centrale nucléaire (St Laurent, par exemple). L’effet d’un coup de froid sur la consommation électrique est donc loin d’être négligeable !
Cependant cette évaluation est significativement plus basse que celle fournit par RTE : depuis plusieurs années, le gestionnaire du réseau de transport d’électricité évalue la thermosensibilité à 2400 MW par degré. Il serait intéressant de connaitre l’origine de cet écart.
Quoiqu’il en soit la thermosensibilité est un modèle de consommation très simpliste. Pour prévoir la consommation de façon plus précise, on pourrait notamment :
Régionaliser le modèle : un degré en moins Corse ou dans le Centre-Val de Loire, par exemple, a certainement moins d’effet sur la consommation qu’un degré de moins en Ile-de-France,
Utiliser plus de données d’entrée : on peut supposer, par exemple, que la durée de jour ou la position des vacances scolaires ont aussi un effet sur la consommation,
Utiliser un modèle plus complexe qu’un simple modèle linéaire, pour des prévisions à court terme une forêt aléatoire, par exemple, donnerait probablement de bien meilleurs résultats sans ajouter beaucoup de complexité.
A propos : Callendar est une start-up spécialisée dans le développement de solutions innovantes pour l’évaluation des risques climatiques.
Vous voulez en savoir plus ? Vous avez des questions sur l’impact de la météo sur l’énergie et l’industrie ? Contactez-nous ou visitez le site web de Callendar .