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. Новые уроки

Урок 1: Основы

Last updated 1 year ago

Давайте учиться на примерах. Начнем с прогнозирования будущих цен на энергию и изучим основы библиотеки.

Если пакет NeuralProphet еще не установлен, обратитесь к руководству по установке.

Загрузка набора данных

В наших учебных материалах мы работаем с данными о ценах на энергию за 4 года из Испании. Набор данных был опубликован на и содержит много информации, к которой мы вернемся позже. Пока что мы используем подготовленную версию набора данных, которая включает только данные о ежедневных ценах на энергию.

import pandas as pd

# Загрузка набора данных из CSV-файла с помощью pandas
df = pd.read_csv("https://github.com/ourownstory/neuralprophet-data/raw/main/kaggle-energy/datasets/tutorial01.csv")
# Построение графика, показывающего цену (столбец y) во времени (столбец ds)
plt = df.plot(x="ds", y="y", figsize=(15, 5))

При использовании набора данных с NeuralProphet он должен быть представлен в виде DataFrame библиотеки pandas с следующим форматом и характеристиками:

  1. Колонка временного ряда должна иметь название "ds" и содержать значения даты и времени.

  2. Значение столбца должно быть названо "y" и содержать значения с плавающей точкой.

Настройка модели

# Импорт класса NeuralProphet
from neuralprophet import NeuralProphet, set_log_level

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

# Создание модели NeuralProphet с параметрами по умолчанию
m = NeuralProphet()

# Использование статического режима построения графиков plotly в блокнотах
m.set_plotting_backend("plotly-static")

# Обучение модели на наборе данных (это может занять некоторое время)
metrics = m.fit(df)

Прогнозируй будущее

Для прогнозирования будущих значений нам необходимо расширить наш датафрейм. В нашем примере мы хотим создать прогноз на следующий год (то есть на 365 дней). Затем нам необходимо запустить прогнозирование снова на расширенном датафрейме.

# Создание нового DataFrame, прогнозирующего 365 дней в будущем, с учетом исторических данных
df_future = m.make_future_dataframe(df, n_historic_predictions=True, periods=365)

# Прогнозирование будущих значений
forecast = m.predict(df_future)

# Визуализация прогноза
m.plot(forecast)

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

m.plot_parameters(components=["trend", "seasonality"])
Kaggle