La ville de Seattle a pour objectif de devenir une ville neutre en carbone d’ici 2050. Pour y parvenir, l’équipe du projet doit étudier les émissions de C02 ainsi que la consommation énergétique des bâtiments non résidentiels. Des enquêtes minutieuses ont déjà été réalisées, mais elles sont coûteuses à obtenir.

Durée du projet: 100 heures.

Missions:

  • Prédire la consommation d’énergie et les émissions de CO2 des bâtiments non résidentiels de Seattle.
  • Evaluer l’importance du score EnergyStar pour les prédictions car c’est une des données couteuses à calculer.

Ce projet faisait partie de la formation bac+5 Ingénieur Machine Learning.

Données

Les données disponibles proviennent de la plateforme Kaggle. Ce sont les données des permis de construire de la ville de Seattle pour les années 2015 et 2016 ainsi que des fichiers de métadonnées associés.

Target Features Distribution

Nettoyage

  • Combinaison des fichiers de données
  • Suppression des doublons et des lignes concernant les bâtiments résidentiels en ne gardant les valeurs les plus récentes
  • Gestion des valeurs aberrantes ou manquantes
  • Feature Engineering
  • Suppression des colonnes jugées inutiles (aucune informations importantes, data leakage, haute corrélation, …)

Les visualisations de l’analyse exploratoire sont disponibles sur la page Github du notebook Pelec_01_EDA.

Préparation

  • Encodage OneHot des variables catégorielles
  • Normalisation des données
  • Imputation des valeurs manquantes restantes avec le modèle kNN
  • Séparation 80/20 aléatoire des données en un jeu d’entrainement et un jeu de test (stratifiée selon le type de bâtiments)

Sélection d’un modèle

Deux métriques ont été utilisées pour évaluer et comparer les différents modèles testés sur les deux valeurs à prédire:

Le coefficient de Pearson:
$$ {\displaystyle R^2=1-{\dfrac {\sum_{i=1}^{n}\left(y_{i}-{\hat {y_{i}}}\right)^2}{\sum_{i=1}^{n}\left(y_{i}-{\bar {y}}\right)^2}}} $$
L’erreur quadratique moyenne:
$$ RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n}{\Big(\frac{y_i -\hat{y}_i}{\sigma_i}\Big)^2}} $$

Plusieurs types de modèles supervisés ont été comparés : linéaires et non-linéaires (SVM, modèles ensemblistes) ainsi qu’un réseau de neurones.
Pour réduire les risques de surapprentissage l’entrainement a été fait avec une validation croisée à 10 folds.

Resultats obtenus

CO2

ModèleRMSEEntrainement (s)
Ridge0.5750.8660.028
Lasso-0.0021.3330.021
Elasticnet-0.0021.3330.020
LinearSVR0.5620.8780.037
Kernel SVR0.5680.8790.157
RandomForest0.6350.8011.567
XGBoost0.6730.7590.742
MLP0.5280.90925.906

Energies

ModèleRMSEEntrainement (s)
Ridge0.6210.9350.027
Lasso-0.0061.5620.021
Elasticnet-0.0061.5620.017
LinearSVR0.4911.1240.038
SVR0.3921.2380.154
RandomForest0.6630.8791.497
XGBoost0.6890.8440.675
MLP0.4991.06736.943

Il a été constaté que le modèle eXtreme Gradient Boosting (XGBoost) est celui qui obtient les meilleures performances. C’est donc ce modèle qui a été selectionné pour réaliser les prédictions.
L’optimisation des hyperparamètres a alors été réalisée avec une GridSearch pour chaque variable à prédire ce qui a permis de meilleurs scores mais la différence de performances entre les deux modèles a été accentuée: $$CO_2: R²=0.732$$ $$Energies: R²=0.904$$

Cette différence peut s’expliquer par le fait qu’il y plus de features en rapport aux énergies consommé dans les données.

Prédiction des émissions de CO2

Prédiction de la consommation d'électricité

Score EnergyStar

Une analyse de l’importance des features a ensuite montrée que le score EnergyStar est une des colonnes qui influents le plus les prédictions de chaque modèle. Comme cette valeur est coûteuse à obtenir, toute la procédure de sélection et d’optimisation de modèles à été recommencée en ayant supprimé le score EnergyStar du jeu de données.
C’est encore le modèle XGBoost qui a obtenu les meilleures performances, avec des scores légèrements inférieurs à la version précédente dont une différence un peu plus marquée pour les pédictions d’émissions de CO2.

R² par type de batiment

Conclusion

On peut considérer les prédictions obtenues comme acceptables et il est possible de se passer du score EnergyStar sans pertes de performances significatives. Il revient alors à la MOA de décider s’il est possible d’arrêter le calcul de cette valeur ou s’il est préférable de continuer les recherches d’un modèle plus performant surtout pour les prédictions sur le CO2.

Pistes de recherches futures:

  • Utiliser une méthode de réduction de dimensions sur les données
  • Construction d’un modèle de régression multi-sorties
  • Construction plus avancée d’un modèle de DeepLearning avec des librairies telles que TensorFlow / PyTorch