Ce dépôt GitHub s'inscrit dans le cadre du projet "Python pour la Data Science", réalisé en deuxième année du cycle ingénieur de l'ENSAE par Aurane Vernière, Hugo Capot et Killian Pliszczak.
En engendrant un réchauffement global de l'atmosphère, le dérèglement climatique actuel amène les ménages à modifier leur consommation d'électricité. Identifier les déterminants de ces comportements devient donc un point crucial, tant pour les exploitants que les gouvernants.
L'objectif de notre projet est de prévoir la consommation électrique d'un ménage en France en fonction de la performance énergétique de son bâtiment, de la météo et du climat de la région. Notre étude se fait à deux échelles : la prévision de la consommation électrique départementale dans un premier temps, puis la prévision de la consommation adresse par adresse.
A cette fin, nous avons donc découpé notre travail en plusieurs étapes :
-
- Utilisation de la bibliothèque BeautifulSoup pour extraire différentes données (Fichier declarations.py et Notebook Scrapping_Population) :
- Températures de différentes stations météorologiques grâce au site Info Climat
- Données de population par départements et par années sur la période 2011-2021 grâce au site de l'INSEE
- Téléchargement de données publiques (Notebooks Etude_par_adresse, Récupération_des_données et fichier declarations.py):
- Consommation électrique des logements par adresse depuis le site d'Enedis
- DPE pour les logements français depuis l'API disponible sur data.gouv.fr
- Consommations annuelles d'électricité par département depuis le site de l'agence ORE
- Températures moyennes par départements depuis le site de l'ODRE
- Utilisation de la bibliothèque BeautifulSoup pour extraire différentes données (Fichier declarations.py et Notebook Scrapping_Population) :
-
- Restructuration des données météorologiques pour en retirer des variables utiles (Notebook Etude_par_adresse)
- Choix des stations météorologiques d'intérêt (Notebook Etude_par_adresse)
- Choix de villes d'intérêt pour notre étude (Notebook Etude_par_adresse)
- Restructuration des données de consommation à l'échelle départementale et communale (Notebooks Modelisation et Etude_par_adresse)
-
- Description des données de consommation par l'utilisation de cartes et de graphiques (Notebook Recuperation_des_donnees)
- Description des données de températures moyennes par l'utilisation de cartes et de graphiques (Notebook Recuperation_des_donnees)
- Etude des corrélations entre les variables (Notebook Modelisation)
-
- Régressions sur différentes variables (Notebooks Modelisation et Etude_par_adresse)
- Conclusions
Sont présents dans ce répertoire différents fichiers ayant des objectifs complémentaires. Nous proposons ici un ordre de parcours indicatif :
I. declarations.py
II. Etude à l'échelle départementale :
- recuperation_des_donnees.ipynb
- Scrapping_population.ipynb
- Carte_ensoleillement.ipynb
- Modelisation.ipynb
III. Etude de la consommation par adresse :
- Etude_par_adresse.ipynb
Veuillez trouver ci-dessous les modules et packages nécessaires à la bonne exécution du projet. Pour plus de simplicité, vous les retrouverez aussi dans le fichier requirement.txt.
pip install -q lxml
pip install pandas
pip install geopandas
pip install lxml
pip install urllib
pip install matplotlib
pip install requests py7zr geopandas openpyxl tqdm s3fs PyYAML xlrd
pip install git+https://github.com/inseefrlab/cartiflette@80b8a5a28371feb6df31d55bcc2617948a5f9b1a
pip install mapclassify
pip install folium
pip install import-ipynb
pip install seaborn
pip install statsmodelsimport numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import bs4
import lxml
import urllib
from tqdm.auto import tqdm
from urllib import request
import declarations as dec
import importlib
import requests
import geopandas as gpd
import matplotlib.pyplot as plt
import mapclassify as mc
import folium
import os
from os.path import isfile
import json
import sklearn
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
import sklearn.metrics
from sklearn import preprocessing
import statsmodels.api as sm
import statsmodels.formula.api as smf