Здесь собраны проекты, которые я делал во время стажировки.
Задача - спрогнозировать потребление электроэнергии предприятием на 3 дня вперед.
Входные данные - расход электроэнергии за несколько лет, погодные данные.
| Номер предприятия | Описание |
|---|---|
| Предприятие 1 | Данные о расходе за 5 лет. Погодные данные выгружены с сайта о погоде. Использовал модель LightGBM. Ошибка получилась примерно 4%, что очень порадовало заказчиков. |
| Предприятие 2 | Данные о расходе за 4 года. Погодные данные выгружены с сайта о погоде. Модели бустинга (XGBoost и LightGBM) не дали хороших результатов. Лучше всего себя проявила нейросеть, на втором месте линейная регрессия. |
Была проведена работа с двумя предприятиями. Первое предприятие, с его распределением электроэнергии, можно более менее прогнозировать с помощью моделей градиентного бустинга. Погодные признаки влияют на результат обучения модели. Модель прогнозирования - LightGBM
Средняя ошибка за май - 8,2%. Модель запутали майкие праздники, с которыми она не умела работать. В перспективе, это можно исправить.
Средняя ошибка за июнь - 4,21%
Второе предприятие совсем другое. Погодные данные на него не влияют. Модель ARIMA тоже предсказывала плохо, но использован не весь ее потенциал. Погодные признаки не влияют на результат обчуния модели. Модель прогнозирования - Линейная регрессия
- Средняя ошибка февраль -9,16
- Средняя ошибка март - 9,08
- Средняя ошибка апрель - 9,05
- Средняя ошибка май - 12,45 - тут тоже, скорее всего, сыграли майские праздники.
Во время работы были использованы:
- классические модели машинного обучения (линейная регрессия)
- бустинги(CatBoost, XGBoost, LightGBM)
- модель SARIMAX
Ипользовались, но не были применены:
- библиотека tsfresh - автоматическая генерация признаков для временных рядов (не подошло для 2 предприятия)
Идеи на улучшение:
- раскрытие полного потенциала модели SARIMAX путем увеличения вычислительных мощностей
- использование библиотеки sktime