Найти в Дзене

ПОДБОР ПАРАМЕТРОВ ПРИ ОБУЧЕНИИ РЕКУРРЕНТНОЙ НЕЙРОННОЙ СЕТИ ДЛЯ УЛУЧШЕНИЯ КАЧЕСТВА ПРЕДСКАЗАНИЯ ПАРАМЕТРОВ ОБЪЕКТА ТЕПЛОСНАБЖЕНИЯ

Ключевые слова:прогнозирование временных рядов, искусственные нейронные сети, АСУ ТП. Авторы: Олейников В.С. - Старший преподаватель СПбПУ Федотовских Е.А., Коновалов К.Д. - Студенты СПбПУ. В настоящее время искусственные нейронные сети используются для предсказаний технологического параметра или массива параметров в различных сферах. Одна из таких сфер – автоматизированные пункты теплоснабжения зданий. Такие объекты работают по принципу подачи тепла на жилые объекты и объекты инфраструктуры в зависимости от наружной температуры, что является экономически выгодным. Но при управлении теплоснабжением необходимо учитывать инертность подачи тепла, а значит иметь предсказания температуры на некоторое время вперед. Для системы, рассматриваемой в данной статье инертность составляет примерно полчаса, поэтому будем рассматривать предсказания температуры на это время вперед. В качестве данных для обучения модели были предоставлены значения наружной температуры (далее avg_value), собранные с датч

Ключевые слова:прогнозирование временных рядов, искусственные нейронные сети, АСУ ТП.

Авторы:

Олейников В.С. - Старший преподаватель СПбПУ

Федотовских Е.А., Коновалов К.Д. - Студенты СПбПУ.

В настоящее время искусственные нейронные сети используются для предсказаний технологического параметра или массива параметров в различных сферах. Одна из таких сфер – автоматизированные пункты теплоснабжения зданий. Такие объекты работают по принципу подачи тепла на жилые объекты и объекты инфраструктуры в зависимости от наружной температуры, что является экономически выгодным.

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

В качестве данных для обучения модели были предоставлены значения наружной температуры (далее avg_value), собранные с датчика на одном из объектов в течение 2 месяцев каждые 4 минуты (всего 21960 элементов). Перед обучением было заполнены пропуски NaN методом интерполяции, удалены выбросы, а также преобразовано время из формата строки в формат даты для более удобной работы в будущем.

Рисунок 1 – предоставленные данные
Рисунок 1 – предоставленные данные
Рисунок 2 – график температуры за все время
Рисунок 2 – график температуры за все время

Для предсказания температуры (решения задачи прогнозирования временных рядов) будем использовать модель рекуррентной нейронной сети на блоках LSTM, так как значения в соседние моменты времени взаимосвязаны друг с другом последовательно. Один из главных параметров обучения window_size – количество последовательных данных элементов, взятых в качестве фич для предсказания элемента window_size+s, где s – то, на сколько элементов вперед будем предсказывать. Так как инертность системы составляет около получаса, оптимальным будет взять s=7, так как временные интервалы между измерениями составляют 4 минуты.

Также при создании датасетов (в данном случае тренировочного и валидационного) и модели обучения можно менять такие параметры:

batch_size – количество элементов при обучении, после которых происходит изменение весов модели.

use_scaler – нормализация данных (bool). Выполняется для приведения данных к ограниченному промежутку (в данном случае [-1 1]).

shuffle – перемешивание выборок данных в датасете перед обучением(bool). Используется, чтобы все выборки имели более равный вклад в обучение.

lstm_units – количество дискретных временных интервалов ячейки LSTM. Другими словами, количество выходов при прямом распространении

return_sequences – использовать всю полученную последовательность выходов равных lstm_units или только последнюю (bool).

Для того, чтобы избежать переобучения был использован метод EarlyStopping с параметром patience=3. Это значит, что если после 3 эпох обучения подряд среднеквадратическая ошибка на валидационном датасете не уменьшалась, обучение прекращается. Поэтому количество эпох не влияет на обучение и установлено в значение 100.

В качестве оптимизатора выбран Adam, а метрикой качества, по которой будем оценивать модели, стала средняя абсолютная ошибка предсказания.

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

Рисунок 3 – реализация Grid_Search
Рисунок 3 – реализация Grid_Search

Запустим Grid_Search с таким набором параметров. Всего будет создано и обучено 2*2*2*2*2*3=96 моделей.

Рисунок 4 – параметры Grid_Search
Рисунок 4 – параметры Grid_Search

Получившаяся таблица параметров и соответствующих им метрик.

Рисунок 5 – таблица параметров и метрик Grid_Search
Рисунок 5 – таблица параметров и метрик Grid_Search

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

Рисунок 6 – гистограммы зависимости средней ошибки от параметров
Рисунок 6 – гистограммы зависимости средней ошибки от параметров

Как видно из гистограмм, ошибка намного меньше если параметр return_sequences=False, немного уменьшает ошибку use_scaler=False, а параметр window_size влияет на ошибку пропорционально – чем больше он, тем больше ошибка. Но слишком сильно уменьшать его нет смысла, так как можно полностью убрать влияние предыдущих значений температуры на предсказываемое.

Запустим Grid_Search с новым набором параметров. Всего будет создано и обучено 3*3*2*3=54 моделей.

Рисунок 7 – параметры Grid_Search
Рисунок 7 – параметры Grid_Search

Выведем только те 3 варианта, в которых ошибка минимальна.

Рисунок 8 – таблица лучших параметров и метрик Grid_Search
Рисунок 8 – таблица лучших параметров и метрик Grid_Search

Как можно видеть, наилучшим набором параметров является batch_size =16, lstm_units =32, use_scaler =False, shuffle=True, return_sequences=False и window_size=10.

Сохраним модель с такими параметрами и построим графики зависимости среднеквадратичкской и абсолютной ошибок от количества эпох для тренировочного и валидационного датасетов.

Рисунок 8 – график среднеквадратической ошибки от количества эпох
Рисунок 8 – график среднеквадратической ошибки от количества эпох
Рисунок 9 - график абсолютной ошибки от количества эпох
Рисунок 9 - график абсолютной ошибки от количества эпох

Далее запустим метод predict для валидационного датасета, который не учувствовал в обучении, поэтому в данном случае он может являеться тестовым. Выведем кривые предсказаний и реальные значения на одном графике.

Рисунок 10 - график реальных и предсказанных значений
Рисунок 10 - график реальных и предсказанных значений

Как можно видеть графики практически повторяют друг друга. Для наглядности построим график разницы между предсказанным значением и реальным. Среднее значение абсолютной ошибки получилось 0.052 после округления до 3 знаков после запятой.

Рисунок 11 - график разницы между предсказанным значением и реальным
Рисунок 11 - график разницы между предсказанным значением и реальным

В результате была получена модель рекуррентной нейронной сети, которая предсказывает значения температуры через время равное 32 минутам по предыдущим 10 значениям (40 минут) с большой точностью. Средняя ошибка предсказаний в 0.052 полностью удовлетворяет необходимым показаниям точности.

Список литературы

1. Девяткин Александр Витальевич, Извин Андрей Валерьевич, Зыков Дмитрий Артурович ПРИМЕНЕНИЕ МЕТОДА ГРУППОВОГО УЧЕТА АРГУМЕНТОВ В ПРОГНОЗИРОВАНИИ ВРЕМЕННЫХ РЯДОВ // E-Scio. 2020. №5 (44). URL: https://cyberleninka.ru/article/n/primenenie-metoda-gruppovogo-ucheta-argumentov-v-prognozirovanii-vremennyh-ryadov (дата обращения: 25.11.2021).

2. Федотов М.В., Грачев В.В. ПРЕДИКТИВНАЯ АНАЛИТИКА ТЕХНИЧЕСКОГО СОСТОЯНИЯ СИСТЕМ ТЕПЛОВОЗОВ С ИСПОЛЬЗОВАНИЕМ НЕЙРОСЕТЕВЫХ ПРОГНОЗНЫХ МОДЕЛЕЙ // БРНИ. 2021. №3. URL: https://cyberleninka.ru/article/n/prediktivnaya-analitika-tehnicheskogo-sostoyaniya-sistem-teplovozov-s-ispolzovaniem-neyrosetevyh-prognoznyh-modeley (дата обращения: 25.11.2021).

3. Видмант Олег Сергеевич Прогнозирование финансовых временных рядов с использованием рекуррентных нейронных сетей LSTM // Общество: политика, экономика, право. 2018. №5.