САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Математико-механический факультет Кафедра информационно-аналитических систем Валейко Михаил Прогнозирование временых рядов Курсовая работа Научный руководитель: к. ф.-м. н., доцент Графеева Н. Г. Санкт-Петербург 2014 SAINT-PETERSBURG STATE UNIVERSITY Mathematics & Mechanics Faculty Chair of Information Analytical Systems Mikhail Valeyko Time Series prediction Course Work Scientific supervisor: associate professor Natalia Grafeeva Saint-Petersburg 2014 Оглавление 1. Введение 1.1. Анализ временных рядов . . . . . . 1.2. Методы прогнозирования . . . . . . 1.2.1. Регрессионные методы . . . 1.2.2. Нейросетевые методы . . . . 1.2.3. Методы Бокса-Дженкинса. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 5 5 2. Постановка задачи 6 3. Подход к решению 3.1. Модели временных рядов . . . . . . . . . . . . . . . . . 3.1.1. Авторегрессионная модель . . . . . . . . . . . . 3.1.2. Модель скользящего среднего . . . . . . . . . . 3.1.3. Модель авторегрессии – скользящего среднего 3.1.4. ARIMA модель . . . . . . . . . . . . . . . . . . 3.1.5. Сезонная ARIMA модель . . . . . . . . . . . . . 3.2. Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 7 7 8 8 8 4. Дальнейшие планы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3 1. Введение 1.1. Анализ временных рядов Временной ряд – ряд значений каких-либо параметров исследуемого процесса за равные промежутки времени. Временные ряды встречаются в самых разных областях науки: кардиограммы – в медицине, графики солнечной активности – в астрономии, курсы валют – в экономике. Анализ таких рядов является непростой и важной задачей, решение которой дает полезные результаты для той или иной области. Одной из основных целей анализа временных рядов является прогнозирование его поведения. Прогноз будущих значений на основе прошлых наблюдений позволяет наиболее эффективно принимать решения в настоящем. При анализе временных рядов принято выделять следующие компоненты: • тренд (T ) – плавно изменяющаяся компонента, описывающая влияние долговременных факторов • сезонная компонента (S) – циклические колебания изучаемого процесса • случайная составляющая (ε) – компонента, показывающая влияние случайных факторов Выделение этих компонент – один из первых этапов анализа. Таким образом модель временного ряда можно описать как Y = T + S + ε – аддитивная модель и Y = T ∗ S ∗ ε – мультипликативная модель. Наиболее распространенной считается вторая модель, которая, в свою очередь, сводится к первой логарифмированием. 1.2. Методы прогнозирования Среди методов прогнозирования временных рядов различают несколько основных групп: • регрессионные методы • нейросетевые методы • методы Бокса-Дженкинса 1.2.1. Регрессионные методы Прогнозируемая переменная зависит от нескольких независимых переменных, природа которых может быть различна. В общем случае модель множественной регрессии имеет вид: Y = F (x1 , x2 , . . . , xn ) + ε, 4 где F – функция от n независимых переменных, ε – компонента ошибки. Частным случаем является модель широко используемой линейной регрессии: Y = β0 + β1 x1 + β2 x2 + . . . + βn xn + ε, где β0 , . . . , βn - подбираемые коэффициенты регрессии. 1.2.2. Нейросетевые методы Наиболее современная и все больше развивающаяся в настоящее время группа методов, использующая нейронные сети для прогнозирования.[2] 1.2.3. Методы Бокса-Дженкинса. В классических методах Бокса-Дженкинса независимые переменные не используются. Прогнозирование будущих значений опирается только на историю предыдущих значений временного ряда. 5 2. Постановка задачи Имеется временной ряд, состоящий из значений почасового потребления электроэнергии Невского филиала за 2009-2010 года. Требуется построить прогноз будущих значений данного временного ряда. 6 3. Подход к решению Для решения поставленной задачи, рассмотрим методологию Бокса-Дженкинса более детально.[6] В ее основе лежит идея того, что между соседними значениями временного ряда существует некоторая связь. Эта гипотеза позволяет строить прогноз будущих значений временного ряда. 3.1. Модели временных рядов 3.1.1. Авторегрессионная модель В такой модели значения временного ряда линейно зависят от предыдущих значений. Авторегресионную модель p-го порядка (AR(p)) можно описать выражением: Yt = p ∑ αi Yt−i + εt , i=1 где α1 , α2 , . . . , αp – коэффициенты авторегрессии, εt – случайная ошибка. 3.1.2. Модель скользящего среднего Обычно используют для моделирования случайных ошибок временных рядов. Модель скользящего среднего q-го порядка (M A(q)) имеет вид: Yt = q ∑ βj εt−j , j=1 где β1 , β2 , . . . , βq – параметры модели, εt – случайная ошибка. 3.1.3. Модель авторегрессии – скользящего среднего Модель обобщает две вышеописанные модели. ARM A(p, q) модель выглядит следующим образом:[4] Yt = p ∑ αi Yt−i + i=1 q ∑ βj εt−j + εt j=1 ARM A–модель используется для прогнозирования стационарных временных рядов. Стационарность – свойство процесса не менять свои характеристики со временем.[5] На практике далеко не все временные ряды обладают свойством стационарности, поэтому целесообразно рассмотреть следующую модель, которая может работать и с нестационарными временными рядами. 7 3.1.4. ARIMA модель ARIM A(p, d, q) является расширением модели ARM A(p, q) для нестационарных временных рядов, которые сводятся к стационарным взятием разностей d-го порядка. Модель имеет следующий вид:[3] d ∆ Yt = p ∑ d αi ∆ Yt−i + i=1 q ∑ βj εt−j + εt , j=1 где ∆d – оператор разности d-го порядка (∆Yt = Yt –Yt−1 – разности 1-го порядка). 3.1.5. Сезонная ARIMA модель Модель SARIM A(p, d, q)(P, D, Q)s - обобщение ARIM A-модели на временные ряды, в которых имеется ярко выраженная сезонная компонента. Дополнительно в такой модели вводятся сезонные параметры (P, D, Q, s), позволяющие учесть циклические колебания процесса. 3.2. Вывод Описав SARIM A-модель данного временного ряда потребления электроэнергии, можно строить прогноз его будущих значений. Предполагается, что при более детальном изучении, описанный подход к решению поставленной задачи даст неплохие результаты на исходных данных. 8 4. Дальнейшие планы В дальнейшем планируется получение практических результатов SARIM A-модели, построенной на исходных данных. Возможные программные средства – языки R(tseries, forecast)[1] и P ython(statsmodels, pandas). Помимо получения практических результатов планируется продолжить изучение методов прогнозирования временных рядов, а именно - нейросетевые методы. 9 Список литературы [1] Coghlan Avril. A Little Book of R For Time Series. –– 2014. [2] NeuroProject. Методы прогнозирования. –– 2014. –– URL: http://goo.gl/9Jn0UV. [3] Wikipedia. ARIMA // Википедия, свободная энциклопедия. –– 2014. –– URL: http: //goo.gl/bNmcX8. [4] Wikipedia. Модель авторегрессии скользящего среднего // Википедия, свободная энциклопедия. –– 2014. –– URL: http://goo.gl/TSHFst. [5] Wikipedia. Стационарность // Википедия, свободная энциклопедия. –– 2014. –– URL: http://goo.gl/XRkh3W. [6] Бокс Дж., Дженкинс Г.М. Анализ временных рядов. Прогноз и управление. –– Мир, 1974. 10