Cette application Dash est composée de 3 onglets, et a été conçue comme exercice de recrutement pour un stage à EDF.
L'idée est d'utiliser les données de RTE (éco2mix) pour faire des prévisions de prix SPOT: pour une heure donnée, les valeurs des colonnes d'un fichier éco2mix doivent être utilisées pour prévoir le prix SPOT associé à l'heure en question. A noter que d'un point de vue "physique", cette prévision est sans intérêt, car les prix SPOT sont déterminés publiquement la veille pour le lendemain. Il s'agit simplement d'un exercice élémentaire, basé à 100% sur des données publiques et faciles d'accès, en lien avec le secteur de l'énergie. Si vous préparez d'autres modèles, il n'est donc pas nécessaire de viser à tout prix la performance de prévision.
Les 3 onglets sont:
- éco2mix 2024: onglet pour visualiser les données éco2mix sur toute l'année 2024. Les données doivent être stockées dans le dossier
datade l'application. - prix SPOT: onglet pour visualiser les prix SPOT. Les données doivent être stockées dans le dossier
datade l'application. - Prévision de prix SPOT: à partir d'un fichier eCO2mix_RTE_YYYY-MM-DD.xls (jour par jour) téléchargable sur éco2mix, et d'un modèle préalablement entraîné, faire une prévision et visualiser son résultat.
- Assurez-vous d'avoir les dépendances (cf requirements.txt) dans votre environnement python
- Depuis un terminal, exécutez la commande suivante pour lancer l'application :
python main.py
- Le message ci-dessous doit s'afficher dans la console.
Faites un Ctrl+Click sur (ou copiez-collez) le lien
http://127.[...]pour ouvrir l'application dans votre navigateur par défaut:
Dash is running on http://127.0.0.1:8050/
* Serving Flask app 'main'
* Debug mode: on
Télécharger les données "En-cours annuel consolidé" d'éCO2mix sur ce lien.
Attention, le format du fichier téléchargé est un .csv (séparé par des tabulations), et pas un .xls comme l'extension le laisse penser... :)
Les prix SPOT de l'électricité peuvent être téléchargés ici. Choisir "hourly", puis récupérer le fichier "France.csv".
A votre charge de créer un ou plusieurs modèles (simples, l'objectif n'est pas la performance) de prévision de prix SPOT pour les intégrer dans le dossier "models". Chacun de ces modèles doivent être des .pkl (voir pickle) implémentant une méthode predict() (comme la quasi-totalité des modèles de sklearn).
Le modèle doit pouvoir prendre comme input une dataframe dont les colonnes sont incluses dans celles des fichiers d'éco2mix, et avoir comme sortie le prix SPOT pour le créneau horaire correspondant.
Vous pouvez par exemple entraîner un modèle linéaire et une forêt aléatoire depuis les données "En-cours annuel consolidé" d'éco2mix et des prix SPOT depuis un notebook python, et enregistrer les modèles ainsi créés dans des .pkl.
Ajoutez une ou plusieurs fonctionnalités à cette application ! Quelques idées:
- onglet "Données éco2mix 2024": ajouter une ou plusieurs visualisations avec plotly, si possible avec des composants interactifs de dash (sélecteur de dates, ...)
- onglet "Prévision de prix SPOT": ajouter un formulaire pour construire un input à partir des données renvoyées par l'API d'éco2mix.
- onglet "Prévision de prix SPOT": exploiter les prévisions faites par le modèle, par exemple en les affichant, les comparant au réalisé de prix SPOT dans
data/France.csv, etc. - tous les onglets: modifier les boutons pour utiliser
dbc.Buttonà la place (ou autre améliorations de style)