WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     | 1 || 3 |

6. Модель авторегрессии Заметим теперь, что общее выражение (3) можно эквивалентно переписать в виде:

vn = an + vn-i, (5) i i=где веса i выражаются10 через i.

Аналогично, для построения модели вида (5) нужно было бы оценить значения бесконечного количества весов i, но практически во многих случаях вполне достаточно ограничиться некоторым конечным числом. Таким образом, приходим к модели, которая называется процессом авторегрессии порядка p — AR(p) (от английского «AutoRegressive» — авторегрессионная):

p vn = an + vn-i, (6) i i=Эта модель содержит p+1 параметров (1, 2, …, и ), значения которых p нужно оценить по временному ряду (причем значения параметров должны удовлетворять определенным соотношениям [2], чтобы процесс был стационарным).

Переход от (3) к (5) можно осуществить следующим образом: нужно последовательно исключать из выражения (3) величины an-1, an-2 и т.д. Для этого сначала нужно выразить значение шума an-1 через vn-1 и предыдущие значения a с помощью формулы an-1 = vn-1 - an-1-i, затем подставить это выражение в формулу (3), исключив из нее, i i=таким образом, an-1. Далее аналогично исключается an-2, и т.д.) 7. ARIMA- модель Практически наиболее эффективный подход состоит в том, чтобы объединить модели (4) и (6)11. Таким образом, получаем модель авторегрессии и скользящего среднего порядка (p, q) — ARMA(p, q):

p q vn = an + vn-i - an-i, (7) i i i=1 i=которая содержит p+q+1 параметров.

Если наблюдаемый ряд v(t) имеет признаки нестационарности (например, какие-либо детерминированные тренды — линейный, полиномиальный и т.п.), то стационарный процесс (7) не может быть адекватной моделью. Однако в таком случае может оказаться стационарной некоторая разность наблюдаемого процесса порядка d: wn = d vn, где vn = vn - vn-1 — первая разность (аналог дифференцирования), а d означает последовательное применение d раз оператора. Для описания процесса wn уже может быть эффективной ARMAмодель. Таким образом, приходим к модели авторегрессии и проинтегрированного скользящего среднего порядка (p, d, q) — ARIMA(p, d, q) (от английского — «AutoRegressive Integrated Moving Average»):

p q = + µ + wn an wn-i - an-i, i i (8) = = i 1 i = d wn vn.

Чтобы выразить значения наблюдаемого процесса vn через значения процесса wn, описываемого ARMA-моделью (в которую при необходимости может быть включен и постоянный член µ – как в (8)), нужно использовать оператор сумЭта необходимость вызвана следующими обстоятельствами. Предположим, что наблюдаемый временной ряд генерируется процессом авторегрессии порядка 1. Если попытаться описать его процессом скользящего среднего, то потребуется модель (4) с бесконечным числом параметров i (по крайней мере, с очень большим). Оценки значений большого числа параметров менее надежны, и в данном случае это обязательно приведет к существенному снижению эффективности модели. И обратно, если ряд генерируется процессом скользящего среднего порядка 1, то для его описания потребовался бы процесс авторегрессии очень высокого порядка. Поэтому целесообразно объединить в модели выражения (4) и (6), чтобы мирования (аналог интегрирования), обратный оператору. Этим объясняется наличие слова «проинтегрированного» в названии модели.

8. Методика построения ARIMA-модели по временному ряду Общий подход предложенный Боксом и Дженкинсом [2], представлен схемой на рис.2.

Первый этап моделирования — выбор (постулирование) общего класса моделей. В данном случае это класс ARIMA-моделей.

Второй этап — идентификация пробной модели. Под идентификацией модели понимают определение подкласса моделей, наиболее подходящего для описания процесса. В данном случае выбор подкласса — Рис.2. Схема построения модели по вреэто выбор конкретных значений ве- менному ряду (приводится по [2]).

личин p, d, q (на этом этапе делаются также грубые оценки параметров 1, 2, …, q, 1, 2, …,, и µ). Выбор подкласса осуществляется, главным обраp зом, на основе анализа автокорреляционной функции наблюдаемого ряда12.

Обычно редко используются модели, для которых хотя бы одна из величин p, d, q больше 2. Не следует без необходимости выбирать слишком большое значение d, т.к. это приводит к менее стабильным оценкам параметров модели.

Третий этап — оценивание (подгонка) параметров пробной модели. На этом этапе с помощью специальных численных процедур по наблюдаемым можно было экономично (при помощи небольшого числа параметров) описать наблюдаемый процесс и вида (4), и вида (6), и смешанный.

Так, если она спадает экспоненциально, то следует выбрать p = 1, q = 0; если она имеет большое значение при задержке, равной 1, и равна нулю для других значений, то следует использовать значения p = 0, q = 1 и т.д.

данным оцениваются значения параметров 1, 2, …, q, 1, 2, …,, и µ.

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

Четвертый этап — диагностическая проверка модели. На этом этапе выясняется, не имеет ли наблюдаемый ряд каких-либо свойств, противоречащих построенной модели. В данном случае исследуются следующие свойства данных: автокорреляционная функция остаточных ошибок модели (в данном случае остаточные ошибки — это предполагаемые значения an ) и их спектр Фурье. Если отличие этих характеристик от характеристик нормального белого шума статистически значимо, то модель следует признать неадекватной.

Если диагностическая проверка показала, что модель не адекватна наблюдаемым данным, то, возможно, нужно вернуться к этапу оценивания и использовать другую численную процедуру. Но в [2] показано, что процедура оценивания, применяемая для ARIMA-моделей, эффективно использует данные, поэтому более вероятно, что модель не верно идентифицирована (второй этап) и следует опробовать другой подкласс моделей. Если же и выбор других подклассов моделей не приводит к успеху, то выбранный общий класс моделей (ARIMA-модели) не подходит для описания наблюдаемого процесса13.



Данный подход интенсивно развивался с 1927 года (когда впервые была предложена авторегрессионная модель для описания временного ряда годовых чисел солнечных пятен [1]) в течение следующих 50 лет. Были детально разработаны и обоснованы [2,3] методы выбора оптимальных значений p, d, q, вычисления оптимальных значений параметров i,i, и проверки адекватности Отметим, что перед построением модели иногда проводят и некоторые другие преобразования временного ряда (кроме взятия первой разности). Во-первых, при наличии сезонных изменений в ряде используют разность со сдвигом s: svi = vi - vi-s. Во-вторых, если размах колебаний величины v возрастает с течением времени, то часто применяется операция логарифмирования наблюдаемого ряда с целью стабилизации дисперсии. Это преобразование можно интерпретировать следующим образом: чем выше абсолютное значение переменной, построенной модели наблюдаемым данным. ARIMA-модели оказались достаточно эффективны для описания различных процессов. Они применялись и применяются в технике, метеорологии, экономике, социологии для решения задач прогнозирования и/или управления. В настоящее время эти методы уже реализованы в прикладных программах с богатыми графическими возможностями, в частности, в системе Statistica.

9. Практическое задание В данной работе предлагается • построить аппроксимацию предложенной временной зависимости, • познакомиться со способами предварительной обработки ряда, • потренироваться в выборе параметров и использовании ARIMA-модели, • проверить адекватность модели с помощью анализа остаточных ошибок.

Одной из целей работы является также знакомство с системой Statistica(фирма-производитель StatSoft Inc., USA) — мощным средством статистического анализа и обработки данных (см., например, [4]).

Задания:

Дважды щелкните мышью на ярлыке программы Statistica. На экране появится переключатель модулей. Выберите модуль Множественная регрессия — Multiple Regression. После запуска модуля на экране откроется основное окно системы Statistica. При запуске системы в нее автоматически загружается последний файл, с которым вы работали в ней. Одновременно с этим появляется Стартовая панель модуля, содержащая основные операции, которые доступны в данном модуле, и позволяющая определить различные параметры анализа.

тем выше и уровень случайных ошибок. При логарифмировании все ошибки становятся примерно одинаковыми.

По вопросам приобретения программы можно обращаться: корпорация СофтЛайн, 17036, Москва, ул. Шверника, дом 4, тел. (095) 232-0023, 126-9969, 126-9065, e-mail: root@softline.msk.su, или: StatSoft Inc., 2325 Easr 13th Street, Tulsa, OK 74104, USA, тел. (918) 583-4149.

Задание 1. Построить аппроксимацию зависимости оптовой цены на марочные вина от их «возраста».

1) Исходные данные в системе Statistica организованы в виде таблицы.

Столбцы таблицы называются Variables — Переменные, строки Cases — Случаи. В качестве переменных выступают исследуемые величины, случаи — это значения, которые принимают переменные и которые меняются в процессе наблюдения. Откройте файл с таблицей данных (файл prices.sta): оптовые цены на марочные вина в зависимости от года закладки [4]. В таблице имеется две переменных, зависимость между которыми требуется найти, — в первом столбце переменная Год (год закладки вина), во втором — Цена (цена бутылки в долларах). Перед применением статистических процедур может потребоваться преобразование данных. Так, перейдем от переменных Год и Цена к новым переменным Возраст и Цена_Лог, которые связаны с исходными формулами:

Возраст = 1972 – Год, Цена_Лог = ln(Цена).

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

Для его вызова достаточно дважды щелкнуть мышью на имени переменной в таблице с данными. Теперь имеет смысл отобразить данные на графике. Воспользуйтесь пунктом меню Graphics и выберите нужный тип графика (2D Scatterplots).

2) Будем искать зависимость вида (1) между переменными Цена_Лог и Возраст (фактически мы располагаем временным рядом значений цены на вино, только выборка произведена неравномерно). Оценим параметры модели (1) и проверим адекватность построенной модели исходным данным.

Необходимо вызвать стартовую панель модуля (пункт меню Analysis — Startup Panel). Далее нажмите кнопку Variables. В открывшемся окне нужно выбрать переменные для анализа — зависимую и независимые (Цена_Лог и Возраст). Нажмите кнопку OK. Выберите и дополнительные опции и параметры анализа (например, расчет с расширенной точностью и выбор метода по умолчанию). В стартовой панели нажмите кнопку OK. Система произведет вычисления и через секунду появится окно результатов. Верхняя часть окна — информационная, нижняя содержит функциональные кнопки, позволяющие подробно просмотреть результаты анализа.

В информационной части смотрим прежде всего на значение коэффициента детерминации RI (он показывает долю общего разброса значений зависимой переменной, которая объясняется построенной регрессией). В данном случае оно равно 92.9 %, что является хорошим результатом. Щелкните кнопку Regression Summary, чтобы просмотреть таблицу с результатами анализа.





3) Важным моментом при проверке адекватности модели является анализ остатков. В окне Результаты множественной регрессии нажмите кнопку Residual Analysis — Анализ остатков. Вы откроете окно Анализ остатков.

Для оценки адекватности модели построим график остатков на нормальной вероятностной бумаге (Normal Probability Plot of Residuals). Если они достаточно хорошо ложатся на прямую, соответствующую нормальному закону, то предположение о нормальном распределении ошибок ai выполнено.

4) Возможен вывод результатов анализа в файл с отчетом (для этого выберите пункты меню File—Page Output/Setup и установите флажок напротив опции Window – печать в окно). Для него на рабочем пространстве системы откроется специальное окно. В него можно распечатать любой документ (таблицу или график). Создайте такой файл с результатами вашей работы.

Задание 2. Осуществить прогноз ряда количества перевозок авиапассажиров с помощью ARIMA-модели.

1) Перейдем теперь к построению ARIMA-моделей (8). Откройте модуль Анализ временных рядов/Прогнозирование. Откроется стартовая панель модуля. С помощью кнопки Open Data откройте файл с данными для анализа (файл series_g.sta, в котором содержится одна переменная: количество общих перевозок авиапассажиров в данном месяце; все месяцы пронумерованы от 1 до Рис.3. Наблюдаемый график зависимости количества перевозок авиапассажиров от времени (а) и график после преобразований временного ряда: ln(v), разность со сдвигом 1 и разность со сдвигом s = 12 (б).

144, с января 1949 по декабрь 1962 года). С помощью кнопки Variables выберите переменную для анализа. В данном случае имеется только одна переменная. На стартовой панели модуля инициируйте кнопку ARIMA & autocorrelation functions. На экране появится стартовая панель Single Series ARIMA.

2) Прежде всего, просмотрите данные графически. Для этого инициируйте кнопку Plot. На экране появится график временного ряда из открытого файла данных (рис.3а). В данном графике имеются отчетливые годовые периоды, присутствуют резко выраженные пики, амплитуда колебаний возрастает. В ряде имеется отчетливый тренд: средние значения перевозок постепенно увеличиваются. Имеется также и сезонность: как и следовало ожидать, из года в год пик перевозок приходится на одни и те же месяцы — июль либо август. Характер перевозок также очень похож со сдвигом на год. Просмотрев ряд на графике, вернитесь в стартовое окно ARIMA, нажав на кнопку Continue.

3) Прежде, чем подогнать к временному ряду авторегрессионную модель, его следует «сделать стационарным». Мы будем последовательно преобразовывать ряд, делая его раз за разом все более похожим на стационарный. Инициируйте кнопку Other transformations & plots. Откроется окно Преобразования переменных. Выберите опцию Plot variables (series) after each transformation.

Теперь система будет автоматически показывать графики преобразованных данных после каждого преобразования ряда. Инициируйте кнопку OK(Transform highlighted variables). Откроется окно Преобразования временного ряда. Следует выбрать какое-либо преобразование и нажать кнопку OK(Transform). На каждом шаге можно выполнить только одно преобразование значений переменной.

Прежде всего, применим преобразование Natural log. Далее возьмем первую разность ряда (устраняем линейный тренд), смотрите опции в правом нижнем углу окна. Вспоминая, что ряд имеет сезонную составляющую, возьмите сезонную разность: выберите преобразование Differencing со сдвигом lag = (см. рис.3б). Нажмите кнопку Exit для выхода в окно ARIMA.

9) Вернемся в окно Single Series ARIMA (нажмите кнопку Continue, а затем Exit). Нужно задать значения следующих параметров ARIMA-модели: p — Autoregressive, P — Seasonal, q — Mouving average, Q — Seasonal.15 По меньшей мере, один из этих параметров должен быть отличен от нуля. Выберем значения: p = P = 0, q = Q = 1 (здесь сезонные параметры P и Q должны соответствовать сдвигу lag = 12).

Пометьте нужные опции, показывая системе, какие преобразования производились с исходным рядом. Выберите метод оценки параметров, например, Exact — Точный. В подокне Variables не забудьте высветить первую строку — исходный временной ряд. Запустите процедуру оценивания щелчком кнопки OK(Begin parameter estimation). Откроется окно Оценивание параметров.

Если находите оценки приемлемыми, щелкните OK и просмотрите всесторонне результаты.

4) Откроется окно Результаты ARIMA. Просмотрите численные оценки, щелкнув по кнопке Parameter estimates. Обязательно обратите внимание на остатки и просмотрите их графики. Щелкните, например, кнопку Normal (вы построите график на нормальной вероятностной бумаге: он должен быть близок к прямой, тогда модель можно считать адекватной исходным данным).

Щелкнув кнопку Hist, вы увидите гистограмму значений остатков с наложен ной нормальной плотностью. Полезно также просмотреть автокорреляции остатков (Autocorrelations of residuals).

5) В левой части окна результатов имеется группа кнопка Forecasting — Прогнозирование. Установите опции — прогноз на 24 случая вперед, уровень доверия 0.9. Щелкните кнопку Plot series & forecasts. Вы увидите прогноз, который дает построенная модель.

Задание 3. Осуществить прогноз того же ряда (что и в задании 2) и сравнить его с экспериментальными данными.

Pages:     | 1 || 3 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.