Прогнозирование с помощью усредненной модели прогнозов (учебник по интеллектуальному анализу данных — средний уровень)
В предыдущей задаче данного занятия использовался построитель прогнозирующих запросов для создания запроса, формирующего прогнозы по умолчанию для определенной модели прогнозов. В этой задаче предстоит научиться создавать прогнозирующий запрос, применяющий модель всемирных продаж к одному из отдельных регионов.
Использование данных для замены в прогнозировании временных рядов
В SQL Server 2008 функция PredictTimeSeries (расширения интеллектуального анализа данных) имеет два параметра, EXTEND_MODEL_CASES и REPLACE_MODEL_CASES, с помощью которых можно настраивать прогнозы временных рядов.
Параметр EXTEND_MODEL_CASES позволяет добавлять данные к существующей модели и создавать прогнозы на основании новых данных.
Параметр REPLACE_MODEL_CASES позволяет заменить ряд данных, который использовался для создания модели, данными другого ряда.
В этом сценарии будет использоваться параметр REPLACE_MODEL_CASES. Однако сначала необходимо настроить представление источника данных, содержащее только данные для замены. Данные для замены — это данные для каждого отдельного ряда. После создания представления источника данных, предназначенных для замены, можно создать прогнозирующий запрос, применяющий общую модель к данным для замены.
Создание представления источника данных, содержащего данные для замены
В окне Обозреватель решений щелкните правой кнопкой мыши элемент Представления источников данных и выберите команду Создать представление источника данных.
В окне мастера представлений источников данных выберите указанные ниже элементы.
Источник данных: Adventure Works DW2008R2
Выбор таблиц и представлений: не выбирайте никаких таблиц
Имя: T1000 Pacific Region
Нажмите кнопку Готово.
Щелкните правой кнопкой мыши в пустой области конструктора T1000 Pacific Region.dsv и выберите команду Создать именованный запрос.
Откроется диалоговое окно Создание именованного запроса. Снова введите имя и добавьте следующее описание:
Имя: T1000 Pacific Region
Описание: фильтровать vTimeSeries по региону и модели
На текстовой панели введите следующий запрос:
SELECT ReportingDate, ModelRegion, Quantity, Amount FROM dbo.vTimeSeries WHERE (ModelRegion = N'T1000 Pacific')
Примечание Запрос также можно создать с помощью построителя запросов, но быстрее ввести текст запроса. Однако после ввода текста запроса можно щелкнуть другую панель, чтобы увидеть, как выполняется анализ текста запроса и построение запроса из вспомогательных таблиц. Текст запроса также можно скопировать и сохранить в текстовый файл, чтобы использовать его повторно для других рядов данных.
Нажмите кнопку ОК..
В области конструктора представлений источника данных щелкните правой кнопкой мыши элемент T1000 Pacific и выберите команду Просмотреть данные, чтобы убедиться в том, что данные отфильтрованы правильно.
Теперь нужно создать прогнозирующий запрос временных рядов обычным способом, но добавить параметр REPLACE_MODEL_CASES, чтобы указать, что ряд данных, на котором основывается запрос, должен заменяться новыми данными, предоставленными пользователем. Также нужно указать сопоставление между моделью интеллектуального анализа данных и входной таблицей.
Создание прогнозирующего запроса и предоставление данных для замены
Если модель еще не открыта, дважды щелкните структуру AllRegions и в окне конструктора интеллектуального анализа данных щелкните вкладку Прогноз модели интеллектуального анализа данных.
На панели Модель интеллектуального анализа данных должна быть выбрана модель AllRegions. В противном случае нажмите Выбрать модель и выделите эту модель.
На панели Выбор входных таблиц нажмите кнопку Выбрать таблицу вариантов.
В диалоговом окне Выбор таблицы измените источник данных на T1000 Pacific Region и нажмите кнопку ОК.
Созданное представление источника данных отображается в виде таблицы со столбцами. Некоторые из столбцов уже могут быть сопоставлены со столбцами модели интеллектуального анализа данных.
Щелкните правой кнопкой мыши линию соединения между моделью интеллектуального анализа данных и входными данными и выберите команду Изменить соединения.
В диалоговом окне Изменение сопоставления проверьте, чтобы столбец ReportingDate в модели интеллектуального анализа данных был сопоставлен со столбцом ReportingDate во входных данных.
В диалоговом окне Изменение сопоставления в строке AvgQty щелкните в поле Столбец таблицы и выберите пункт T1000 Pacific.Quantity. Нажмите кнопку ОК.
На этом шаге столбец статического количества в общей модели сопоставляется со столбцом количества в ряде данных для замены.
В сетке щелкните первую пустую строку в столбце Источник и выберите пункт AllRegions. В столбце Поле выберите «Регион», в столбце Псевдоним введите Используемая модель.
На этом шаге к результатам добавляется столбец, который можно использовать для нахождения прогнозов, полученных на основании общей модели.
Щелкните пустую строку в столбце Источник и выберите пункт Пользовательское выражение. В столбце Псевдоним введите ModelRegion. В столбце Критерий или аргумент введите 'T1000 Pacific'.
На этом шаге к результатам добавляется метка, которая помогает увидеть, к какому ряду относится прогноз.
Щелкните пустую строку в столбце Источник и выберите пункт Прогнозирующая функция. В столбце Поле выберите PredictTimeSeries. В столбце Псевдоним введите Прогнозируемые значения.
Перетащите поле AvgQty с панели Модель интеллектуального анализа данных в столбец Критерий или аргумент.
В столбце Критерий или аргумент за именем поля введите следующий текст: ,5, REPLACE_MODEL_CASES
Полный текст поля Критерий или аргумент должен иметь следующий вид: [AllRegions].[AvgQty],5,REPLACE_MODEL_CASES
Щелкните Результаты.
Просмотр результатов
Прогнозирующий запрос возвращает результаты, подобные приведенным в следующей таблице.
Используемая модель |
ModelRegion |
Прогнозируемое количество |
---|---|---|
Все области |
T-1000 Pacific |
$TIMEAvg Qty
7/25/2008 12:00:00 AM68
8/25/2008 12:00:00 AM52
9/25/2008 12:00:00 AM48
10/25/2008 12:00:00 AM56
11/25/2008 12:00:00 AM44
|
Если требуется применить общую модель к другому ряду данных, такому как модель продукта T1000 в Североамериканском регионе, для каждого ряда необходимо создавать другой запрос. Тем не менее вместо выполнения полностью всего процесса можно изменить созданную инструкцию DMX и по-разному отфильтровать входные данные. Например, следующая инструкция DMX представляет только что созданный запрос:
SELECT
([All Regions].[Region]) as [Model Used],
( 'T-1000 Pacific') as [ModelRegion],
(PredictTimeSeries([All Regions].[Avg Qty],5, REPLACE_MODEL_CASES)) as [Predicted Quantity]
FROM
[All Regions]
PREDICTION JOIN
OPENQUERY([Adventure Works DW2008R2],
'SELECT
[ReportingDate]
FROM
(SELECT ReportingDate, ModelRegion, Quantity, Amount
FROM dbo.vTimeSeries
WHERE (ModelRegion = N''T1000 Pacific'')) as [T1000 Pacific]
') AS t
ON
[All Regions].[Reporting Date] = t.[ReportingDate] AND
[All Regions].[Avg Qty] = t.[Quantity]
Для применения этой инструкции к другой модели необходимо лишь изменить инструкцию запроса, чтобы заменить условие фильтра и метки, примененные к каждому результату. Например, в случае изменения условий фильтра и меток столбцов путем замены «Pacific» на «North America» будут получены прогнозы для продукта T1000 в Северной Америке на основании шаблонов в общей модели.
Используемая модель |
Модель/Регион |
Прогнозируемое количество |
---|---|---|
Все области |
T-1000 North America |
$TIMEAvg Qty
7/25/2008 12:00:00 AM103
8/25/2008 12:00:00 AM84
9/25/2008 12:00:00 AM79
10/25/2008 12:00:00 AM85
11/25/2008 12:00:00 AM68
|
Следующая задача занятия
См. также