Прогнозирование временных рядов с помощью нелинейной авторегрессионной модели нейронной сети с внешними входами
|
АННОТАЦИЯ 5
ВВЕДЕНИЕ 6
1 ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ 8
1.1 Обзор литературы 8
1.2 Понятие временного ряда и способы его прогнозирования 10
1.3 Понятие нейронной сети и ее особенности 12
1.4 Использование нейронной сети для получения прогноза 15
Выводы по разделу 16
2 МОДЕЛЬ И ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ 18
2.1 Нелинейная авторегрессионная модель нейронной сети с внешними
входами 18
2.2 Алгоритм Левенберга-Марквардта 20
2.3 Байесовская регуляризация 25
2.4 Метод масштабируемых сопряженных градиентов 30
Выводы по разделу 36
3 ОЦЕНКА ЭФФЕКТИВНОСТИ ПРОГНОЗИРОВАНИЯ ВРЕМЕННОГО РЯДА
С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ NARX 37
3.1 Получение прогнозов 37
3.2 Сравнение полученных результатов 40
Выводы по разделу 45
ЗАКЛЮЧЕНИЕ 46
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 48
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1. Текст программы 49
ПРИЛОЖЕНИЕ 2. Исходные данные цен на недвижимость 54
ВВЕДЕНИЕ 6
1 ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ 8
1.1 Обзор литературы 8
1.2 Понятие временного ряда и способы его прогнозирования 10
1.3 Понятие нейронной сети и ее особенности 12
1.4 Использование нейронной сети для получения прогноза 15
Выводы по разделу 16
2 МОДЕЛЬ И ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ 18
2.1 Нелинейная авторегрессионная модель нейронной сети с внешними
входами 18
2.2 Алгоритм Левенберга-Марквардта 20
2.3 Байесовская регуляризация 25
2.4 Метод масштабируемых сопряженных градиентов 30
Выводы по разделу 36
3 ОЦЕНКА ЭФФЕКТИВНОСТИ ПРОГНОЗИРОВАНИЯ ВРЕМЕННОГО РЯДА
С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ NARX 37
3.1 Получение прогнозов 37
3.2 Сравнение полученных результатов 40
Выводы по разделу 45
ЗАКЛЮЧЕНИЕ 46
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 48
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1. Текст программы 49
ПРИЛОЖЕНИЕ 2. Исходные данные цен на недвижимость 54
Современный человек большое внимание уделяет своему будущему. Иногда нам необходимо знать, как изменится ситуация в будущем, чтобы предотвратить возможные проблемы или, по крайней мере, быть к ним готовыми. Мы узнаем прогноз погоды на несколько дней вперед, нам небезразлично, как изменится стоимость того или иного продукта в ближайшее время, да и вообще, никто не откажется от возможности «заглянуть» в будущее. Но никто не может точно сказать, что будет завтра, через час, минуту или, даже, секунду. Тем не менее, есть возможность «предсказать» будущее путем построения прогноза.
Прогноз сам по себе не является точным описанием будущего. Он показывает, что может случиться, учитывая предыдущие события, поведение, особенности и другие детали того или иного события, т.е. является обоснованным с научной точки зрения предсказанием, основанным на фактах. И, пока не изобрели машину времени, прогнозирование является единственной разумной нитью, связывающей прошлое, настоящее и будущее.
Стоит также отметить природную способность человека к прогнозированию. Мы можем предсказать какие-то события, основываясь на накопленном опыте, выявленных закономерностях, или иногда даже совершенно случайно. Конечно, речь идет не о предсказании курса валютного рынка на следующий день или подобных вещах, а о более простых жизненных ситуациях. Эта способность есть у человека благодаря нервной системе. Но мы не можем предсказать все. Для этого человек изобрел нейронные сети, которые имитируют структуру и свойства организации нервной системы, позволяя использовать эту модель для решения сложнейших задач. Но реализовать такую модель в идеальном виде далеко не тривиальная задача. Тем не менее, ее мощность, обширная область применения и огромный потенциал делает задачу построения нейронной сети очень актуальной в эпоху развития искусственного интеллекта. Именно поэтому в качестве способа прогнозирования в данной работе была выбрана нейронная сеть.
Цель работы: построить прогноз и оценить эффективность прогнозирования временного ряда посредством нелинейной авторегресионной модели нейронной сети с внешними входами.
Существует множество моделей нейронных сетей. Очень часто именно для прогнозирования временных рядов используют нелинейную авторегрессионную модель нейронной сети с внешними входами (NARX). Так как речь идет об оценке эффективности полученного прогноза, необходимо провести ряд сравнений. В данной работе мы будем сравнивать прогнозы, полученные с помощью разных архитектур выбранной модели нейронной сети (а именно - при разном количестве нейронов в скрытом слое) и с помощью разных алгоритмов обучения (Левенберга-Марквардта, Байесовской регуляризации и метода масштабируемых сопряженных градиентов). В результате необходимо будет выбрать наилучшую по оценкам архитектуру нейронной сети и соответствующий ей алгоритм обучения и предоставить полученный прогноз.
В качестве временного ряда выбраны данные о цене на недвижимость в Челябинской области с 2000 по 2015 гг. с сайта Федеральной службы государственной статистики [1]. В нашем распоряжении средняя цена за 1 кв.м первичного и вторичного жилья за четыре квартала каждого года из вышеуказанного диапазона. С помощью нейронной сети необходимо получить предполагаемые значения цены в кварталы 2015 года на первичное и вторичное жилье и сравнить их с исходными данными, чтобы оценить качество прогноза.
Таким образом, для достижения цели были поставлены следующие задачи:
1) освоить методы: создание и обучение нелинейной авторегрессионной модели нейронной сети с внешними входами, прогнозирование временного ряда с помощью нейронной сети;
2) ознакомиться с пакетами программных продуктов в Matlab;
3) собрать данные для прогнозирования;
4) получить прогноз временного ряда, используя нейронные сети с различными архитектурами и алгоритмами обучения;
5) сравнить полученные прогнозы и сделать выводы.
Прогноз сам по себе не является точным описанием будущего. Он показывает, что может случиться, учитывая предыдущие события, поведение, особенности и другие детали того или иного события, т.е. является обоснованным с научной точки зрения предсказанием, основанным на фактах. И, пока не изобрели машину времени, прогнозирование является единственной разумной нитью, связывающей прошлое, настоящее и будущее.
Стоит также отметить природную способность человека к прогнозированию. Мы можем предсказать какие-то события, основываясь на накопленном опыте, выявленных закономерностях, или иногда даже совершенно случайно. Конечно, речь идет не о предсказании курса валютного рынка на следующий день или подобных вещах, а о более простых жизненных ситуациях. Эта способность есть у человека благодаря нервной системе. Но мы не можем предсказать все. Для этого человек изобрел нейронные сети, которые имитируют структуру и свойства организации нервной системы, позволяя использовать эту модель для решения сложнейших задач. Но реализовать такую модель в идеальном виде далеко не тривиальная задача. Тем не менее, ее мощность, обширная область применения и огромный потенциал делает задачу построения нейронной сети очень актуальной в эпоху развития искусственного интеллекта. Именно поэтому в качестве способа прогнозирования в данной работе была выбрана нейронная сеть.
Цель работы: построить прогноз и оценить эффективность прогнозирования временного ряда посредством нелинейной авторегресионной модели нейронной сети с внешними входами.
Существует множество моделей нейронных сетей. Очень часто именно для прогнозирования временных рядов используют нелинейную авторегрессионную модель нейронной сети с внешними входами (NARX). Так как речь идет об оценке эффективности полученного прогноза, необходимо провести ряд сравнений. В данной работе мы будем сравнивать прогнозы, полученные с помощью разных архитектур выбранной модели нейронной сети (а именно - при разном количестве нейронов в скрытом слое) и с помощью разных алгоритмов обучения (Левенберга-Марквардта, Байесовской регуляризации и метода масштабируемых сопряженных градиентов). В результате необходимо будет выбрать наилучшую по оценкам архитектуру нейронной сети и соответствующий ей алгоритм обучения и предоставить полученный прогноз.
В качестве временного ряда выбраны данные о цене на недвижимость в Челябинской области с 2000 по 2015 гг. с сайта Федеральной службы государственной статистики [1]. В нашем распоряжении средняя цена за 1 кв.м первичного и вторичного жилья за четыре квартала каждого года из вышеуказанного диапазона. С помощью нейронной сети необходимо получить предполагаемые значения цены в кварталы 2015 года на первичное и вторичное жилье и сравнить их с исходными данными, чтобы оценить качество прогноза.
Таким образом, для достижения цели были поставлены следующие задачи:
1) освоить методы: создание и обучение нелинейной авторегрессионной модели нейронной сети с внешними входами, прогнозирование временного ряда с помощью нейронной сети;
2) ознакомиться с пакетами программных продуктов в Matlab;
3) собрать данные для прогнозирования;
4) получить прогноз временного ряда, используя нейронные сети с различными архитектурами и алгоритмами обучения;
5) сравнить полученные прогнозы и сделать выводы.
Для решения конкретной задачи прогнозирования временного ряда с помощью нелинейной авторегресионной модели нейронной сети в ходе работы была выполнена настройка сети для получения наилучших результатов. Были выбраны алгоритмы обучения и значения количества нейронов в скрытом слое. Разработана программа в среде Matlab, моделирующая нелинейную авторегрессионную модель нейронной сети с внешними входами. Результатами работы программы являются графики спрогнозированных временных рядов. С помощью нее был получен прогноз цен на первичную и вторичную недвижимость в Челябинской области на 2015-2020 гг. с помощью нейронной сети. Ошибка прогноза составила 1,4%, что говорит о высокой точности полученного прогноза. Это показывает эффективность применения нелинейной авторегрессионной модели нейронной сети открытыми входами для прогнозирования временного ряда.
Самый лучший прогноз получен на выходе нейронной сети с 18 нейронами в скрытом слое и обученной по алгоритму Левенберга-Марквардта. Две другие нейронные сети показали результаты не намного хуже: ошибка прогноза не превышает 2,5%. Но, если оценивать вычислительную сложность алгоритмов обучения, то очевидно стоит отдать предпочтение алгоритму Левенберга- Марквардта. Поэтому и с точки зрения качества прогноза, и с точки зрения эффективности, для рассматриваемой задачи нейронная сеть, обучаемая с помощью вышеуказанного алгоритма, имеет явное преимущество.
Полученную ошибку прогноза (1,4%) можно считать приемлемой, если сравнивать с ошибками, полученными в исследованиях, результаты которых приведены в обзоре. Высокая точность объясняется удачным выбором нейронной сети. Во многих работах использовался простой многослойный перцептрон. Поэтому можно утверждать, что выбранная нами нелинейная авторегресионная модель нейронной сети с внешними входами больше подходит для прогнозирования временного ряда. Это объясняется тем, что многослойный перцептрон может хорошо решать множество различных задач, а сеть NARX предназначена именно для получения прогноза. Поэтому узкая специализация сети позволяет получать высококачественный прогноз.
Алгоритм Левенберга-Марквардта является одним из наилучших алгоритмов, который используется при обучении нейронной сети для решения задачи прогнозирования с использованием минимума входной информации.
Еще одним важным заключением данной работы является то, что удалось получить довольно точный прогноз, используя минимум входной информации. Имеется в виду то, что как описывалось ранее, на вход сети подается лишь время, и все особенности ряда (тренд, циклическая и случайная составляющая), а так же внешние факторы, влияющие на поведение временного ряда, не учитываются. И, тем не менее, полученный прогноз говорит о том, что нейронная сеть способна восстанавливать функцию без дополнительной информации, которая зачастую может быть вовсе неизвестна. В этом заключается несомненное преимущество нейронной сети по сравнению с другими способами прогнозирования. Но в данном случае следует говорить о краткосрочном прогнозировании. Это обусловлено первым делом отсутствием какой-либо вспомогательной информации, помимо времени, которая, безусловно, повысила бы точность полученного прогноза. А во-вторых, сеть получает прогнозируемые значения последовательно, то есть вновь полученный прогноз зависит, в том числе, и от предыдущих полученных значений, которые не могут быть гарантированно точными. Поэтому с каждой итерацией, ошибка получаемого прогноза увеличивается. А первые прогнозируемые значения получаются с высокой точностью.
Самый лучший прогноз получен на выходе нейронной сети с 18 нейронами в скрытом слое и обученной по алгоритму Левенберга-Марквардта. Две другие нейронные сети показали результаты не намного хуже: ошибка прогноза не превышает 2,5%. Но, если оценивать вычислительную сложность алгоритмов обучения, то очевидно стоит отдать предпочтение алгоритму Левенберга- Марквардта. Поэтому и с точки зрения качества прогноза, и с точки зрения эффективности, для рассматриваемой задачи нейронная сеть, обучаемая с помощью вышеуказанного алгоритма, имеет явное преимущество.
Полученную ошибку прогноза (1,4%) можно считать приемлемой, если сравнивать с ошибками, полученными в исследованиях, результаты которых приведены в обзоре. Высокая точность объясняется удачным выбором нейронной сети. Во многих работах использовался простой многослойный перцептрон. Поэтому можно утверждать, что выбранная нами нелинейная авторегресионная модель нейронной сети с внешними входами больше подходит для прогнозирования временного ряда. Это объясняется тем, что многослойный перцептрон может хорошо решать множество различных задач, а сеть NARX предназначена именно для получения прогноза. Поэтому узкая специализация сети позволяет получать высококачественный прогноз.
Алгоритм Левенберга-Марквардта является одним из наилучших алгоритмов, который используется при обучении нейронной сети для решения задачи прогнозирования с использованием минимума входной информации.
Еще одним важным заключением данной работы является то, что удалось получить довольно точный прогноз, используя минимум входной информации. Имеется в виду то, что как описывалось ранее, на вход сети подается лишь время, и все особенности ряда (тренд, циклическая и случайная составляющая), а так же внешние факторы, влияющие на поведение временного ряда, не учитываются. И, тем не менее, полученный прогноз говорит о том, что нейронная сеть способна восстанавливать функцию без дополнительной информации, которая зачастую может быть вовсе неизвестна. В этом заключается несомненное преимущество нейронной сети по сравнению с другими способами прогнозирования. Но в данном случае следует говорить о краткосрочном прогнозировании. Это обусловлено первым делом отсутствием какой-либо вспомогательной информации, помимо времени, которая, безусловно, повысила бы точность полученного прогноза. А во-вторых, сеть получает прогнозируемые значения последовательно, то есть вновь полученный прогноз зависит, в том числе, и от предыдущих полученных значений, которые не могут быть гарантированно точными. Поэтому с каждой итерацией, ошибка получаемого прогноза увеличивается. А первые прогнозируемые значения получаются с высокой точностью.





