close

Вход

Забыли?

вход по аккаунту

?

Krichevckiymetuk2006

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
____________________________________________________________
МЕТОДЫ
СОЦИАЛЬНО-ЭКОНОМИЧЕСКОГО
ПРОГНОЗИРОВАНИЯ
Методические указания
к выполнению лабораторных работ № 1–7
Санкт-Петербург
2006
УДК 658. 562
Составитель М. Л. Кричевский
Рецензент доктор технических наук, профессор Л. А. Осипов
Приведены описания лабораторных работ по методам прогнозирования. Каждая работа содержит ознакомительную часть и задание
по изучаемой теме. В методических указаниях, в основном, используются пакеты Statistica и Statgraphics. Кроме того, в работе, посвященной прогнозированию на нейронных сетях, применяется пакет Statistica Neural Networks.
Методические указания используются при изучении дисциплины
«Методы социально-экономического прогнозирования» и могут применяться как справочный материал при выполнении курсовых и дипломных работ.
Подготовлены кафедрой менеджмента и рекомендованы к изданию редакционно-издательским советом Санкт-Петербургского государственного университета аэрокосмического приборостроения.
Редактор Г. Д. Бакастова
_________________________________________________________________________________________
Сдано в набор 19.04.06. Подписано в печать 26.04.06. Формат 60х84 1/16.
Бумага офсетная. Печать офсетная. Усл. печ. л. 3,5. Тираж 200 экз. Заказ №
___________________________________________________________________________________________________
Редакционно-издательский отдел
Отдел электронных публикаций и библиографии библиотеки
Отдел оперативной полиграфии
ГУАП
190000, Санкт-Петербург, ул. Б. Морская, 67
© ГОУ ВПО «Санкт-Петербургский
государственный университет
аэрокосмического приборостроения»,
2006
2
Лабораторная работа № 1
ПРЕДСТАВЛЕНИЕ ИСХОДНЫХ ДАННЫХ
Цель работы: обучить студентов способам представления исходных данных, включающих три матрицы: «объект – признак», «признак – признак», «объект – объект». Показать возможности и научить
пользоваться методом главных компонентов, который позволяет визуализировать многомерные данные в сокращенном признаковом пространстве.
Пакет: Statistica; версия 6.0
1. Выбрать файл данных из пакета: последовательно нажав File
– Open, приходим к папке Examples, в которой из папки Datasets выбираем файл данных, озаглавленный Economic Indicators (Экономические индикаторы). Здесь можно выбрать любой другой файл или ввести свои данные. В результате этих действий получаем матрицу
«объект-признак», состоящую из 40 строк (cases) и 4 столбцов
(variables), часть которой приведена в табл. 1.
Таблица 1. Матрица «объект-признак»
3
2. Перейти к матрице «признак – признак», посредством следующих действий: в командной строке окна выбрать опцию Statistics, в
которой указать позицию Basic Statistics / Tables (Основные статистики / таблицы). В открывшемся окне отметить Correlation Matrices
(Корреляционные матрицы) и нажать OK. Далее выбрать все переменные из первого списка. В итоге должна получиться матрица корреляций между признаками размерностью 4х4, вид которой показан в
табл. 2.
Таблица 2. Матрица «признак – признак»
Проанализировать полученные результаты.
3. Перейти к матрице «объект-объект» следующими операциями:
в командной строке окна выбрать опцию Statistics, в которой указать
позицию Multivariate Exploratory Techniques (Многомерные методы) и
далее – Cluster Analysis – Joining (Кластерный анализ –объединение),
после чего нажать ОК. В открывшемся окне кластерного анализа, показанном на рис. 1, в опции Сluster (Кластер) выбрать Cases (Строки), поскольку группируются объекты и нажать ОК.
Рис. 1. Окно кластерного анализа
4
В открывшемся окне Joining Results (Результатов объединения)
выбрать Distance Matrix (Матрицу расстояний), которая и представляет собой матрицу «объект-объект», размерностью 40х40, часть которой приведена в табл. 3.
Таблица 3. Матрица «объект-объект»
Пользуясь такой матрицей, можно построить дендрограмму объединения объектов, сходных или различных по четырем признакам.
Для этого в окне Joining Results нажать клавишу Vertical icicle plot
(Вертикальная дендрограмма), в результате чего приходим к графику, показанному на рис. 2.
Рис. 2. Дендрограмма объектов-стран
5
Полученная дендрограмма указывает порядок и уровень объединения стран, сходных между собой, а также сформировавшиеся
кластеры (группы) сходных стран. В данном примере образовано 4
кластера.
Визуализация многомерных данных
Для решения такой задачи используется метод главных компонентов.
1. В командной строке окна выбрать опцию Statistics, в которой
указать позицию Multivariate Exploratory Techniques и далее – Principal
Components … (Главные компоненты…). В окне главных компонентов, показанном на рис. 3, выбрать все переменные для анализа (for
analysis – all), после чего нажать OK.
Рис. 3. Окно главных компонентов
2. В открывшемся окне выбрать опцию Variables (Переменные) и
просмотреть собственные числа, показанные в табл. 4
Таблица 4. Собственные числа
Оценка потерь информации при переходе к только двум главным
компонентам в данном примере составляет около 2,5%.
3. Выбрав в предыдущем окне опцию cases (строки) можно
построить 2D график, нажав клавишу Plot cases factor coordinates
(График строк в факторных координатах). Результат показан на
рис. 4.
6
Рис. 4. 40 стран в плоскости первых двух главных компонентов
Пакет: Statgraphics, версия 5.1
1. При запуске программы на появляющиеся последовательно
два вопроса:
Какую задачу вы хотите выполнить? и Где ваши данные?
дать следующие ответы:
Analyze Existing Dates or Enter New Data (Анализ существующих данных или ввод новых данных) и – In an Existing Statgraphics Plus Data
File (В существующем файле данных).
Затем выбрать для анализа файл Cardata (можно выбрать любой другой файл или ввести свои данные).
Появившаяся таблица представляет собой матрицу «объектпризнак» (155 строк x 9 столбцов). Часть этой матрицы показана в
табл. 5.
7
Таблица 5. Матрица «объект-признак»
2.
Перейти к матрице «признак – признак», выбрав в командной строке Describe (Описать), а затем последовательно Numeric
Data – Multiple – Variable Analysis (Числовые данные – многомерный
анализ). В появившемся окне многомерного анализа в качестве данных необходимо использовать только количественные переменные,
например, такие, как указано на рис. 5. Для этого их надо поместить в
поле Data. Кроме того, для лучшего просмотра результатов желательно сократить количество строк матрицы, ограничившись, например,
20, для чего в поле Select надо набрать такую строку: first(20).
Рис. 5. Окно многомерного анализа
8
Результаты корреляционного анализа, т. е. матрица «признакпризнак» показана в табл. 6.
Таблица 6. Матрица «признак-признак»
Визуализация многомерных данных
Для решения такой задачи используется метод главных компонентов.
1. В командной строке выбрать Special (Специальные), а затем
Multivariate Methods – Principal Components (Многомерные методы –
главные компоненты).
2. В окне диалога входных данных выбрать переменные для
анализа, как и в первом случае и ограничиться 20–30 объектами.
3. Выделить табличные опции: Analysis Summary, Component
Weights, Data Table (Итоговый анализ, компонентные веса, таблица
данных) и проанализировать их. Табл. 7 представляет собой итоговый
анализ.
9
Таблица 7. Итоговый анализ
Оценить потерю информации при выборе двух или трех главных
компонентов. Для рассматриваемого случая при сохранении, соответственно, двух и трех главных компонентов потеря информации составляет примерно 13 и 3%.
3.
Выделить графические опции (2D Scatterplot, 3D
Scatterplot). Для чего вначале при нажатии правой клавиши мыши выделить опцию Analysis Options (Анализ опций) и в появившемся окне
указать выделение по числу компонентов (Extract by Number of
Components). Полученные графики приведены на рис. 6 и 7.
Построить графики и промаркировать объекты.
Рис. 6. Объекты в двумерной плоскости
Рис. 7. Объекты в трехмерном пространстве
10
Задание
1. Провести такой анализ для других данных обоих пакетов.
2. Ввести данные по результатам сессии 9 студенческих групп,
сдавших по 4 экзамена (табл. 8). В табл. 8 приведены средние
баллы по каждому экзамену ( ОИ – отечественная история; ЭТ –
экономическая теория; МА – математический анализ; ЛА – линейная алгебра) для каждой из 9 групп. Представить результаты в
виде главных компонентов в двумерной плоскости (группы – на
плоскости).
Таблица 8. Средние баллы каждой группы по 4 экзаменам
11
Лабораторная работа № 2
СГЛАЖИВАНИЕ ВРЕМЕННЫХ РЯДОВ
Цель работы: научить студентов пользоваться различными методами сглаживания временных рядов.
Пакет: Statistica; версия 6.0
1. Выбрать файл данных из пакета: последовательно нажав File
– Open, приходим к папке Examples, в которой из папки Datasets выделить файл Series_G (Ряд_G).
2. Вход в модуль временных рядов: Statistics – Advanced Linear /
Nonlinear Models – Time Series / Forecasting (Статистики –
Расширенные линейные / нелинейные модели – Временные рядыпрогнозирование). На экране отобразится стартовая панель Time
Series Analysis (Анализ временного ряда) (рис. 1).
Рис. 1. Стартовая панель
Щелкнуть по кнопке Variables для входа в диалог.
3. Вход в диалоговое окно: Exponential Smoothing and
Forecasting (Экспоненциальное сглаживание и прогнозирование), для чего нажать соответствующую клавишу (рис. 2).
12
Рис. 2. Диалоговое окно
4. Выбрать опцию Review series (Просмотр ряда) и щелкнуть по
кнопке Case names (Названия строк). Затем выбрать (указать «галочкой») опцию Scale X axis in plots manually (Масштаб по оси х, вручную)
и определить Min = 1 и Step = 12 (так как в году 12 месяцев). Теперь
необходимо щелкнуть кнопку Plot в окне Review highlighted variable
(Просмотр высвеченной переменной). На экране появится график
временного ряда Series_G (рис. 3).
Рис. 3. Исходный временной ряд
13
Простое экспоненциальное сглаживание
5. Перейти к закладке Advanced (Расширенная) и в окне
Forecast (Прогноз) установить число 12, которое определяет
прогноз на один полный год вперед. Затем щелкнуть кнопку
Summary: Exponential smoothing (Итог: экспоненциальное сглаживание). Выбрать закладку Review series и в окне Review multiple variables (Просмотр многих переменных) щелкнуть кнопку
Plot (График). Появится график с тремя кривыми: исходный и
сглаженный ряды, а также ряд остатков (рис. 4).
Рис. 4. Результат экспоненциального сглаживания при α = 0,1
6. Оценить влияние параметра Alpha, варьируя этот параметр в
диапазоне от 0 до 1 и наблюдая за изменением сглаживающей кривой.
На рис. 5 в качестве примера показан результат сглаживания при α=0,9.
Рис. 5. Результат экспоненциального сглаживания при α = 0,9
14
Экспоненциальное сглаживание с линейным трендом
(метод Хольта)
7. Выбрать из опции Advanced модель Holt Linear trend (без сезонности). В этой модели трендовый компонент независимо сглаживается с параметром γ (Gamma). Если γ установить равным 0, тогда постоянный наклон будет включен в вычисление сглаженного уровня и
прогноза. Если γ установить равным 1, тогда наклон пересчитывается
при каждом наблюдении.
8. Вначале установить значения параметров следующими: α =
=0,1 и γ = 0,1. Щелкнуть по кнопке Summary: Exponential smoothing. В
результате появится таблица с тремя столбцами данных: исходный и
сглаженный ряды, а также ряд остатков. Выбрать Review series и в окне Review multiple variables щелкнуть кнопку Plot. Появится график с
тремя кривыми, отображающими указанные выше ряды (рис. 6).
Рис. 6. Результат сглаживания по методу Хольта при
α = 0,1 и γ = 0,1
Повторить эту процедуру сглаживания при α = 0,9 и γ = 0,9.
Проанализировать различие в полученных данных и графиках.
Экспоненциальное сглаживание с линейным трендом и сезонностью (метод Винтерса)
9. В этом методе третий параметр δ (Delta) добавляется в модель для сглаживания мультипликативного сезонного компонента. Ес15
ли δ = 0, то постоянный стабильный сезонный компонент включается
при вычислении сглаженных значений и прогноза. При δ = 1 сезонный
компонент вычисляется от наблюдения к наблюдению.
Выбрать из опции Advanced модель Winters, отметив ее в соответствующем кружке панели Model.
10. Установить значения параметров следующими: α = 0,1; γ =
0,1; δ =0,1. Щелкнуть по кнопке Summary: Exponential smoothing. В результате появится таблица с четырьмя столбцами данных: исходный и
сглаженный ряды, а также ряды остатков и сезонных факторов. Выбрать Review series и в окне Review multiple variables щелкнуть кнопку
Plot. Появится график с тремя кривыми, отображающими следующие
ряды: исходный, сглаженный и остатков (рис. 7).
Рис. 7. Результат сглаживания по методу Винтерса
при α = 0,1 ; γ = 0,1; δ =0,1
Изменить значения параметров, приняв их всех равными 0,9.
Повторить процедуру сглаживания и проанализировать результаты.
Пакет Statgraphics; версия 5. 1
1. При запуске программы на появляющиеся последовательно
два вопроса:
Какую задачу вы хотите выполнить? и Где ваши данные?
дать следующие ответы:
Analyze Existing Dates or Enter New Data (Анализ существующих данных или ввод новых данных) и – In an Existing Statgraphics
Plus Data File.
Затем выбрать для анализа файл Carsales (Продажи машин).
16
2. Выбрать в командной строке: Special – Time Series Analysis –
Smoothing (Специальные –Анализ временного ряда – Сглаживание).
Ввести переменную sales (продажи) в поле Data. В поле Select ввести
first (50) для сокращения объема данных (рис. 8).
Рис. 8. Исходное окно сглаживания
Нажать OK.
3. В окне графических опций (третья клавиша слева) выделить
оба графика: Time Sequence Plot (График временного ряда) и Residual
Plot (График остатков). Нажав правую клавишу мыши, выбрать Analysis Options (Анализ опций) и в появившемся окне (рис. 9) указать различные виды тренда: Linear (линейный), Quadratic (квадратичный) и
Exponential (экспоненциальный), анализируя при этом поведение графиков ряда и остатков.
Рис. 9. Окно выбора вида тренда
17
4. Нажать правую клавишу мыши и выбрать Pane Options. В появившемся окне (рис. 10) – модели для двойного сглаживания. Проанализировать поведение исходного графика при различных моделях
сглаживания и длинах интервала сглаживания. Различие между приведенными в окне моделями установить самостоятельно с помощью
Help.
Рис. 10. Окно выбора моделей двойного сглаживания
5. В окне табличных опций (вторая клавиша слева) указать обе
позиции Analysis Summary (Итоговый анализ) и Data Table (Таблица
данных). На экране монитора отобразятся две панели с результатами
сглаживания по выбранному методу. Обратим внимание на то, что в
нижней части таблиц приведен совет пользователю (StatAdvisor), из
которого можно почерпнуть сведения о примененном способе и дальнейших путях анализа.
Задание
Построить смоделированный временной ряд из пакета Statistica
следующим образом:
• Создать новый файл, состоящий из 20 строк и 2 столбцов.
Через меню Data – Variable Specs (Данные – описание переменной)
ввести в окно формул выражение =vnormal(rnd(1);1;3) (рис. 11).
18
Рис. 11. Окно для моделирования переменной
Это выражение позволяет смоделировать 20 значений случайной
нормально распределенной величины с математическим ожиданием,
равным 1, и среднеквадратичным отклонением, равным 3. Нажать ОК.
Полученные 20 значений определяют переменную Var1.
• Перевести их к целому типу данных, указав в окне типа значение Integer.
• Перейти к переменной Var2 следующим образом: первое значение Var2 равно первому значению переменной Var1; второе значение Var2 равно сумме первых двух значений переменной Var1; третье
значение переменной Var2 равно сумме первых трех значений переменной Var1 и т. д.
• Провести сглаживание ряда Var2 в двух пакетах.
19
Лабораторная работа № 3
ДЕКОМПОЗИЦИЯ ВРЕМЕННЫХ РЯДОВ
Цель работы: обучить студентов разложению временных рядов
на отдельные составляющие: трендовую, сезонную и нерегулярную.
Пакет Statistica, 6.0
1. Открыть через меню File – Open – Datasets файл данных Retail. Данные представляют собой помесячные результаты продаж на
протяжении 12 лет, что дает временной ряд, состоящий из 144 точек.
2. Из меню Statistics – Advanced Linear/Nonlinear Models (Статистики – Расширенные линейные / нелинейные модели) выбрать Time
Series/Forecasting (Временные ряды / Прогнозирование) для отображения стартовой панели Time Series Analysis (Анализ временного ряда). Для входа в диалог щелкнуть по кнопке Variables (Переменные).
Выбрать переменную Sales (Продажи) и нажать OK (рис. 1).
Рис. 1. Стартовая панель
Затем щелкнуть клавишу Seasonal decomposition (Census 1) (Сезонная декомпозиция) для отображения входного диалога Ratios-ToMoving Averages Classical Seasonal Decomposition (Census Method I)
(Отношения к скользящим средним, классическая сезонная декомпозиция) (рис. 2).
20
Рис. 2. Диалоговое окно
3. Вначале рассмотрим полученный ряд. Выделить закладку
Review series (Просмотр рядов) и отметить опцию Dates from a var
(Данные из переменной) для отображения окна выбора переменных:
variable selection (выбор переменной). Выбрать переменную Date (Дата) и нажать OK. Далее в этом же окне выбрать опцию Scale X axis in
plots manually (Масштаб Х на графиках, вручную) и установить Min =
1 и Step (Шаг) = 12. Затем нажать кнопку Plot (График) в окне Review
highlighted variable (Просмотр высвеченной переменной) (рис. 3).
Рис. 3. Исходный ряд
21
Ряд показывает растущий тренд и явно выраженные сезонные
составляющие. Цель сезонной декомпозиции – получение оценок сезонного, трендового и нерегулярного компонентов, которые вместе
образуют ряд. Сезонная составляющая может быть использована для
вычисления сезонно отрегулированного ряда, т. е. оценки ряда после
устранения сезонной составляющей.
4. Анализ графика показывает, что во время декабрьских каникул
продажи увеличиваются на приблизительно фиксированную величину
каждый год, что дает основание предполагать сезонные флуктуации
аддитивными по своей природе. С другой стороны, можно считать, что
в течение декабря уровень продаж увеличивается на коэффициент,
например, 1,3. Вследствие этого сезонные колебания представляются
мультипликативными. В рассматриваемом примере ряд показывает
сезонность скорее мультипликативную, чем аддитивную. Ситуация
более похожа на ту, что каждый декабрь продажи увеличиваются на
определенный процент, чем на фиксированную сумму. По указанной
причине отмечаем Multiplicative (Мультипликативная) в окне Seasonal
model (Модель сезонности) при закладке Advanced (Расширенная).
5. В решении рассматриваемой задачи можно оценить всего 6
различных рядов, поэтому введем это значение в окно Number of
backups per variable (series) (Число установок для переменной). Затем
в окне On OK append components to active work area (Присоединить
компоненты в активную рабочую область) отметить галочками все 6
позиций. После этого необходимо щелкнуть Summary: Seasonal decomposition (Итог: Сезонная декомпозиция), и на экране появится результирующая таблица со всеми рядами (табл. 1). При этом в активной рабочей области диалогового окна появятся все ряды.
Таблица 1. Результирующие данные
22
6. Далее нужно построить графики компонентов, которые были
выделены. Высветить (щелкнув) ряд Seasonal factors (Сезонные факторы) в активной рабочей области, затем нажать кнопку Plot (График)
в окне Review highlighted variable (Просмотр высвеченной переменной), которое появляется при выделении опции Review series (Просмотр ряда). В результате появляется график выделенного сезонного
компонента (рис. 4).
Рис. 4. Сезонный компонент
Как видно из графика, имеется стабильная сезонная вариабельность, которая была выделена из исходного ряда. Этот сезонный компонент может быть использован для модификации (изменения) исходного ряда: его значения могут быть вычтены из исходного ряда (при
аддитивной модели) или на его значения должны быть разделены те
же величины (при мультипликативной модели).
Затем щелкнуть по кнопке Plot (График) в окне Review multiple
variables (Просмотр многих переменных) для отображения окна диалога Select variables for the Spreadsheet/plot (Выбор переменных для
таблицы / график). Выбрать два ряда: исходный ряд Sales (Продажи)
и отрегулированный ряд Adjusted, исключив при этом промежуточные
ряды (при этом необходимо использовать клавишу Ctrl), затем нажать
кнопку OK. Как видно из графика рис. 5, отрегулированный ряд больше не показывает сезонных флуктуаций.
23
Рис. 5. Исходный и отрегулированный ряды
Далее можно сгладить этот ряд для того, чтобы устранить оставшиеся нерегулярные флуктуации.
Сглаженный отрегулированный (без сезонности) ряд представляет собой компонент Тренд / Цикл, так как он показывает целиком
тренд и цикл в данном ряде (цикл отличается от сезонности большим
периодом). Построим графики двух рядов: ряд Тренд / Цикл и ряд,
свободный от сезонности. Для этого нужно нажать кнопку Plot (График) в окне Review multiple variables (Просмотр многих переменных) и
выбрать графики trend/cycle и seasonally adjusted series (рис. 6).
Рис. 6. Ряд Тренд / Цикл и ряд, свободный от сезонности
24
Последним шагом анализа является оценка остатков ряда, которые могут быть показаны вместе с исходным и сезонно отрегулированным рядом. Нажать кнопку Plot two var lists with different scales
(График двух переменных с различными шкалами) и выбрать исходный и отрегулированный (original and seasonally adjusted) ряды для
отображения на левой вертикальной оси, а нерегулярный (irregular)
ряд – для отображения на правой вертикальной оси (рис. 7).
Рис. 7. Окно выбора рядов для построения графика
После нажатия ОК появится итоговый график с тремя рядами
(рис. 8).
Рис. 8. Итоговый график
25
Пакет Statgraphics, 5.1
1. Открыть через меню File – Open – Open Data File файл данных
Carsales (Продажа машин). Данные представляют собой количество продаваемых машин (в тыс. шт. ) по месяцам на протяжении 6 лет.
2. Через Special – Time Series Analysis (Специальные – Анализ
временных рядов) перейти к опции Seasonal Decomposition (Сезонная
декомпозиция). В появившемся окне выбрать в качестве переменной
«sales» (продажи), выделить в Sampling Interval (Выборочный интервал)
Months (Месяцы), значение Seasonality (Сезонность) принять равным 12.
Остальные поля окна диалога можно не заполнять и нажать ОК (рис. 9).
Рис. 9. Входное окно сезонной декомпозиции
3. Нажать кнопку табличных опций (вторая слева), выделить все
табличные опции и проанализировать их.
В первой таблице Analysis Summary (Итоговый анализ) указывается название переменной, количество наблюдений, выборочный
интервал и значение сезонности. В качестве метода декомпозиции
принят мультипликативный (табл. 2).
Таблица 2. Итоговый анализ
26
Консультант (Statadvisor) дает следующее пояснение:
Эта процедура применяет мультипликативную сезонную декомпозицию к переменной sales. Целью декомпозиции является разделение продаж на тренд / циклический, сезонный и случайный компоненты. Данные перекрывают 72 временных периода. Каждая из
таблиц и графиков показывает различные аспекты декомпозиции.
Во второй таблице Data Table for sales (Таблица данных для
продаж) представлены результаты декомпозиции временного ряда
(табл. 3).
Таблица 3. Данные по продажам
Консультант дает следующее пояснение:
Эта таблица показывает каждый шаг сезонной декомпозиции. Столбец тренд / цикл дает результаты центрированного
скользящего среднего длиной 12 интервалов, примененного к исходным данным. Следующий столбец – сезонности – содержит
данные, разделенные на скользящее среднее и умноженные на 100.
Затем вычисляются сезонные индексы усреднением отношений
по всем наблюдениям в этом месяце. Кроме того, масштаб изменяется таким образом, чтобы среднее значение индекса по месяцам составляло 100 единиц. Данные далее делятся на тренд /
цикловый и сезонный компоненты для получения нерегулярной
(остаточной) составляющей. Последний компонент затем умножается на 100.
В последней таблице приведены Seasonal Indices for sales (Сезонные индексы для продаж) по месяцам (табл. 4).
27
Таблица 4. Сезонные индексы для продаж
Пояснение консультанта сводится к следующему:
Эта таблица показывает сезонные индексы для каждого месяца, масштабированные так, что среднее месячное значение составляет 100. Диапазон изменения индексов простирается от
78,8% в 10-м месяце до 123,2% в 4-м месяце. Это указывает на то,
что имеется сезонный размах по полному циклу наблюдаемых данных.
4. Нажать кнопку графических опций (третья кнопка слева) и выделить первые 4 графика (рис. 10). Провести визуальный анализ полученных графиков.
5. Изменить использованную модель декомпозиции: вместо
мультипликативной перейти к аддитивной. Для этого при положении
указателя мыши на поле графика нажать правую кнопку мыши и в
появившемся окне выделить Pane Options, после чего в новом окне
изменить вид модели декомпозиции.
Повторить все операции, проведенные с мультипликативной моделью.
28
Рис. 10. Сверху вниз: ряды тренд/цикл, сезонного индекса,
нерегулярного компонента, устраненной сезонности
Задание
Переместить использованные файлы данных из одного пакета в
другой и повторить сезонную декомпозицию в обоих случаях.
29
Лабораторная работа № 4
ОЦЕНКА СЕЗОННОСТИ РЯДОВ
ПОСРЕДСТВОМ ПРЕОБРАЗОВАНИЯ ФУРЬЕ
Цель работы: Спектральный анализ (СА) позволяет оценить
наличие сезонных компонентов в имеющихся данных. Цель СА заключается в декомпозиции сложного временного ряда с сезонными
составляющими на несколько синусоидальных функций определенной длины волны. По существу, выполнение СА над временным
рядом представляет собой прохождение последнего через призму
(аналогично свету) для того, чтобы идентифицировать длины волн
и важность основных циклических компонентов. В результате применения СА можно определить несколько циклов различной протяженности в рассматриваемом временном ряде, который на первый
взгляд представляется похожим на случайный шум.
Пакет Statistica, 6.0
1. Открыть через меню File – Open – Datasets файл данных
Sunspot. Данные представляют собой наблюдаемые в период с 1749г.
по 1924г. значения солнечных пятен. От этой величины зависят погодные условия на Земле, активность человека, телекоммуникации и
прочие явления. В данной работе необходимо проверить цикличность
солнечной активности.
2. Из меню Statistics – Advanced Linear/Nonlinear Models
(Статистики – Расширенные линейные / нелинейные модели) выбрать Time Series/Forecasting (Временные ряды / Прогнозирование)
для отображения стартовой панели Time Series Analysis (Анализ
временных рядов) и открытия диалога. Отметим, что в открытом
файле имеется только одна переменная Spots (Пятна), поэтому
при открытии диалога эта переменная выбирается автоматически
(рис. 1).
30
Рис. 1. Стартовая панель
Далее щелкнуть кнопку Spectral (Fourier) analysis для отображения диалога Fourier (Spectral) Analysis (Спектральный анализ Фурье)
(рис. 2).
Рис. 2. Диалоговое окно спектрального анализа
31
Перед проведением СА построим график исходных данных.
Файл данных в качестве строк содержит соответствующие годы наблюдений, поэтому для использования их на графике необходимо из
опции Review series (Просмотр ряда) указать метку Case names (Имена строк) в окне Label data points with (Метка данных точек с.. ). Далее выбрать опцию Scale X axis in plots manually (Масштаб Х на графиках, вручную) и установить Min = 1 и Step (Шаг) = 10. Затем нажать
кнопку Plot (График) в окне Review highlighted variable (Просмотр высвеченной переменной). График – на рис. 3.
Рис. 3. Исходный временной ряд
3. Полученный график имеет циклический характер и демонстрирует отсутствие тренда. Вследствие этого необходимо в окне Transformation of input series (Преобразование входного ряда), которое появляется при закладке Advanced (Расширенная), указать метку Detrend (Отсутствие тренда). Очевидно, что среднее значение ряда
больше нуля, поэтому необходимо указать метку Subtract mean (Вычитание среднего). В противном случае на графике периодограммы
может появиться большой выброс на нулевой частоте.
Теперь все готово для начала анализа. Необходимо щелкнуть
ОК по кнопке Single series Fourier analysis (Анализ Фурье единственного ряда), и на мониторе отобразится окно диалога Single Series Fourier (Spectral) Analysis Results (Результаты спектрального анализа
временного ряда).
32
Рис. 4. Окно результатов спектрального анализа
временного ряда
4. Просмотр результатов. В верхней части окна показаны некоторые суммарные статистики для этого ряда и, кроме того, 5 наибольших пиков периодограммы по частоте. Первые 3 пика имеют место при частотах: 0,0852; 0,0909 и 0,0114. Эта информация полезна
при анализе очень длинных рядов (например, содержащих порядка
100000 наблюдений), которые не могут быть отображены на одном
графике. Однако в этом случае может быть легко получена периодограмма, при построении которой используется вся информация. Периодограмма появляется после инициирования кнопки Periodogram
при открытой опции Quick (Быстрая) (рис. 5).
5. На периодограмме наблюдаются два явных пика, наибольший
из которых находится на частоте, равной примерно 0,09. Для просмотра значений всей периодограммы необходимо перейти в опцию
Advanced (Расширенная) и нажать кнопку Summary (Суммарный). Результаты представлены в форме таблицы (см. табл. 1). Параметр Frequency (Частота) представляет собой число циклов в единицу времени (где каждое наблюдение рассматривается как занимающее единицу времени). Таким образом, частота, равная 0,0909 соответствует
параметру Period (Период, т. е. количеству единиц времени, необходимых для завершения одного полного цикла), равному 11. Так как
данные о солнечных пятнах представляют ежегодные наблюдения,
можно сделать вывод о наличии явно выраженного 11-летнего цикла
солнечной активности.
33
Рис. 5. Периодограмма ряда
Таблица 1. Результат спектрального анализа
6. Спектральная плотность (СП). Обычно для получения оценок
СП используется сглаживание периодограммы, при котором также
34
происходит исключение случайных флуктуаций. Вид взвешенного
скользящего среднего и ширина окна сглаживания выбирается в окне
Data windows for spectral density estimates (Окна для оценок спектральной плотности), которое появляется при включении расширенной (Advanced) опции. Для рассматриваемого примера установим 5точечное окно Хэмминга, после чего нажмем кнопку Spectral density
(Спектральная плотность) при включенной опции Review & plot
(Просмотр и график) (рис. 6).
Рис. 6. Спектральная плотность
Два пика теперь видны более ясно. Можно просмотреть также
значения периодов, выделенных в этом временном ряду. Укажем при
включенной опции Review & plot (Просмотр и график) метку Period
(Период) в окне Plot by (График), определяющем горизонтальную ось
графика, и нажмем кнопку Spectral density (Спектральная плотность). Появившийся график (рис. 7) показывает зависимость СП от
периода (в годах), откуда ясно виден четкий 11-летний цикл в активности солнечных пятен. Кроме того, имеется еще один более длинный
примерно 80–90-летний цикл.
35
Рис. 7. Зависимость спектральной плотности от периода
7. Частотные окна позволяют найти область частот, которые дают наибольший вклад в периодическое поведение ряда. Это может
быть выполнено путем сглаживания периодограммы посредством
взвешенного скользящего среднего (СС).
Положим, что окно СС имеет ширину m, которая обычно принимается нечетной. Кроме того, между шириной окна и параметром р,
определяющим часть данных, которые «сужают» обрабатываемые
данные в начале и конце ряда за счет конечной ширины, существует
соотношение: p = (m-1)/2.
Укажем наиболее распространенные в спектральном анализе
окна:
• Окно Даниэля (окно с равными весами) – этот прием сглаживания сводится к простому (с равными весами) преобразованию
значений периодограммы. Каждая оценка СП вычисляется как
среднее из m/2 предшествующих и m/2 последующих значений
периодограммы.
• Окно Тьюки – здесь веса для взвешенного СС значений периодограммы вычисляются по формуле:
wi = 0,5 + 0,5cos( πj / p ) при j = 0, p ,
w− j = w j при j ≠ 0.
36
• Окно Хэмминга – для каждой частоты веса для взвешенного СС
значений периодограммы определяются как
w j = 0,54 + 0,46cos(πj / p ) при j = 0, p;
w− j = w j при j ≠ 0.
•
Окно Парзена – в этом случае веса на каждой частоте определяются следующим образом
wi = 1 − 6( j / p)2 + 6( j / p)3 при j = 0, p / 2;
w j = 2(1 − j / p)3 при j ≠ 0.
• Окно Бартлета – весовые коэффициенты здесь рассчитываются
по формуле
w j = 1 − ( j / p ) при j = 0, p;
w− j = w j при j ≠ 0.
За исключением окна Даниэля все весовые функции будут
присваивать большие значения весов наблюдениям, находящимся
в центре окна, и по мере удаления от центра веса становятся
меньше. Во многих случаях различные окна будут приводить примерно к одинаковым результатам, однако представляется интересным провести анализ одного и того же ряда с использованием различных окон.
Пакет Statgraphics, 5.1
1. Открыть через меню File – Open – Open Data File файл
данных Carsales (Продажа машин). Данные представляют собой
количество продаваемых машин (в тыс. шт. ) по месяцам на протяжении 6 лет.
2. Через Special – Time Series Analysis (Специальные – Анализ временных рядов) перейти к опции Descriptive Methods (Описательные методы). В появившемся окне выбрать в качестве переменной параметр «sales» (рис. 8). Остальные поля окна оставить неизменными.
37
Рис. 8. Входное окно описательных методов
3. После выбора переменной нажать ОК, и на экране появятся
результаты вычисления.
Среди табличных опций, перечень которых появляется после
нажатия желтой клавиши в верхнем ряду, выбрать следующие:
• Analysis Summary (Итоговый анализ);
• Periodogram Table (Таблица периодограммы).
В табл. 2 приводятся общие сведения об анализируемом ряде, в
частности, число наблюдений, выборочный интервал.
Таблица 2. Сведения об анализируемом ряде
Здесь консультант (Advisor) дает следующий совет:
Эта процедура рассчитывает различные статистики и графики для выбранной переменной «sales». Данные перекрывают 72
38
временных периода. Выбрать соответствующие таблицы и графики с использованием необходимых опций.
В табл. 3 приводятся рассчитанные значения периодограммы.
Таблица 3. Значения периодограммы
Консультант в этом случае дает следующий совет:
Эта таблица показывает значения ординат периодограммы для
переменной «sales». Периодограмма строится путем подгонки ряда
синусных функций на каждой из 36 частот. Ординаты равны квадрату амплитуд этих синусных функций. Периодограмма может рассматриваться как анализ дисперсии по частоте, так как сумма ординат равна общей исправленной сумме квадратов в таблице анализа дисперсий. Периодограмма может быть построена путем выбора соответствующих графических опций.
3. Из графических опций, перечень которых появляется после нажатия третьей клавиши в верхнем ряду, выбрать следующие:
• Horizontal Time Sequence Plot (Горизонтальный временной
график);
• Periodogram (Периодограмма).
На рис. 9 и 10 показаны, соответственно, исходный временной
ряд и периодограмма.
39
Рис. 9. Исходный ряд
Рис. 10. Периодограмма ряда
Анализ периодограммы четко указывает на наличие цикличности
(сезонности) в данном ряде.
Задание
По пакету Statistica, 6. 0
1. Взять файл Series_g из имеющихся в пакете данных и провести спектральный анализ для этой переменной.
2. Построить графическое отображение СП в зависимости от периода при различных типах окон и их протяженностях.
По пакету Statgraphics, 5.1
1. Перенести данные файла Series_g в этот пакет и провести
оценку наличия сезонных компонентов. Определить период сезонности, если последняя имеется.
40
Лабораторная работа № 5
ПРОСТАЯ И МНОЖЕСТВЕННАЯ РЕГРЕССИИ
Цель работы: обучить студентов строить модели прогноза на
основе простой и множественной регрессий.
Пакет Statistica, 6.0
1. Простая регрессия
1. Открыть файл данных Poverty. sta через File – Open (Файл –
Открыть). Приведенные данные основаны на сравнении результатов
переписи 1960 и 1970 гг. для случайной выборки из 30 стран. Названия стран были введены как названия строк. Через пункт меню Data и
выбора опции All Variable Specs укажем названия всех переменных
этого файла:
POP_CHNG – Изменение населения за 1960–1970 гг.
N_EMPLD
– Количество людей, занятых в сельском хозяйстве
PT_POOR
– Процент семей, живущих ниже уровня бедности.
TAX_RATE – Ставка налога.
PT_PHONE – Процент квартир с телефоном.
PT_RURAL – Процент сельского населения.
AGE
– Средний возраст.
Часть данных приведена в табл. 1.
Таблица 1. Исходные данные
41
Теперь оценим связь параметра Pt_Poor, т. е. переменной, которая лучше всего отражает уровень бедности в стране, с другими параметрами. Таким образом, признак Pt_Poor считается независимой
переменной, а все остальные параметры – зависимые. В данной задаче необходимо определить связь признака Pt_Poor с одним из других признаков.
2. Из меню Statistics – Advanced Linear/Nonlinear Models (Статистики-Расширенные линейные-нелинейные модели) выбрать General
Linear Models (Общие линейные модели) для отображения стартовой
панели (рис. 1).
Рис. 1. Стартовая панель общих линейных моделей
Выбрать в качестве типа анализа Simple regression (Простая
регрессия) и в качестве метода решения – Quick specs dialog (Быстрый диалог). Затем нажать ОК для входа в диалоговое окно простой
регрессии (рис. 2).
При нажатии клавиши Variables в этом окне появляется окно выбора переменных (рис. 3), в котором в качестве зависимой переменной следует указать признак Pt_Poor, а в качестве независимой –
Pop_Chng.
42
Рис. 2. Диалоговое окно простой регрессии
Далее – нажать ОК для возврата к диалоговому окну регрессии.
Рис. 3. Окно выбора переменных
3. Нажав ОК в последнем окне, приходим к окну результатов
регрессионного анализа (рис. 4), где при выделенной опции
Summary (Итог) нужно нажать клавишу Coefficients для отображения рассчитанных коэффициентов регрессии между выделенными
переменными.
43
Рис. 4. Итоговое окно регрессионного анализа
4. Коэффициенты регрессии приведены в табл. 2.
Таблица 2. Регрессионные коэффициенты
Полученное уравнение регрессии между переменными Pt_Poor и
Pop_Chng имеет вид:
Pt_Poor = 26,2 – 0,4 Pop_Chng
Из уравнения следует, что на каждую единицу уменьшения населения приходится приблизительно 0,4 единицы увеличения числа
семей, живущих ниже черты бедности. В таблице также приведены
доверительные интервалы для обоих членов уравнения регрессии и
стандартизированное значение коэффициента регрессии между выделенными переменными, равное -0,65. Эта величина также опреде44
ляет и коэффициент корреляции между рассматриваемыми признаками.
2. Множественная регрессия
5. Открыть тот же файл данных Poverty. sta через File – Open
(Файл – Открыть).
6. Из меню Statistics – Advanced Linear/Nonlinear Models (Статистики-Расширенные линейные-нелинейные модели) выбрать General
Linear Models (Общие линейные модели) для отображения стартовой
панели, как и в случае простой регрессии.
Выбрать в качестве типа анализа Multiple regression (Множественная регрессия) и в качестве метода решения – Quick specs dialog
(Быстрый диалог). Затем нажать ОК для входа в диалоговое окно
множественной регрессии (рис. 5).
Рис. 5. Диалоговое окно множественной регрессии
При нажатии клавиши Variables в этом окне появляется окно выбора переменных (рис. 6), в котором в качестве зависимой переменной следует указать признак Pt_Poor, а в качестве независимых – все
остальные.
45
Рис. 6. Окно выбора переменных для множественной регрессии
(Отметим, что при определении переменных правого столбца
вначале нужно выделить все переменные, а затем при нажатой клавише Ctrl отметить признак Pt_Poor). Далее – нажать ОК для возврата
к диалоговому окну регрессии.
7. Нажав ОК в последнем окне, приходим к окну результатов регрессионного анализа, где при выделенной опции Summary (Итог)
нужно нажать клавишу Coefficients для отображения рассчитанных коэффициентов регрессии между выделенными переменными. Полученные результаты приведены в табл. 3.
Таблица 3. Регрессионные коэффициенты
Эта таблица показывает регрессионные коэффициенты (В) и
стандартизованные регрессионные коэффициенты (Beta). С помощью
коэффициентов В устанавливается уравнение регрессии, которое в
данном случае имеет вид
46
PT − Poor = 31, 27 − 0,39 Pop _ Chng + 0,16 Pt _ Pural
Включение в правую часть только этих переменных обусловлено тем, что лишь эти признаки имеют значение вероятности р
меньше, чем 0,05 (см. четвертый столбец табл. 3). Такое значение
вероятности принято при вычислении доверительных интервалов
на коэффициенты регрессии
Величина коэффициентов Beta позволяет сравнить относительный вклад каждой независимой переменной в предсказание
зависимой переменной. Как видно из таблицы, переменные
Pop_Chng, Pt_Rural, (Изменение населения за
1960-1970
гг.,
процент сельского населения) являются наиболее важными предикторами: обладают статистической значимостью (выделены
красным цветом). Регрессионный коэффициент для Pop_Chng отрицательный, что означает: чем меньше увеличение населения,
тем больше число семей, живущих ниже черты бедности в соответствующей стране. Тот же коэффициент для переменной Pt_Rural –
положительный: чем больше процент сельского населения, тем
выше уровень бедности.
8. Для анализа остатков следует в окне диалога GLM Results
нажать кнопку More results, после чего выделить закладку Residuals
1 для рассмотрения различных видов представления остатков.
Обычно оцениваются стандартизированные остатки с целью выявления выбросов, превышающих ± 3 sigma. Для этого необходимо
выбрать опцию Standardized в поле Resids for default plots и нажать
кнопку Case no. & res для построения графика, аналогичного показанному на рис. 7.
В этом диалоге имеется много возможностей построения различных графиков. Большинство из них интерпретируются достаточно просто, в частности, гистограмма распределения остатков, однако графики нормального распределения требуют отдельных
комментариев. Как известно, множественная линейная регрессия
допускает линейные соотношения между переменными уравнения
и нормальность остатков. Если эти допущения нарушены, то окончательное заключение может быть неверным. График нормального
распределения представляет собой индикатор того, являются или
нет отклонения от допущений значительными. Для построения
графика нажать кнопку Normal в поле Probab. plots of resides.
47
Рис. 7. График остатков
Если наблюдаемые остатки нормально распределены, то все
значения должны укладываться на прямой линии (или близко от нее)
приведенного графика (рис. 8). В противном случае точки, изображающие остатки, будут отклоняться от прямой линии.
Рис. 8. Индикатор нормальности остатков
48
Пакет Statgraphics 5.1
1. Простая регрессия
1. Открыть через меню File – Open – Open Data File файл данных
Carsales (Продажа машин). Данные представляют собой количество
продаваемых машин (в тыс. шт. ) по месяцам на протяжении 6 лет. В
табл. 4 приведена часть этих данных.
Таблица 4. Исходные данные
2. Через меню Relate – Simple Regression (Общность – Простая
регрессия) перейти к окну простой регрессии. Выбрать в качестве зависимой переменной параметр sales (продажи), независимой – переменную ADJUSTED (отрегулированные) и указать в поле Select:
first(20) для ограничения объема данных первыми двадцатью строками. Результат – на рис. 9.
49
Рис. 9. Окно простой регрессии
Затем нажать ОК. На экране монитора появится окно результатов регрессионного анализа.
3. Среди табличных опций выделить следующие: Analysis Summary, Comparison of Alternative Models (Суммарный итог, сравнение
альтернативных моделей). В первой таблице приводятся результаты
расчета коэффициентов регрессионного уравнения, стандартные отклонения каждого коэффициента, значения статистик (табл. 5).
Таблица 5. Результат регрессионного анализа
Regression Analysis – Linear model: Y = a + b*X
----------------------------------------------------------------------------Standard T
Parameter Estimate Error Statistic P-Value
----------------------------------------------------------------------------Intercept -289,341 1090,35 -0,265364 0,7937
Slope 1,04594 0,0667915 15,6598 0,0000
-----------------------------------------------------------------------------
Консультант дает следующее пояснение:
Выход показывает результаты подгонки модели простой линейной регрессии для описания связи между переменными sales и Adjusted. Уравнение подогнанной модели имеет вид:
sales = -289,341 + 1,04594*ADJUSTED.
Вследствие того, что Р-значение в таблице итогового анализа меньше, чем 0,01, то имеется статистически значимая связь
между переменными при доверительном уровне 99%.
R-Squared статистика определяет, что подогнанная модель
объясняет 93,16% всей вариации переменной sales.
50
В таблице сравнения альтернативных моделей (табл. 6) приводятся различные виды моделей и значения коэффициента R-Squared
(коэффициента детерминации) для этих моделей. Чем больше величина этого коэффициента, тем лучше выбранная модель объясняет
вариации в переменной sales.
Таблица 6. Сравнение различных моделей
Comparison of Alternative Models
-------------------------------------------------Model Correlation R-Squared
-------------------------------------------------Multiplicative 0,9667 93,44%
Linear 0,9652 93,16%
Square root-Y 0,9601 92,19%
Double reciprocal 0,9590 91,96%
Square root-X 0,9582 91,81%
Exponential 0,9402 88,41%
Logarithmic-X 0,9332 87,08%
S-curve -0,9264 85,82%
Reciprocal-Y -0,8627 74,42%
Reciprocal-X -0,8408 70,69%
Из табл. 6 видно, что лучшей моделью для подгонки этих данных
является мультипликативная модель.
Для просмотра результатов подгонки данных различными моделями необходимо нажать правую клавишу мыши и в появившемся окне указать: Analysis Options (Анализ опций). В результате всплывает
окно опций простой регрессии с различными типами моделей, показанное на рис. 10.
Рис. 10. Окно опций простой регрессии
51
4. Среди графических опций выделить Plot of Fitted Model (График подогнанной модели) и Residuals versus Row Number (Остатки в
зависимости от номера строки). Эти графики показаны на рис. 11 и
12, соответственно.
Рис. 11. График подогнанной модели
Рис. 12. График остатков
Приведенные графики (для линейной модели) показывают, что
выбранная модель не противоречит данным: значение коэффициента
R-Squared (коэффициента детерминации) здесь составляет 93,16%,
а остатки имеют разные знаки отклонений от исходных данных, что, в
свою очередь, не противоречит гипотезе о нормальном законе распределения остатков.
52
2. Множественная регрессия
5. Открыть тот же файл данных Carsales (Продажа машин).
6. Через меню Relate – Multiple Regression (Общность – Множественная регрессия) перейти к окну множественной регрессии. Выбрать в качестве независимой переменной параметр sales (продажи),
независимых – все остальные переменные и указать в поле Select:
first(20) для ограничения объема данных первыми двадцатью строками. Результат – на рис. 13.
7. По умолчанию из табличных опций открывается Analysis
Summary (Итоговый анализ), которой достаточно для анализа результатов. Здесь приводятся результаты расчета коэффициентов регрессионного уравнения, стандартные отклонения каждого коэффициента, значения статистик (табл. 7).
Рис. 13. Окно множественной регрессии
Таблица 7. Результат регрессионного анализа
----------------------------------------------------------------------------Standard T
Parameter Estimate Error Statistic P-Value
----------------------------------------------------------------------------CONSTANT -8655,36 2258,51 -3,83233 0,0064
ADJUSTED 1,01188 0,0583686 17,336 0,0000
RESIDS 0,411272 11,2917 0,0364224 0,9720
SIND 92,7932 18,3206 5,06497 0,0015
AVGS -0,0565496 0,0571801 -0,988973 0,3556
----------------------------------------------------------------------------53
Консультант дает следующее пояснение:
Выход показывает результаты подгонки модели множественной линейной регрессии для описания связи между переменной sales
и остальными независимыми переменными. Уравнение подогнанной
модели имеет вид:
sales = –8655,36 + 1,01188*ADJUSTED + 0,411272*RESIDS +
92,7932*SIND – 0,0565496*AVGS
R-Squared статистика, приведенная в Итоговом анализе, определяет, что подогнанная модель объясняет 98,5% всей вариации
переменной sales.
При оценке возможности упрощения модели заметим, что
наибольшие значения величины Р, равные 0,972 и 0,355, принадлежат переменным RESIDS и AVGS. Так как значение Р больше или
равно 0,10, то эти переменные не является статистически значимыми на 90-процентном или более высоком доверительном уровне,
следовательно, можно рассмотреть возможность исключения этих
признаков из дальнейшего анализа.
8. Среди графических опций выделить Component Effects и Residuals versus X. Проанализировать эти графики, изменяя переменные
на горизонтальной оси.
Задание
По пакету Statistica, 6.0
1. Открыть файл Cars. sta, состоящий из 22 строк (марок автомашин) и 5 столбцов (признаков, характеризующих в нормированном
виде эксплуатационные свойства машин: цена, ускорение, время остановки со скорости 80 миль в час, коэффициент сцепления с покрытием, расход топлива).
Построить:
• уравнение линейной регрессии между ценой и расходом топлива
(переменные price и mileage);
• уравнение множественной регрессии между ценой и всеми остальными признаками.
2. Смоделировать матрицу данных из 20 объектов и 3 признаков
(см. работу №2) со средними значениями и СКО признаков, соответственно, (1;3), (5;10), (10; 25).
По пакету Statgraphics, 5.1
1. Перенести в этот пакет разыгранные данные и построить
уравнение множественной регрессии между первым и остальными
признаками.
54
Лабораторная работа № 6
ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ
С ПОМОЩЬЮ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
Цель работы: обучить студентов методам прогнозирования посредством искусственных нейронных сетей.
Пакет Statistica Neural Networks (SNN)
1. Открыть файл данных Series_g из имеющихся в пакете данных. Файл содержит единственную переменную, определяющую объем перевозок на протяжении нескольких лет с помесячной регистрацией данных. (При открытии этого файла появляется еще ряд таблиц,
относящихся к опции интеллектуального решателя, которые на данной
стадии надо закрыть, оставив только таблицу исходных данных).
2. Задать тип переменной «входная – выходная» следующим образом: выделить переменную щелчком по заголовку таблицы, нажать
правую клавишу мыши и выбрать из меню опцию Input / Output (Входная / выходная). При этом имя переменной высветится зеленым цветом.
3. Создать новую сеть с помощью диалогового окна Create
Network (Создать сеть). Для этого последовательно нажать: File –
New – Network (Файл – новый – сеть). На экране монитора – диалоговое окно (рис. 1).
Рис. 1. Диалоговое окно создания сети
55
В задаче прогноза временного ряда сеть должна знать, сколько
копий одной переменной она должна взять и как далеко вперед она
должна прогнозировать значение переменной. В данной задаче принять параметр Steps (Временное окно) равным 12, так как данные
представляют собой ежемесячные наблюдения, а параметр
Lookahead (Горизонт) – равным 1.
4. Выбрать в качестве типа сети Multilayer Perceptron (Многослойный персептрон) и принять число слоев сети равным 3. После
этого нажать кнопку Advice (Совет), в результате чего программа автоматически установит число нейронов во всех трех слоях сети: 12 – 6
– 1 (рис. 2).
Рис. 2. Диалоговое окно после установки параметров сети
После этого нажать кнопку Create (Создать).
5. При создании сети программа SNN автоматически присвоит
первым 12 наблюдениям из файла данных тип Ignore (Неучитываемые). При дальнейшем обучении и работе сети в задаче анализа временного ряда каждый подаваемый ей на вход блок данных содержит
данные, относящиеся к нескольким наблюдениям. Весь такой блок
приписывается тому наблюдению, которое содержит значение выходной переменной. Вследствие этого первые 12 наблюдений на самом
деле не игнорируются, а являются входами первого блока данных
временного ряда, который соответствует наблюдению № 13. На самом деле программа строит преобразованный набор данных, в кото56
ром число наблюдений на 12 меньше, но данные в каждое наблюдение берутся из 13 последовательных строк исходного файла.
Созданная сеть показана на рис. 3.
Рис. 3. Трехслойный персептрон
6. В окне исходных данных «Data Set Editor» задать 66 обучающих (Training) и 66 контрольных (Verification) наблюдений (рис. 4), после чего нажать кнопку перемешивания строк следующим образом:
через меню Edit – Cases – Shuffle –All (Редактирование – Случаи –
Перемешать – Все).
7. Обучить сеть методом Левенберга-Маркара, для чего необходимо нажать: Train – Multilayer Perceptron – Levenberg-Marquardt (Обучить – Многослойный персептрон – Левенберг-Маркар). Процедура
обучения занимает несколько секунд (зависит от типа процессора).
Метод Левенберга-Маркара является одним из надежных и быстрых
алгоритмов обучения, однако его применение связано с определенными ограничениями:
57
Рис. 4. Окно исходных данных с разделенными наблюдениями
• этот метод можно применять только для сетей с одним выходным элементом.
• метод Левенберга–Маркара требует памяти, пропорциональной
квадрату числа весов в сети, поэтому метод не подходит для сетей большого размера (порядка 1000 весов).
• метод применим только для среднеквадратичной функции ошибок.
Алгоритм Левенберга–Маркара разработан так, чтобы минимизировать среднеквадратичную функцию ошибок. Вблизи точки минимума это предположение выполняется с большой точностью, поэтому
алгоритм продвигается очень быстро. Вдали от минимума это предположение может оказаться неправильным, поэтому метод находит компромисс между линейной моделью и градиентным спуском. Шаг делается только в том случае, если он уменьшает ошибку, и там, где это
необходимо, для обеспечения продвижения используется градиентный спуск с достаточно малым шагом.
Диалоговое окно метода Левенберга–Маркара показано на рис. 5.
Рис. 5. Диалоговое окно метода Левенберга–Маркара
58
Основные элементы окна:
• Epochs (Число эпох) – задается число эпох, в течение которых
алгоритм будет прогоняться. На каждой эпохе через сеть пропускается все обучающее множество, а затем происходит корректировка весов.
• Cross-Verification (Кросс-проверка) – при отмеченной позиции качество выдаваемого сетью результата проверяется на каждой
эпохе по контрольному множеству (если оно задано). При выключенной позиции контрольные наблюдения игнорируются, даже если они присутствуют в файле данных.
• Train (Обучить) – при каждом нажатии кнопки алгоритм прогоняется через заданное число эпох.
• Reinitialize (Переустановить) – перед новым запуском обучения
следует нажать кнопку переустановки, так как при этом заново
случайным образом устанавливаются веса сети.
• Jog Weights (Встряхивание весов) – при возможном застревании
алгоритма в локальном минимуме данная опция добавляет к каждому весу небольшую величину.
8. Построить проекцию временного ряда, для чего через Run –
Times Series Projection (Запуск – Проекция временного ряда) открыть соответствующее окно (рис. 6).
Рис. 6. Окно проекции временного ряда (1 – целевой ряд;
2 – спрогнозированный ряд)
59
Описание диалогового окна
• Start (Начало) – указывает, должна ли проекция временного
ряда начинаться с некоторого номера наблюдений (Case No) в
файле данных или с отдельного наблюдения.
• Case No (Номер наблюдения) – при проекции временного ряда
из файла данных указывается номер наблюдения с выходным
значением, с которого надо начинать.
• Length (Длина) – число шагов, на которое будет проектироваться прогноз.
• Variable (Переменная) – указывается переменная, которая будет проектироваться.
9. С помощью обученной сети можно выполнить проекцию
временного ряда. Вначале сеть отработает на первых 12 входных
значениях, в результате чего будет получен прогноз следующего
значения. Затем спрогнозированное значение вместе с предыдущими 11 входными величинами вновь подается на вход сети, и последняя выдает прогноз очередного значения.
Единственный управляющий параметр, который нужно выбрать – это длина проекции. В данном примере всего 144 наблюдения, 12 из которых будут удалены при предварительной обработке,
поэтому сравнивать результаты можно будет самое большее на
132 шагах. Однако можно проектировать ряд и за границы имеющихся данных, только при этом не с чем будет сравнивать результат.
Просмотреть поведение прогнозируемых значений при различных длинах, с использованием кнопки Run (Запуск) можно наблюдать изменение целевых и выходных значений ряда.
На приведенном рис. 6 видно, что прогнозируемая кривая (синего цвета на экране монитора) не очень хорошо обучилась, так как
имеются значительные отклонения между исходным и прогнозируемым рядами, начиная примерно с 70-го наблюдения.
10. Провести прогнозирование ряда с использованием интеллектуального решателя (третья кнопка слева в верхнем ряду). В
этом случае необходимо ответить на ряд вопросов в режиме диалога:
• Выбрать основную версию (рис. 7) и нажать Next.
60
Рис. 7. Выбор основной версии
• Определить тип задачи (стандартная или временной ряд). Здесь
нужно отметить временной ряд (рис. 8).
Рис. 8. Выбор типа задачи
• Установить период наблюдений, равный 12 месяцам (рис. 9).
Рис. 9. Установка периода наблюдений
61
• Выбрать зависимую и независимую переменные, в качестве которых служит одна и та же переменная Series.
• Определить время расчетной процедуры, равное 2 мин (рис. 10).
Рис. 10. Установка времени расчетной процедуры
• Указать количество сохраняемых сетей и действия при их сохранении (рис. 11).
Рис. 11. Действия по выбору сетей
• Выбрать формы представления результатов (рис. 12) и нажать
Finish.
62
Рис. 12. Выбор формы представления результатов
В результате использования интеллектуального решателя прогноз получается гораздо точнее, так как обучаемая сеть намного ближе к исходному ряду (рис. 13).
Рис. 13. Прогноз с помощью интеллектуального решателя
(1 – целевой ряд; 2 – спрогнозированный ряд)
63
Задание
Построить смоделированный временной ряд из пакета Statistica
следующим образом:
• Создать новый файл, состоящий из 20 строк и 2 столбцов.
• Через меню Data – Variable Specs (Данные – описание переменной) ввести в окно формул выражение =vnormal(rnd(1);1;3).
• Смоделировать 20 значений случайной нормально распределенной величины с математическим ожиданием, равным 1, и
среднеквадратичным отклонением, равным 3. Эти 20 значений
определяют переменную Var1. Перевести их к целому типу
данных, установив в окне описания переменной в качестве
Type значение Integer.
• Перейти к переменной Var2 следующим образом: первое значение Var2 равно первому значению переменной Var1; второе
значение Var2 равно сумме первых двух значений переменной
Var1; третье значение переменной Var2 равно сумме первых
трех значений переменной Var1 и т. д.
• Скопировать переменную Var2 и перейти в пакет SNN, разместив скопированные данные в новом созданном файле.
• Провести прогнозирование полученного ряда с помощью нейронной сети.
64
Лабораторная работа № 7
МОДЕЛИ КЛАССА ARIMA
Цель работы: обучить студентов строить параметрические модели прогноза.
Пакет Statistica 6.0
1. Открыть файл Series_G, нажав последовательно File – Open –
Examples – Datasets (Файл – открыть – примеры – данные).
2. Для начала анализа выбрать из Statistics – Advanced
Linear/Nonlinear Models (Статистики – Расширенные линейные/нелинейные модели) опцию Time Series/Forecasting (Временной
ряд – Прогнозирование) для отображения стартовой панели Time
Series Analysis (Анализ временного ряда) (рис. 1).
Рис. 1. Стартовая панель
Верхняя часть панели – информационная, где записывается имя
ряда и его преобразования. В данном случае ряд определяется переменной Series_G, а в графе Long variables (series) name указано расширенное имя переменной: Monthly passenger totals (in 1000’s) (Совокупные месячные перевозки пассажиров (в 1000)).
Нажав кнопку Variables (Переменные), выбрать переменную
(здесь она единственная) и щелкнуть ОК. Затем необходимо нажать
65
клавишу ARIMA & autocorrelation functions (ARIMA и автокорреляционные функции) для входа в диалог Single Series ARIMA (Одиночный
ряд ARIMA) (рис. 2).
Рис. 2. Панель диалога ARIMA
3. Идентификация. Перед тем, как определять оцениваемые параметры в модели ARIMA, последняя должна быть вначале идентифицирована. Хотя большинство необходимых опций (например, Autocorrelations or Partial autocorrelations – Автокорреляции или частные
автокорреляции) доступны из этого диалогового окна, здесь будут использованы некоторые опции преобразования для иллюстрации сущности процесса ARIMA. Вследствие этого нужно нажать кнопку Other
transformations & plots (Другие преобразования и графики), которая
появляется при выделенной опции Advanced (Расширенная). В результате этих действий появляется диалоговое окно Transformations of
Variables (Преобразования переменных) (рис. 3).
В этом окне вначале надо выбрать более подходящий масштаб
для горизонтальной оси. При выделенной опции Review & plot (Просмотр и графики) поставить метку в окне Scale X axis in plots manually
(Масштаб Х на графиках вручную) и ввести 1 в качестве Min, а число
12 как Step (Шаг). Кроме того, данный файл содержит названия строк
с соответствующими датами для каждого наблюдения, поэтому в окне
Label data points with (Метка данных точек с … ) необходимо отметить позицию Case names (Названия строк) (рис. 4).
66
Рис. 3. Диалоговое окно преобразования переменных
Рис. 4. Диалоговое окно при выделенной опции Review & plot
Для графического отображения ряда нужно щелкнуть кнопку Plot
(График), соответствующей выделенной клавише Review highlighted
variable (Просмотр высвеченной переменной). На графике четко проявляются тренд и сезонность, поэтому для определения разностей в
67
модели ARIMA позже воспользуемся автокорреляционной и частной
автокорреляционной функциями.
4. Мультипликативная сезонность. Из графика ряда (рис. 5) видно, что амплитуда сезонных изменений увеличивается со временем,
что может привести к смещенным оценкам автокорреляции. Вследствие этого проведем преобразование данных, взяв от них натуральный
логарифм, что должно стабилизировать вариации ряда.
Рис. 5. Исходный ряд
В диалоговом окне преобразования переменных выделить опцию x=f(x) и отметить такое преобразование: Natural log (x=ln(x)). Далее нажать кнопку ОК (Transform selected series) (Преобразования выделенного ряда). После того, как все наблюдения будут преобразованы, появится трансформированный временной ряд (рис. 6).
Отметим, что желаемый эффект достигнут, так как амплитуда
изменений почти стабилизировалась, и ряд готов для дальнейшего
анализа автокорреляций.
5. Автокорреляции. Выделить опцию Autocorrs (Автокорреляции) и изменить в окне Autocorrelations & crosscorrelations (Автокорреляции и кросскорреляции) параметр Number of lags (Число лагов)
с 15 на 25. Затем нажать клавишу Autocorrelations (Автокорреляции)
для отображения таблицы и графика автокорреляционной функции
(рис. 7). График показывает сильную последовательную зависимость для лагов от 1 до 12 с максимальной величиной автокорреляции при лаге, равном 1.
68
Рис. 6. Трансформированный временной ряд
Рис. 7. График автокорреляционной функции
6. Дифференцирование. Для устранения последовательной зависимости вначале необходимо выполнить дифференцирование ряда
с лагом 1. (Отметим, что преобразованный (логарифмированный) ряд
автоматически высветился в активной рабочей области. ) Выделив
опцию Difference, integrate (Дифференцирование, интегрирование),
следует указать преобразование Differencing (x=x-x(lag)) и нажать ОК
69
(Transform selected series) (Преобразование выделенного ряда). После
выполнения преобразований на экране вновь появится преобразованный временной ряд (рис. 8).
Рис. 8. Преобразованный временной ряд
Теперь каждый элемент преобразованного ряда представляет
разность между своим предыдущим и последующим значениями. При
этом ряд стал короче на число элементов, равное лагу, т. е. 1, так как
первый элемент ряда не участвует в этой операции.
Далее необходимо вернуться к диалогу Transformations of Variables (Преобразования переменных), выделить опцию Autocorrs (Автокорреляции) и нажать кнопку Autocorrelations (Автокорреляции).
Как видно из графика (рис. 9), теперь не только зависимости первого
порядка исчезли, но и большинство других зависимостей также стало
достаточно малым.
7. Сезонная последовательная зависимость. Как видно из графика, устранение зависимостей низкого порядка показало, что проявляются зависимости высокого порядка (с лагом 12). Здесь наблюдается явная сезонная зависимость с лагами, равными 24, 36 и т. д., что
отражает сезонность авиаперевозок. Дифференцирование с лагом 12
позволит устранить сезонность. Для этого необходимо вернуться к опции Difference, integrate (Дифференцирование, интегрирование), выбрать преобразование
70
Рис. 9. График автокорреляционной функции
после преобразований
Differencing (x=x-x(lag)), но с измененным лагом, равным 12, и нажать
ОК (Transform selected series) (Преобразование выделенного ряда).
Как и прежде, появится график нового временного ряда. Теперь нажать кнопку Partial autocorrelations (Частные автокорреляции) и просмотреть график.
8. Оцениваемые параметры. Коррелограмма не показывает значимых выбросов, поэтому ряд готов для подбора модели. Основываясь на природе ряда, выбираем модель ARIMA с сезонностью, определяемой лагом = 12, и несезонностью с лагом=1. Таким образом,
здесь нужно оценить 2 параметра модели скользящего среднего: сезонный (Q) и несезонный (q). Никаких параметров авторегрессии в
данном случае не оценивается.
Модифицированный ряд теперь может быть подставлен непосредственно в модель ARIMA. Однако в случаях, подобных рассматриваемому, рекомендуется проанализировать исходный ряд и выбрать необходимые модификации данных как часть спецификаций
модели. Вследствие этого ARIMA будет «знать» о модификациях, поэтому при необходимости прогнозирования оценки прогноза будут вычисляться из проинтегрированных (обратных дифференцированию) и
ремодифицированных (обратных преобразованию) данных. Такие прогнозные оценки оказываются простыми для интерпретации.
9. Диалог ARIMA. Теперь надо вернуться к диалогу Single Series
ARIMA (Единственный ряд ARIMA), нажав кнопку Cancel (Отменить)
в окне Transformations of Variables (Преобразования переменных). В
71
окне Single Series ARIMA (Единственный ряд ARIMA) выделить исходную переменную Series_G. Этот диалог позволит определить параметры авторегрессии и скользящего среднего (сезонное и несезонное). Нельзя перейти к следующему шагу до тех пор, пока один из параметров не будет выбран (p, P, q или Q). Однако вначале нужно определить преобразования и дифференцирования (разности). При выделенной опции Quick (Быстрая) в окне Transform variable (series) prior
to analysis (Преобразование переменной (ряда) для анализа) отметить
позиции Natural Log (Натуральный логарифм) и Difference (Разность). Теперь укажем в окнах 1. Lag = 1 и N. Of passes = 1, что определяет логарифмическое преобразование и несезонную простую разность. Для определения сезонности укажем в окнах 2. Lag лаг = 12 и
N. of passes = 1 (рис. 10).
Рис. 10. Диалоговое окно ARIMA
10. Параметры ARIMA. На стадии идентификации было решено
оценить 2 параметра скользящего среднего: один регулярный q и один
сезонный Q. В окне параметров надо установить значения q = 1 и Q =
= 1, после чего нажать ОК.
После процесса оценивания параметров в окне Single Series
ARIMA Results (Результаты) появятся результаты расчета (рис. 11).
72
Рис. 11. Окно результатов расчета
Итог приведен в верхней части окна (модель, преобразования).
После нажатия кнопки Summary: Parameter estimates (Итоги: оценки
параметров) появится таблица результатов (табл. 1), откуда видно,
что параметры скользящего среднего (сезонный и несезонный) являются высоко значимыми.
Таблица 1. Результаты расчетов
11. Фаза прогнозирования. При выделенной опции Advanced
(Расширенная) появляется окно Forecasting (Прогнозирование). По
умолчанию этот пакет будет вычислять прогнозы, начиная с последнего наблюдения на один полный сезонный цикл (на 12 месяцев, начиная с момента времени, равного 145). Вначале рассмотрим прогнозы в
таблице, нажав кнопку Forecast cases (Прогнозы). Затем можно проанализировать график прогноза, нажав кнопку Plot series & forecasts
(График ряда и прогноза) (рис. 12). Здесь можно также рассмотреть,
как ведет себя модель прогноза на реальных данных, поставив в окне
начала прогноза цифру 133 (145 – 12 + 1 = 133).
73
Рис. 12. График прогноза
12. Анализ остатков. Для модели ARIMA устанавливаются два
допущения об остатках:
– остатки должны быть нормально распределены;
– остатки должны быть независимы друг от друга (отсутствует
остаточная последовательная корреляция).
Первое допущение может быть проверено рассмотрением графика нормального распределения остатков. При выделенной опции
Distribution of residuals (Распределение остатков) нажать клавишу
Normal probability plots (Нормальные графики). Если остатки нормально распределены, то все точки должны группироваться около прямой
линии на графике (рис. 13).
Рис. 13. График нормального распределения остатков
74
Второе допущение проверяется с помощью вычисления автокорреляционной функции: при выделенной опции Autocorrelations
(Автокорреляции) нажать кнопку Autocorrelations (Автокорреляции)
(рис. 14).
Рис. 14. График автокорреляций остатков
Из графика видно, что автокорреляция остатков практически отсутствует, следовательно, условие независимости остатков выполнено для выбранной модели.
Задание
Построить смоделированный временной ряд в пакете Statistica
следующим образом:
• Создать новый файл, состоящий из 100 строк и 1 столбца.
• Через меню Data – Variable Specs (Данные – описание переменной) ввести в окно формул выражение =vnormal(rnd(1);1;3).
• Смоделировать 100 значений случайной нормально распределенной величины с математическим ожиданием, равным 1,
и среднеквадратичным отклонением, равным 3. Эти 100 значений определяют переменную Var1. Перевести их к целому
типу данных, установив в окне описания переменной в качестве Type значение Integer.
• Провести прогнозирование полученного ряда с помощью подбора модели класса ARIMA.
75
Содержание
Лабораторная работа № 1. Представление исходных данных ........3
Лабораторная работа № 2. Сглаживание временных рядов..........12
Лабораторная работа № 3. Декомпозиция временных рядов........20
Лабораторная работа № 4. Оценка сезонности рядов
посредством преобразования Фурье................................................30
Лабораторная работа № 5. Простая и множественная регрессии.41
Лабораторная работа № 6. Прогнозирование временных рядов
с помощью искусственных нейронных сетей ...................................55
Лабораторная работа № 7. Модели класса ARIMA.........................65
76
Документ
Категория
Без категории
Просмотров
0
Размер файла
5 727 Кб
Теги
krichevckiymetuk2006
1/--страниц
Пожаловаться на содержимое документа