Xem lại dữ liệu đầu vào

Thiết kế Pipeline Dự báo cho Môi trường Production

Rami Krispin

Senior Manager, Data Science and Engineering

Nhu cầu điện theo giờ ở Mỹ

Biểu đồ chuỗi thời gian cho thấy xu hướng theo mùa của nhu cầu điện qua các năm

Thiết kế Pipeline Dự báo cho Môi trường Production

Phân tích tính mùa vụ

Biểu đồ chuỗi thời gian cho thấy xu hướng theo mùa của nhu cầu điện theo giờ và theo ngày

Thiết kế Pipeline Dự báo cho Môi trường Production

Phân tích tự tương quan

Biểu đồ ACF hiển thị độ trễ theo ngày và theo tuần

Thiết kế Pipeline Dự báo cho Môi trường Production

API của EIA

Trang web EIA

Thiết kế Pipeline Dự báo cho Môi trường Production

API của EIA

API của EIA

  • Không cần khóa API để hoàn thành khóa học này 🎉
1 https://www.eia.gov/opendata/
Thiết kế Pipeline Dự báo cho Môi trường Production

API của EIA

import requests
import pandas as pd
import os






Thiết kế Pipeline Dự báo cho Môi trường Production

API của EIA

import requests
import pandas as pd
import os

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



Thiết kế Pipeline Dự báo cho Môi trường Production

API của 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
Thiết kế Pipeline Dự báo cho Môi trường Production

API của EIA

eia_api_key = os.getenv('EIA_API_KEY')

get_request = get_request + "?api_key=" + eia_api_key
  • eia_api_key là cá nhân và phải lấy từ website của EIA
1 https://www.eia.gov/opendata/
Thiết kế Pipeline Dự báo cho Môi trường Production

API của EIA

data = requests.get(get_request).json()
df = pd.DataFrame(data['response']['data'])
Thiết kế Pipeline Dự báo cho Môi trường Production

API của 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    
Thiết kế Pipeline Dự báo cho Môi trường Production

API của EIA

API của EIA

1 EIA API website: https://www.eia.gov/opendata/ 2 EIA API dashboard: https://www.eia.gov/opendata/browser/
Thiết kế Pipeline Dự báo cho Môi trường Production

Chuẩn bị dữ liệu

Định dạng đầu vào cho gói statsforecastmlforecast:

  1. unique_id - ID chuỗi
  2. ds - mốc thời gian
  3. y - giá trị chuỗi
df = pd.read_csv("data/data.csv")
ts = df[["period", "value"]]
ts["period"] = pd.to_datetime(ts["period"])
ts = ts.sort_values("period")
Thiết kế Pipeline Dự báo cho Môi trường Production

Chuẩn bị dữ liệu

Định dạng đầu vào:

  1. unique_id - ID chuỗi
  2. ds - mốc thời gian
  3. y - giá trị chuỗi
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
Thiết kế Pipeline Dự báo cho Môi trường Production

Chuẩn bị dữ liệu

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
Thiết kế Pipeline Dự báo cho Môi trường Production

Ayo berlatih!

Thiết kế Pipeline Dự báo cho Môi trường Production

Preparing Video For Download...