Bemind
NeuralProphet
NeuralProphet
  • NeuralProphet 1.0.0rc8 документация
  • Инструкция по началу работы
  • Новые уроки
    • Урок 1: Основы
    • Урок 2: Тренды
    • Урок 3: Сезонность
    • Урок 4: Авторегрессия
    • Урок 5: Регрессоры с запаздыванием
    • Урок 6: Будущие регрессоры
    • Урок 7: События и праздники
    • Урок 8: Неопределенность
    • Урок 9: Глобальная модель
    • Урок 10: Валидация и воспроизводимость
    • Следующие шаги
  • Руководства по функциям
    • Коллекция предсказаний
    • Тестирование и кросс-валидация
    • Визуализация прогнозов NeuralProphet
    • Глобальное локальное моделирование
    • Количественная оценка неопределенности
    • Условная сезонность
    • Мультипликативная Сезонность
    • Разреженная авторегрессия
    • Субдневные данные
    • Выбор гиперпараметров
    • Интеграция MLflow
    • Прямая визуализация во время обучения
    • Визуализация архитектуры сети
    • Прогнозирование потребности в энергии: Прогноз нагрузки для больницы в Сан-Франциско
    • Возобновляемая Энергия: Прогнозирование Солнечной Энергии
    • Прогнозирование нагрузки на энергосистему с визуализацией
  • Code Documentation
    • NeuralProphet Class
Powered by GitBook
On this page
  • Постройте прогноз
  • Постройте компоненты
  • Постройте параметры
  • Построение нескольких прогнозов
  1. Руководства по функциям

Визуализация прогнозов 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)

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

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

m.plot(forecast)

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

m.plot_components(forecast)

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

m.plot_parameters()

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

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

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

m.set_plotting_backend("plotly-static")

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

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

m.plot(forecast, forecast_in_focus=4)

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

# Показать только последние 20 дней для лучшего отображения компонентов
m.plot_components(forecast[-20:])

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

m.plot_parameters()

Last updated 1 year ago

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

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

Подробнее смотрите в официальной документации NeuralProphet.
выбрать визуализацию всех параметров или только некоторой их части.