Этот блокнот демонстрирует, какие варианты построения графиков доступны в NeuralProphet.
NeuralProphet поддерживает использование нескольких бэкендов для визуализации, каждый из которых имеет свои преимущества и недостатки:
plotly: Интерактивные графики, но могут быть медленными для больших наборов данных и не отображаются в версии документации.
plotly-static: Статические графики для отображения в документации.
plotly-resampler: Интерактивные графики, которые работают быстрее с большими наборами данных, но могут некорректно отображаться в некоторых средах.
matplotlib: Статические графики, но скоро будут устаревшими.
Давайте начнем с той же модели, что и в учебниках.
import pandas as pdfrom neuralprophet import NeuralProphet, set_log_level# Отключение сообщений журнала, кроме случаев ошибокset_log_level("ERROR")# Загрузка набора данных из CSV-файла с помощью pandasdf = 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.
Neuralprophet может генерировать прогнозы на несколько шагов вперед, если указать параметр n_forecasts
Если мы будем строить наш прогноз, как и раньше, все прогнозы на каждом шаге будут отображены. Однако мы также можем построить каждый прогноз на каждом шаге индивидуально.
Тренд, сезонность и праздники одинаковы для всех прогнозов вперед, поэтому они отображаются только один раз. Но авторегрессия и запаздывающие регрессоры различаются для каждого шага прогнозирования. Если forecast_in_focus не указан, график компонент показывает долю компонента к каждому шагу прогноза разными цветами. Если указан forecast_in_focus, график компонент показывает долю компонента указанного шага прогноза.
Поскольку параметры одинаковы для всех прогнозов на несколько шагов вперед, они отображаются только один раз.