Использование искусственных нейронных сетей для

advertisement
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Математико-механический факультет
Кафедра информационно-аналитических систем
Валейко Михаил Сергеевич
Использование искусственных нейронных
сетей для прогнозирования потребления
электроэнергии
Курсовая работа
Научный руководитель:
к. ф.-м. н., доцент Графеева Н. Г.
Санкт-Петербург
2015
SAINT-PETERSBURG STATE UNIVERSITY
Mathematics & Mechanics Faculty
Chair of Information Analytical Systems
Mikhail Valeyko
Using Artificial Neural Networks for
Electricity Consumption Forecasting
Course Work
Scientific supervisor:
associate professor Natalia Grafeeva
Saint-Petersburg
2015
Оглавление
Введение
4
1. Постановка задачи
5
2. Решение задачи
2.1. Топология нейронной сети
2.2. Обучение нейронной сети .
2.3. Оценка прогноза . . . . . .
2.4. Программная реализация
6
6
6
7
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Заключение
10
Список литературы
11
3
Введение
Задача прогнозирования в электроэнергетике играет особую роль. Качественный
прогноз электропотребления позволяет обеспечить оптимальное распределение нагрузки энергосистемы, установить баланс производства и потребления электрической
энергии, а также решать другие технологические и экономические проблемы в этой
области. [8]
Существует множество моделей и методов прогнозирования. У каждой модели
имеются свои особенности, достоинства и недостатки. Выбор подходящей модели зависит от конкретной задачи, а также от типа данных и их количества.
В данной работе для решения задачи прогнозирования энергопотребления рассмотрены нейросетевые методы, которые отличаются своей способностью устанавливать нелинейные связи между будущими и фактическими значениями, хорошей
масштабируемостью. [10]
4
1. Постановка задачи
Целью данной работы является исследование применимости искусственных нейронных сетей [9] для прогнозирования потребления электроэнергии. В качестве данных использовалась статистика энергопотребления группы промышленных филиалов
за 2009-2010 года.
Для достижения поставленной цели были сформулированы следующие задачи:
1. Ознакомиться с нейросетевыми методами прогнозирования.
2. Построить модель нейронной сети, соответствующую исходным данным.
3. Получить результаты прогноза.
4. Оценить точность прогнозирования построенной модели.
5
2. Решение задачи
Исходные данные представляют собой временной ряд [5], состоящий из значений
почасового энергопотребления за двухгодичный период. Экспертная оценка, необходимая для обучения нейронной сети с учителем [3], содержится в исходных данных
и выделяется при их обработке.
2.1. Топология нейронной сети
Выбор топологии нейронной сети зависит от исходных данных и типа решаемой
задачи. Для прогнозирования временных рядов в качестве базовой подходит архитектура многослойного персептрона. [4]
На вход нейронной сети подается 48 значений - данные энергопотребления за двое
предыдущих суток, на выходе получаем 24 значения, соответствующие прогнозу на
сутки вперед. В ходе экспериментального подбора характеристик сети скрытый слой
стал содержать 48 нейронов. Конечная архитектура, используемая для прогнозирования, выглядит следующим образом:
Рис. 1: Архитектура нейронной сети
Скрытый и выходной слои нейронной сети имеют сигмоидальную функцию активации (1), которая применима для обучения нейронной сети методом обратного
распространения ошибки.
1
S(x) =
(1)
1 + e−αx
2.2. Обучение нейронной сети
Обучение многослойного персептрона проходило методом обратного распространения ошибки [2], который является модификацией классического метода градиентно6
го спуска. Основная идея этого метода состоит в распространении сигналов ошибки
от выходов сети к её входам, в направлении, обратном прямому распространению
сигналов в обычном режиме работы. В качестве обучающего множества были взяты
данные за 2009 год, в качестве тестового - данные за 2010 год.
Обучение нейронной сети содержало 200 циклов по 5 эпох в каждом, что заняло
около 6 минут. Ниже представлена зависимость среднеквадратичной ошибки (RMSE)
(2) от цикла обучения:
Рис. 2: Среднеквадратичная ошибка
√∑
n
t=1 (yt
RM SE =
− yet )2
,
n
где yt - фактическое значение, yet - спрогнозированное значение.
(2)
2.3. Оценка прогноза
Для оценки результатов прогнозирования временных рядов используется средняя
абсолютная ошибка в процентах (MAPE):
n 1∑
yt − yet M AP E =
n t=1 yt (3)
Величина M AP E на тестовом множестве составила ≈ 4.73%, что в целом показывает корректность полученной модели.
7
На Рис. 3 представлен график фактических и спрогнозированных значений за
каждый день 2010 года, на котором можно наглядно увидеть точность прогноза.
Рис. 3: Фактические и спрогнозированные значения
Дата Фактическое
значение, кВт·ч
2010-Jan-01 7493132
2010-Jan-02 7552815
2010-Jan-03 7446387
2010-Jan-04 7295303
2010-Jan-05 7055941
2010-Jan-06 7173325
2010-Jan-07 7772075
2010-Jan-08 7493506
2010-Jan-09 7412717
2010-Jan-10 7928519
2010-Jan-11 8038506
2010-Jan-12 7886858
2010-Jan-13 7819759
2010-Jan-14 7896423
Спрогнозированное
значение, кВт·ч
7632247.46
7739228.02
7810887.19
7296067.76
7273612.88
7222200.09
7473590.29
7760484.04
7763528.19
7722912.22
7906358.22
7715955.18
7643281.05
7711145.79
Абсолютная
ошибка, %
1.85
2.46
4.89
0.01
3.08
0.68
3.84
3.56
4.73
2.59
1.64
2.16
2.25
2.34
Таблица 1: Абсолютная ошибка за первые две недели
8
2.4. Программная реализация
Вся программная реализация работы была выполнена на языке Python 2.7 с использованием следующих библиотек:
• pandas [7] - для работы с данными
• PyBrain [1] - для работы с нейронными сетями
• matplotlib [6] - для построения графиков
9
Заключение
В ходе работы были решены следующие задачи:
1. Рассмотрены нейросетевые методы прогнозирования.
2. Построена модель нейронной сети, соответствующая исходным данным.
3. Получены результаты прогноза.
4. Оценена точность прогнозирования построенной модели.
Для оценки точности использовалась средняя абсолютная ошибка в процентах (3).
Её величина составила ≈ 4.73%.
Исходя из полученных прогноза и оценки построенной модели, можно сделать вывод, что искусственные нейронные сети являются хорошим инструментом для прогнозирования энергопотребления, и их использование в этой области вполне оправдывает
себя.
10
Список литературы
[1] PyBrain. –– 2009. –– URL: http://pybrain.org/.
[2] Wikipedia. Backpropagation // Wikipedia, the free encyclopedia. –– 2015. –– URL:
http://en.wikipedia.org/wiki/Backpropagation.
[3] Wikipedia. Multilayer perceptron // Wikipedia, the free encyclopedia. –– 2015. ––
URL: http://en.wikipedia.org/wiki/Multilayer_perceptron.
[4] Wikipedia. Supervised learning // Wikipedia, the free encyclopedia. –– 2015. –– URL:
http://en.wikipedia.org/wiki/Supervised_learning.
[5] Wikipedia. Time series // Wikipedia, the free encyclopedia. –– 2015. –– URL: http:
//en.wikipedia.org/wiki/Time_series.
[6] matplotlib. –– 2015. –– URL: http://matplotlib.org/.
[7] pandas. –– 2015. –– URL: http://pandas.pydata.org/.
[8] Соловьева И.А., Дзюба А.П. Прогнозирование электропотребления с учетом факторов технологической и рыночной среды. –– Научный диалог, 2013.
[9] Хайкин Саймон. Нейронные сети. Полный курс. –– Вильямс, 2006.
[10] Чучуева И.А. Модель прогнозирования временных рядов по выборке максимального подобия. –– Московский Государственный Технический Университет имени
Н. Э. Баумана, 2012.
11
Download