Tools & Stacks

Seaborn Python MissingNo Pandas Matplotlib Numpy json Scipy Sklearn Jupyter-Notebook
portfolio thumbnail

Anticipez les besoins en consommation électrique de bâtiments

Détail du projet

Problématique

 

La ville de Seattle souhaite atteindre la neutralité carbone en 2050, dans ce but il nous a été demandé de mettre au point un modèle de prédiction des émissions de CO2 et de la consommation totale d'énergie de bâtiments non-résidentiels en se passant des relevés énergétiques, très coûteux à établir.

 

Il nous a aussi été demandé d'étudier l'intérêt de l'ENERGYSTAR Score qui est aussi très difficile à calculer.

 

Données

 

Le jeu de données nous donnes accès à 46 caractéristiques pour plus de 3000 bâtiments sur les années 2015 et 2016. Nous avons aussi pu trouver des jeux équivalents (quelques différences de formatage et quelques colonnes absentes) pour les années 2017 à 2019.

 

 

 

De nombreux bâtiments sont dupliqués sur ces années, on va donc créer 5 jeux différents :

 

  • 2015 seule
  • 2015 et 2016, avec et sans doublons
  • 2015 à 2019, avec et sans doublons

 

dans le but d'étudier la fuite de données. En effet si il est possible de conserver les bâtiments en double, nous augmenterons facilement les observations disponibles pour l'entraînement.

 

Traitement des variables

 

La première étape fut d'identifier les variables porteuses d'informations en étudiant leur relation à la cible. Par exemple des tests statistiques ont montrés que le quartier avait une influence sur la consommation totale d'énergie.

 

 

 

Nous avons aussi pu montrer que toutes les mesures de surface ne se valent pas, certaines comprenant par exemple la surface de parkings aériens et sont donc peu corrélées à nos cibles.

 

 

 

 

Ces variables ont ensuite été traitées en fonction de leur type, numériques ou catégorielles, continues ou ordinales...

 

 

 

 

Traitement des cibles

 

Nos deux cibles (consommation totale d'énergie et émission totale de GES) sont très asymétriques, nous avons donc testé plusieurs méthodes pour les rapprocher d'une distribution normale, plus adaptées à la modélisation.

 

 

 

 

 

Modélisation

 

Après entraînement d'un modèle de base, un dummy regressor prédisant toujours la moyenne et aux performances déplorables prévisibles (R2 ~ 0.06 sur les deux cibles) nous avons réalisé une recherche en grille qui nous a permis d'optimiser à la fois les hyperparamètres de plusieurs modèles, mais aussi le pipeline de préprocessing et donc de tester différentes transformations des cibles.

 

 

Dans le cas de la consommation d'énergie totale, c'est le passage au logarithme qui s'est avéré le plus efficace et nous avons retenu le SVR linéaire.

 

 

 

 

La courbe d'apprentissage de ce modèle montre un bon comportement, un score d'entraînement qui reste stable et un score de test qui augmente et semble converger, mais cette convergence n'est pas attteinte ce qui semble montrer que nous manquons de données.

 

 

 

 

Effet des doublons

 

L'entraînement du modèle sur les données de 2015 à 2019 sans traitement des bâtiments dupliqués entraîne une importante fuite de données, le score de test étant largement supérieur au score d'entraînement. On ne pourra donc pas garder ces données pour le modèle final.

 

 

 

 

ENERGYSTAR Score

 

Après ré-entraînement du modèle avec un pipeline incluant l'ENERGYSTAR Score on a pu démontrer la faible importance de celui-ci en étudiant l'importance des variables par permutation.