Meninjau data masukan

Merancang Pipeline Peramalan untuk Produksi

Rami Krispin

Senior Manager, Data Science and Engineering

Permintaan listrik per jam di AS

Plot deret waktu yang menunjukkan tren musiman permintaan listrik dari tahun ke tahun

Merancang Pipeline Peramalan untuk Produksi

Analisis musiman

Plot deret waktu yang menunjukkan tren musiman permintaan listrik per jam dan harian

Merancang Pipeline Peramalan untuk Produksi

Analisis autokorelasi

Plot ACF yang menunjukkan lag harian dan mingguan

Merancang Pipeline Peramalan untuk Produksi

API EIA

Situs EIA

Merancang Pipeline Peramalan untuk Produksi

API EIA

API EIA

  • Tidak perlu kunci API untuk menyelesaikan kursus ini 🎉
1 https://www.eia.gov/opendata/
Merancang Pipeline Peramalan untuk Produksi

API EIA

import requests
import pandas as pd
import os






Merancang Pipeline Peramalan untuk Produksi

API EIA

import requests
import pandas as pd
import os

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



Merancang Pipeline Peramalan untuk Produksi

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
Merancang Pipeline Peramalan untuk Produksi

API EIA

eia_api_key = os.getenv('EIA_API_KEY')

get_request = get_request + "?api_key=" + eia_api_key
  • eia_api_key bersifat pribadi dan harus diperoleh dari situs EIA
1 https://www.eia.gov/opendata/
Merancang Pipeline Peramalan untuk Produksi

API EIA

data = requests.get(get_request).json()
df = pd.DataFrame(data['response']['data'])
Merancang Pipeline Peramalan untuk Produksi

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    
Merancang Pipeline Peramalan untuk Produksi

API EIA

API EIA

1 EIA API website: https://www.eia.gov/opendata/ 2 EIA API dashboard: https://www.eia.gov/opendata/browser/
Merancang Pipeline Peramalan untuk Produksi

Persiapan data

Format input data untuk paket statsforecast dan mlforecast:

  1. unique_id - ID deret
  2. ds - stempel waktu deret
  3. y - nilai deret
df = pd.read_csv("data/data.csv")
ts = df[["period", "value"]]
ts["period"] = pd.to_datetime(ts["period"])
ts = ts.sort_values("period")
Merancang Pipeline Peramalan untuk Produksi

Persiapan data

Format input data:

  1. unique_id - ID deret
  2. ds - stempel waktu deret
  3. y - nilai deret
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
Merancang Pipeline Peramalan untuk Produksi

Persiapan data

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
Merancang Pipeline Peramalan untuk Produksi

Ayo berlatih!

Merancang Pipeline Peramalan untuk Produksi

Preparing Video For Download...