De invoergegevens bekijken

Forecasting-pijplijnen ontwerpen voor productie

Rami Krispin

Senior Manager, Data Science and Engineering

Uurlijkse elektriciteitsvraag in de VS

Tijdreeksplot met seizoenspatronen in elektriciteitsvraag per jaar

Forecasting-pijplijnen ontwerpen voor productie

Seizoensanalyse

Tijdreeksplot met seizoenspatronen in elektriciteitsvraag per uur en per dag

Forecasting-pijplijnen ontwerpen voor productie

Autocorrelatie-analyse

ACF-plot met dagelijkse en wekelijkse vertragingen

Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

EIA-website

Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

EIA-API

  • Geen API-sleutel nodig om deze cursus te voltooien 🎉
1 https://www.eia.gov/opendata/
Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

import requests
import pandas as pd
import os






Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

import requests
import pandas as pd
import os

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



Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

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
Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

eia_api_key = os.getenv('EIA_API_KEY')

get_request = get_request + "?api_key=" + eia_api_key
  • eia_api_key is persoonlijk en moet van de EIA-website komen
1 https://www.eia.gov/opendata/
Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

data = requests.get(get_request).json()
df = pd.DataFrame(data['response']['data'])
Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

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    
Forecasting-pijplijnen ontwerpen voor productie

De EIA-API

EIA-API

1 EIA API-website: https://www.eia.gov/opendata/ 2 EIA API-dashboard: https://www.eia.gov/opendata/browser/
Forecasting-pijplijnen ontwerpen voor productie

Datavoorbereiding

Data-indeling voor de pakketten statsforecast en mlforecast:

  1. unique_id - serie-ID
  2. ds - tijdstempel
  3. y - waarden
df = pd.read_csv("data/data.csv")
ts = df[["period", "value"]]
ts["period"] = pd.to_datetime(ts["period"])
ts = ts.sort_values("period")
Forecasting-pijplijnen ontwerpen voor productie

Datavoorbereiding

Data-indeling:

  1. unique_id - serie-ID
  2. ds - tijdstempel
  3. y - waarden
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
Forecasting-pijplijnen ontwerpen voor productie

Datavoorbereiding

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
Forecasting-pijplijnen ontwerpen voor productie

Laten we oefenen!

Forecasting-pijplijnen ontwerpen voor productie

Preparing Video For Download...