Skip to main content

Описание прогнозной модели

Прогнозные модели и скрипты размещены на сервере izb-ally-nodered02 (IP: 10.1.241.244).

Скрипты написаны на Python с использованием библиотеки ENTA

python3.10 main.py --help
Usage: main.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  copy      copy time_series from one DB to another
  fit       Fits model with collected lines from DB
  forecast  Makes forecast for the next 7 days and saves it to DB
  test      Evaluates forecast metrics
  view      Prints one segment used for forecast

Наилучшие результаты при прогнозировании показала модель CatBoost.

Перед использованием модель необходимо обучить. После обучения она может применяться для построения прогноза.

Данные для обучения поступают из различных источников, а результаты прогнозов сохраняются в гипертаблицу time_series.

Для обучения используются погодные данные, которые ежедневно загружаются с сайта rp5.ru в таблицы weather и weather_stations. Загрузка осуществляется с помощью скрипта rp5_weather, который настраивается через файл static/cities.txt. Этот файл содержит список метеостанций по всей стране.

В таблице weather также хранятся исторические данные о погоде, начиная с 2005 года.

Кроме исторических данных, для прогнозирования требуется актуальный прогноз погоды. Он ежедневно загружается с сайта api.met.no через Node-RED в таблицу weather.

Также в прогнозе используется данные табель календаря из таблицы calendar и календарь Православных Христианских праздников.

Также при построении прогноза учитываются данные производственного календаря из таблицы calendar и календаря православных праздников.

Попытка включить мусульманские праздники в расчёт прогноза не улучшила точность.

Прогноз может строиться на заданное количество дней вперёд и с различной степенью дискретизации.