Визуализация прогнозов NeuralProphet

Этот блокнот демонстрирует, какие варианты построения графиков доступны в NeuralProphet.

NeuralProphet поддерживает использование нескольких бэкендов для визуализации, каждый из которых имеет свои преимущества и недостатки:

  • plotly: Интерактивные графики, но могут быть медленными для больших наборов данных и не отображаются в версии документации.

  • plotly-static: Статические графики для отображения в документации.

  • plotly-resampler: Интерактивные графики, которые работают быстрее с большими наборами данных, но могут некорректно отображаться в некоторых средах.

  • matplotlib: Статические графики, но скоро будут устаревшими.

Давайте начнем с той же модели, что и в учебниках.

import pandas as pd
from neuralprophet import NeuralProphet, set_log_level

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

# Загрузка набора данных из CSV-файла с помощью pandas
df = pd.read_csv("https://github.com/ourownstory/neuralprophet-data/raw/main/kaggle-energy/datasets/tutorial04.csv")

# Уменьшение набора данных до двух лет для более наглядного отображения
df = df.iloc[-365 * 2 :]

# Модель и прогнозирование
m = NeuralProphet(
    # Отключение точек изменения тренда
    n_changepoints=10,
    # Отключение компонентов сезонности
    yearly_seasonality=True,
    weekly_seasonality=True,
    daily_seasonality=True,
    n_lags=10,
)
m.add_lagged_regressor("temperature")

m.set_plotting_backend("plotly-static")

metrics = m.fit(df)
forecast = m.predict(df)

Постройте прогноз

Постройте прогноз модели и фактические данные.

Постройте компоненты

Чтобы визуализировать компоненты прогноза, такие как тренд, сезонность и праздники, вы можете использовать метод plot_parameters. Вы можете выбрать показ всех компонентов или только части с помощью components. Подробнее смотрите в официальной документации NeuralProphet.

Постройте параметры

Для лучшего понимания модели можно визуализировать параметры модели. Как и в случае с plot_components, вы можете выбрать визуализацию всех параметров или только некоторой их части.

Построение нескольких прогнозов

Neuralprophet может генерировать прогнозы на несколько шагов вперед, если указать параметр n_forecasts

Если мы будем строить наш прогноз, как и раньше, все прогнозы на каждом шаге будут отображены. Однако мы также можем построить каждый прогноз на каждом шаге индивидуально.

Тренд, сезонность и праздники одинаковы для всех прогнозов вперед, поэтому они отображаются только один раз. Но авторегрессия и запаздывающие регрессоры различаются для каждого шага прогнозирования. Если forecast_in_focus не указан, график компонент показывает долю компонента к каждому шагу прогноза разными цветами. Если указан forecast_in_focus, график компонент показывает долю компонента указанного шага прогноза.

Поскольку параметры одинаковы для всех прогнозов на несколько шагов вперед, они отображаются только один раз.

Last updated