Урок 9: Глобальная модель

Работа с панельными данными (несколько временных рядов). NeuralProphet позволяет моделировать локальные и глобальные компоненты.

Мы используем набор данных ERCOT, который содержит данные для нескольких регионов. NeuralProphet требует, чтобы данные были представлены в одной колонке с дополнительной колонкой идентификатора для обозначения региона.

import pandas as pd

df = pd.read_csv(
    "https://github.com/ourownstory/neuralprophet-data/raw/main/datasets/multivariate/load_ercot_regions.csv"
)
fig = df.plot(figsize=(15, 5))

Сначала мы определяем базовую модель, которая использует глобальное моделирование. Это означает, что все регионы моделируются вместе.

from neuralprophet import NeuralProphet, set_log_level

# Здесь мы используем тот же набор данных, только предобработанный для соответствия формату ввода NeuralProphet
df = pd.read_csv("https://github.com/ourownstory/neuralprophet-data/raw/main/datasets/multivariate/ercot-panel.csv")
df.head()

# Отключение сообщений журнала ниже уровня ошибки
set_log_level("ERROR")

# Базовая модель
m = NeuralProphet()
m.set_plotting_backend("plotly-static")
metrics = m.fit(df, freq="H")
forecast = m.predict(df)
m.plot(forecast, df_name="NORTH_C")

Затем мы определяем вторую модель, которая использует локальное моделирование. Это означает, что каждый регион моделируется отдельно по тенденции и сезонности.

m = NeuralProphet(
    trend_global_local="local",
    seasonality_global_local="local",
)
m.set_plotting_backend("plotly-static")
metrics = m.fit(df, freq="H")
forecast = m.predict(df)
m.plot(forecast, df_name="NORTH_C")

Last updated