Revoir les données d'entrée

Concevoir des pipelines de prévision pour la production

Rami Krispin

Senior Manager, Data Science and Engineering

La demande d'électricité horaire aux États‑Unis

Courbe temporelle montrant des tendances saisonnières de la demande d'électricité d'une année sur l'autre

Concevoir des pipelines de prévision pour la production

Analyse de la saisonnalité

Courbe temporelle montrant des tendances saisonnières de la demande d'électricité aux niveaux horaire et quotidien

Concevoir des pipelines de prévision pour la production

Analyse d'autocorrélation

Graphique ACF montrant des retards quotidiens et hebdomadaires

Concevoir des pipelines de prévision pour la production

L'API EIA

Site Web EIA

Concevoir des pipelines de prévision pour la production

L'API EIA

API EIA

  • Aucune clé d'API requise pour suivre ce cours 🎉
1 https://www.eia.gov/opendata/
Concevoir des pipelines de prévision pour la production

L'API EIA

import requests
import pandas as pd
import os






Concevoir des pipelines de prévision pour la production

L'API EIA

import requests
import pandas as pd
import os

api_url = "https://api.eia.gov/v2/"
api_path = "electricity/rto/region-data/"



Concevoir des pipelines de prévision pour la production

L'API EIA

import requests
import pandas as pd
import os

api_url = "https://api.eia.gov/v2/"
api_path = "electricity/rto/region-data/"
get_request = api_url + api_path + "data/&data[]=value"

print(get_request)
https://api.eia.gov/v2/electricity/rto/region-data/data/&data[]=value
Concevoir des pipelines de prévision pour la production

L'API EIA

eia_api_key = os.getenv('EIA_API_KEY')

get_request = get_request + "?api_key=" + eia_api_key
  • eia_api_key est personnel et doit être obtenu sur le site de l'EIA
1 https://www.eia.gov/opendata/
Concevoir des pipelines de prévision pour la production

L'API EIA

data = requests.get(get_request).json()
df = pd.DataFrame(data['response']['data'])
Concevoir des pipelines de prévision pour la production

L'API EIA

data = requests.get(get_request).json()
df = pd.DataFrame(data['response']['data'])

print(df.head())
     period           respondent    respondent-name                              value
0    2022-04-06T07    AVA           Avista Corporation                           462894.0    
1    2024-04-06T07    AZPS          Arizona Public Service Company               463663.0    
2    2024-04-07T07    BANC          Balancing Authority of Northern California   464916.0    
3    2024-04-07T07    BPAT          Bonneville Power Administration              459376.0    
4    2024-04-07T07    CAL           California                                   441989.0    
Concevoir des pipelines de prévision pour la production

L'API EIA

API EIA

1 EIA API website: https://www.eia.gov/opendata/ 2 EIA API dashboard: https://www.eia.gov/opendata/browser/
Concevoir des pipelines de prévision pour la production

Préparation des données

Format d'entrée des données pour les packages statsforecast et mlforecast :

  1. unique_id : identifiant de la série
  2. ds : horodatage de la série
  3. y : valeurs de la série
df = pd.read_csv("data/data.csv")
ts = df[["period", "value"]]
ts["period"] = pd.to_datetime(ts["period"])
ts = ts.sort_values("period")
Concevoir des pipelines de prévision pour la production

Préparation des données

Format d'entrée des données :

  1. unique_id : identifiant de la série
  2. ds : horodatage de la série
  3. y : valeurs de la série
ts = ts[["period", "value"]]
ts["period"] = pd.to_datetime(ts["period"])
ts = ts.sort_values("period")

ts = ts.rename(columns = {"period": "ds", "value": "y"})
ts["unique_id"] = 1
Concevoir des pipelines de prévision pour la production

Préparation des données

print(ts.head())
     ds                     y           unique_id
0    2022-04-06 23:00:00    462894.0    1
1    2022-04-07 00:00:00    463663.0    1
2    2022-04-07 01:00:00    464916.0    1
3    2022-04-07 02:00:00    459376.0    1
4    2022-04-07 03:00:00    441989.0    1
Concevoir des pipelines de prévision pour la production

Passons à la pratique !

Concevoir des pipelines de prévision pour la production

Preparing Video For Download...