Спонсор: Microsoft
Санкт-Петербургский государственный политехнический университет
Опубликован: 06.03.2012 | Доступ: свободный | Студентов: 1914 / 129 | Оценка: 4.00 / 4.00 | Длительность: 10:52:00
Специальности: Системный архитектор
Самостоятельная работа 16:

Использование алгоритма MicrosoftTimeSeries для прогнозирования значений временных рядов

< Самостоятельная работа 15 || Самостоятельная работа 16: 12
Аннотация: Данная лабораторная работа посвящена вопросам использования аналитических служб SQLServer 2008 для прогнозирования временных рядов.

На практике мы часто сталкиваемся с временными рядами: биржевые котировки ценных бумаг, объемы выпуска товаров по месяцам, среднесуточные значения температуры воздуха - все это примеры подобных последовательностей. В общем случае, временной ряд - это набор числовых значений, собранных в последовательные моменты времени (в большинстве случаев - через равные промежутки времени). При работе с временными рядами часто возникает желание выявить зависимости между текущим значением и предшествующими ему, и использовать их для прогнозирования будущих значений. Подобную задачу можно решить с использованием алгоритма MicrosoftTimeSeries, входящего в набор стандартных алгоритмов аналитических служб SQLServer 2008.

Для анализа будем использовать данные из учебной базы AdventureWorksDW. Представление (view) dbo.vTimeSeries формирует временной ряд, содержащий результаты продаж различных моделей велосипедов по месяцам ( рис. 32.1).

Данные из представления vTimeSeriesбазы AdventureWorks DW

увеличить изображение
Рис. 32.1. Данные из представления vTimeSeriesбазы AdventureWorks DW

Рассматриваемый набор данных представляет собой пример чередующегося ряда: в нем есть несколько записей соответствующих одной дате, содержащих данные для разных моделей велосипеда. Другой вариант представления - столбчатый формат - иллюстрируется таблицей 32.1.

Таблица 32.1. Представление временных рядов в "столбчатом" формате
Дата M200 R200
200101 100 50
200102 120 20
…. ….

Но вернемся к нашей задаче. Источник данных, указывающий на базу AdventureWorks DW, у нас уже создан. Следующий шаг - создать в среде BIDevStudio представление источника данных, включающее vTimeSeries. Процесс создания подробно разбирался в "DMX. Параметры алгоритмов интеллектуального анализа данных. Алгоритмы нейронных сетей и логистической регрессии" .Назовем созданное представление источника данных TimeSeries_dsv.

Далее потребуется создатьв среде BIDevStudio модель для прогнозирования рядов. Начало создания модели: использовать будем данные из реляционной БД, алгоритм - MicrosoftTimeSeries(Алгоритм временных рядов Microsoft), представление источника данных - TimeSeries_dsv, таблица с данными - vTimeSeries. Теперь определимся, какие атрибуты потребуются для прогноза. Мы имеем дело с чередующимся временным рядом, и чтобы идентифицировать один его элемент, надо указать отметку времени и название модели. Значит и ключевых атрибутов будет два - DateSeries(отметка времени) и ModelRegion. Прогнозировать будем значения объема продаж в денежном эквиваленте (Amount>) и количество проданных велосипедов (Quantity). Эти атрибуты также будут рассматриваться и в качестве входных( рис. 32.2).

Следующий шаг - определение типов данных и содержимого для выбранных атрибутов. Здесь можно согласиться с автоматически подобранными значениями ( рис. 32.3).Стоит обратить внимание на тип содержимого KeyTime выбранный для столбца [DateSeries]. Столбец с таким типом обязательно должен присутствовать, если будет использоваться алгоритм интеллектуального анализа MicrosoftTimeSeries.

Назовем создаваемую структуру vTimeSeries_TS_Structure, а модель - vTimeSeries_TS ( рис. 32.4).

Выбор прогнозируемых атрибутов

увеличить изображение
Рис. 32.2. Выбор прогнозируемых атрибутов
Выбор типа содержимого и типа данных

увеличить изображение
Рис. 32.3. Выбор типа содержимого и типа данных
Называем модель и структуру

увеличить изображение
Рис. 32.4. Называем модель и структуру
Указание периодичности - 12 (число месяцев в году)

Рис. 32.5. Указание периодичности - 12 (число месяцев в году)

После создания структуры и модели интеллектуального анализа можно более точно настроить параметры. В частности, в свойствах модели можно явно указать, что во временном ряде ожидается периодичность 12 (число месяцев в году, т.к. у нас данные с продажами по месяцам). Подобное изменение настроек показано на рис. 32.5. После этого надо провести полную обработку модели, и на вкладке MiningModelViewer появится возможность просмотреть результаты ( рис. 32.6). Непрерывной линией изображены фактические данные, пунктиром - прогнозируемые результаты.Поле Predictionsteps позволяет указать, на сколько шагов вперед предсказывается значение ряда, а выпадающий список под ним - выбрать значения, для которых строятся графики.

Просмотр графиков. Пунктирная линия - прогнозируемые значения

увеличить изображение
Рис. 32.6. Просмотр графиков. Пунктирная линия - прогнозируемые значения
Задание 1. По аналогии с рассмотренным примером создайте структуру и модель интеллектуального анализа данных для прогнозирования продаж AdventureWorks. Не указывайте значение для периодичности. Проведите обработку модели, постройте графики продаж велосипедов модели M200 в разных регионах с прогнозом на год (12 значений). Проанализируйте результаты.
Задание 2. Укажите в параметрах алгоритма периодичность 12 ( рис. 32.5). Проведите повторную обработку модели и снова проанализируйте графики прогноза на год. Есть ли изменения? Чем можно объяснить полученный результат?
< Самостоятельная работа 15 || Самостоятельная работа 16: 12