Введение

Большинство статей на Хабре на тему ML прогноза - про применяемые алгоритмы, подходы, инструментарий, но без фокуса на практическое решение задач.

Мы решили поделиться своим опытом и результатами применения машинного обучения для прикладной задачи крупных промышленных предприятий, которые последние 15-20 лет прогнозируют электропотребление «ручным» способом.

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

Энергоёмкие промышленные компании являются крупными потребителями электроэнергии и обязаны каждый день подавать заявки с информацией, сколько они планируют закупить электроэнергии в ближайшие сутки в разбивке по часам. Отклонения фактического потребления от прогнозной заявки и в большую, и в меньшую сторону оплачиваются по отдельной ставке. Чем точнее их прогноз, тем меньше оплата.

Очевидный прямой эффект от повышения точности почасового прогнозирования дал старт нашей исследовательской работе. Всё просто: повышаем точность прогноза на n% → заказчик получает меньший счёт от сбытовой компании или рынка → мы «в одну строчку» защищаем бюджет на такие системы.

Однако, на то это и эксперимент, чтобы получить реальный, а не теоретический ответ на вопросы: где можно повысить точность и сложно ли это сделать? 1-2-3% - это сколько в рублях?

Как сейчас выглядит процесс прогнозирования

В отделе по работе на энергорынках (или отделе планирования и учёта энергоресурсов) работает сотрудник, который каждый день собирает от технологов в ручном или полу-ручном режиме (по телефону, письмами по электронной почте) информацию о:

  • планируемой загрузке производства

  • плановых остановах и пусках производства

  • плановых ремонтах

  • объёмах собственной генерации (если есть)

  • погодных условиях (если влияют)

Далее сводит всё это с фактическим потреблением за предыдущие сутки в Excel и, на основе своего многолетнего опыта и интуиции, прикидывает почасовые объёмы потребления ближайших суток и подаёт заявку. Так делают +/- практически все опрошенные на старте компании. Лишь единицы пытаются применять методы статистического и регрессионного анализа.

Таким способом предприятиям удаётся достичь точности прогноза при «нормальных» условиях в 90-95%. Хороший показатель это 97-98%. В случае аварийного останова энергоёмкого оборудования отклонение от прогноза может достигать и 300% (крайний случай, но, бывало, что и фабрика новая останавливалась).

Автоматизация ручного труда

Мы предложили компаниям завести те же данные в нейросеть, обучить её и посмотреть, какой прогноз будет выдавать машинная модель по сравнению с текущим уровнем точности. За основу взяли модель рекуррентных нейронных сетей с долгосрочной памятью (Long Short-Term Memory Recurrent Neural Networks) разработки Новосибирского государственного технического университета (НГТУ) кафедра «Системы электроснабжения предприятий», который несколько последних лет занимается изучением и тестированием разного типа нейросетей для систем электроснабжения.

Помимо экономического эффекта, выгоды, в принципе, очевидны (скорость выдачи прогноза и высвобождение персонала для «более творческих задач»).

Эксперименты ставили с 6 предприятиями

(все наименования обезличены и трансформированы в «отрасль» в силу NDA. Для понимания уровня участников нашего эксперимента: это крупнейшие энергоёмкие компании российской промышленности, многие из которых экспортёры и «голубые фишки»):

  1. Нефть. Месторождение одной из крупнейших в мире нефтедобывающих и нефтеперерабатывающих компаний

  2. Мебель. Один из мебельных заводов на территории РФ крупнейшего европейского ритейлера для дома

  3. Трубы. Один из старейших заводов по производству стали и труб, входящий в ведущую группу компаний

  4. Драгоценные камни. Мировой лидер по добыче и обработке драгоценных камней

  5. ГОК. Один из крупнейших ГОКов, входящих в вертикально-интегрированную группу металлургических заводов

  6. Металлургия. Один из крупнейших металлургических комплексов России, входящий в глобальную горно-металлургическую компанию

Как проходила работа

     I.    Предприятия высылали нам имеющуюся в наличии информацию. В основном, это фактическое потребление за 0,5-2 года, иногда планы и факты генерации, факты ремонтов и производственной загрузки. В случае необходимости, мы подтягивали метеорологические данные из открытых источников.  

    II.    Мы парсили эту информацию, проверяли пропуски, проводили первичный анализ в Python и приводили к читаемому виду.

   III.    Коллеги из НГТУ настраивали модель (выбирали архитектуру, обрабатывали данные для лучшего обучения) и после этого подавали в модель первые 80% данных для её обучения.

  IV.     Обученную модель проверяли на оставшихся 20 % данных.

Пример распределения данных на обучение и тестирование:

В течение нескольких секунд после загрузки 20% данных модель выдавала почасовой прогноз на следующие сутки.

    V.    Полученные прогнозы для каждых суток на тестовой выборке сравнивались с фактическим электропотреблением и прогнозом предприятия (который уже состоялся).

  VI.     Предприятие обсчитывало экономический эффект от снижения ошибки на 1 процентный пункт. За базовый процент брался текущий процент отклонения.

Результаты экспериментов

Предприятие

Результат

1.

Нефть

Точность модели и ручного прогноза +/- одинаковая

2.

Мебель

Получена точность 95% (текущий % неизвестен, т.к. компания только выходит на ОРЭМ и ранее не подавала почасовые заявки)

3

Трубы

Точность модели и ручного прогноза +/- одинаковая

4.

Драгоценные камни

По результатам анализа получен положительный результат +1-2,7% (для разных групп точек поставки (ГТП).Эффект ~ 1 млн. руб/год.

5.

ГОК

Точность модели и ручного прогноза +/- одинаковая

6.

Металлургия

По результатам анализа получен положительный результат +1% Эффект ~ 1 млн.руб/год

Лучшее, что получилось (№ 4, драгоценные камни)

Лучший результат мы получили при работе со сбытовой компанией № 4: от 1 до 2,7% (по разным ГТП) за счёт использования метеорологических данных. Почему так получилось? Потребители этой компании не только промышленные, но и бытовые. В том числе в состав потребителей входят значительные мощности на отопление: это калориферные установки, потребление которых зависит от погодных условий.

Вот график потребления за пару лет, глазами понятны основные паттерны:

Модель более точно оценивает эту зависимость, улавливает циклические и сезонные процессы, которые человек понимает, но не может точно корректировать.

Сколько такой удачный результат может принести заказчику? Посчитать очень просто даже в уме: если общее потребление ~ 1000 МВт*ч в сутки, повышение точности на 1% это 10 МВт*ч, стоимость ошибки в 1 МВт*ч не сильно отличается по России и составляет порядка 250 рублей в ценовых зонах и 100 рублей в неценовой зоне. Такие предприятия могут рассчитывать получить эффект в ~1 млн. рублей/год и 0,4 млн. рублей/год, соответственно. Дальше мы будем таким простым правилом пользоваться для быстрой оценки эффектов.

У предприятия 3 ГТП в неценовой зоне, и на наиболее крупном мы получили минимальный эффект, максимальный же наблюдался на самом маленьком ГТП. Вот и получается, что 4000 МВт*ч в сутки и ~1 % дают 4000*0,4 = 1,6 млн. рублей.

Трюк (№ 6, металлургия)

Еще мы получили аналогичный эффект в № 6. Здесь мы использовали фокус: мы решили не обрабатывать сложные и запутанные Excel с фактами и планами ремонтов и загрузки производств. Мы просто сделали модель, которая использует историю планов и фактов потребления и корректирует план, полученный вручную.

В ручных планах уже учтены ремонты и загрузка производств. Не создав полноценную систему сбора данных с систем предприятия, мы не можем сделать работу по анализу и сбору этой информации лучше, чем эксперты предприятия (мы поняли это ещё на первом совещании с коллегами). Среднее суточное потребление предприятия ~4600 МВт*ч. Крупное и энергоёмкое предприятие. Но на площадке работает ТЭЦ, которая покрывает 80% потребления завода. Полученный эффект в 1 % точности посчитать на коленке не сложно: 0,2*4600*1 = 0,92 млн. рублей в год.

Почему не получается достигнуть большей точности? Печь-ковши для плавки стали - одни из крупнейших потребителей предприятия. Процессы в них очень сложно прогнозировать и планировать. Про это расскажу чуть ниже.

Не получилось (№ 1, нефть)

Что не так с прогнозом по месторождению № 1? Они получают вручную точность в 95%. Модель не смогла лучше. Что в этих 5 %? Большую часть потребления месторождения покрывает большое количество газотурбинных и газопоршневых агрегатов, сжигающих попутный газ. Непостоянство объёмов и параметров газа, резкие скачки не дают стабильно вырабатывать электроэнергию. Здесь ни человек, ни алгоритм поделать ничего не могут.

Не получилось совсем (№ 3, трубы)

№ 3 имеет среднесуточное потребление в 3000 МВт*ч. Одна половина - электросталеплавильные печи, вторая половина - само изготовление труб.

Почасовое потребление электросталеплавильных печей очень плохо планируется и прогнозируется. Почему? График почасового потребления похож на пилу. Это связано с технологией: плавка занимает примерно час, в течение которого происходит постепенное увеличение потребления. Когда у этой пилы будут пики и провалы - невозможно предсказать заранее (за сутки и больше). Поэтому эта проблема должна решаться на организационном уровне: количество плавок и точное время начала каждой плавки должны сообщать технологи. Пойдут ли технологи на это и будут ли подстраиваться под проблемы энергетиков – пока не понятно. А пока планирование очень простое:

Выше некуда (№ 5, ГОК)

Текущая точность прогнозирования на № 5 очень высокая (порядка 2%). Если посмотреть на график, становится понятно почему: стабильное потребление большую часть времени и небольшие проблемы с авариями (что не предсказать) и плановыми ремонтами (часто план не выполняется и переносится):

Поэтому представители предприятия сразу переключили нас на работу в направлении автоматизации процессов планирования и аналитики планирования. Чем и занимаемся в настоящее время.

Первый раз на ОРЭМ (№ 2, мебель)

Осталось рассказать про № 2. Предприятие сейчас переходит на другую категорию потребителя и ему потребуется почасовое планирование на сутки-двое вперёд. Мы показали, что при соблюдении плановых ремонтов можно достигнуть значительной точности.

Выводы

Во что в итоге превратилось наше понимание столь очевидной и живой темы?

  • Проведенные эксперименты показали, что повышение точности - это не столько залог технологий машинного обучения и статистики, сколько качественного процесса планирования на предприятии. Планируешь и исполняешь - получаешь максимум в своей ситуации. Модели могут лишь ненамного подкорректировать точность прогноза.

  • Имеющиеся у предприятий данные по ремонтам и отключениям не позволяют использовать их для повышения точности в автоматическом режиме. Они либо не точные, либо настолько не структурированные и не читабельны, что ни одна машина не сможет ими воспользоваться. Потенциал таких данных - 1-3% дополнительно.

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

  • Если посмотреть на эксперимент с точки зрения работоспособности нейросети в промышленном кейсе, то результат неплохой: машина смогла догнать и даже перегнать человека. Для сравнения: в распознавании речи и картинок, если машина догоняет человека, то это считается отличным результатом.

Максим Женихов

продакт оунер SEDMAX (ООО «Мависмарт»)

Павел Матренин

к.т.н., доцент кафедры «Системы электроснабжения предприятий» НГТУ

Комментарии (3)


  1. WASD1
    15.09.2021 14:59

    Получается, что на таких объёмах внедрение этой технологии "нафиг не надо".
    1.6 млн рублей в год для предприятий такого уровня - это ну в принципе ниже уровня "сигнал\шум".

    А рисков (в том числе связанных с меньшей адаптивностью нейросетки при любых изменениях) после изменения процесса можно огрести ох как много.


    1. sedmax_mikhaylova Автор
      16.09.2021 12:44

      Получается, что на таких объёмах внедрение этой технологии "нафиг не надо".1.6 млн рублей в год для предприятий такого уровня - это ну в принципе ниже уровня "сигнал\шум"

      да, в целом так и есть. Но в некоторых случаях при наличии оперативных данных по ремонтам и отключениям точность прогноза, по нашим оценкам, увеличилась бы еще на 1-3% (3-4 млн. рублей/год)

      А рисков (в том числе связанных с меньшей адаптивностью нейросетки при любых изменениях) после изменения процесса можно огрести ох как много.

      1) модель не работает полностью автономно, её прогноз видит специалист по планированию, и, если происходит что-то неадекватное, то может вручную исправить.

      2) в модель закладывались функции адаптивности за счёт постоянного дообучения. В результате она показывала адаптивные свойства, которые мало уступали ручному прогнозу. Человек будет так же ошибаться в случае серьезных изменений в технологических процессах или, например, запуске на предприятии нового цеха.


      1. WASD1
        16.09.2021 22:32

        3-4 уровни автоматизации (из 5-уровневой системы) самые плохие, если говорить о физических процессах.
        Человек УЖЕ теряет квалификацию, а автоматизированная система ЕЩЁ не способна адекватно справиться с проблемными ситуациями.

        ПС
        В разработке это разумеется не так.
        Как в информационных системах и СПР на производстве - если честно не знаю.