Расширенные прогнозы временных рядов (учебник по интеллектуальному анализу данных — средний уровень)
В ходе изучения модели прогнозирования было показано, что хотя продажи в большинстве регионов и следуют схожему шаблону, некоторые регионы и некоторые модели, например модель M200 в Тихоокеанском регионе, имеют очень разные тренды. Это не удивляет, поскольку различия между регионами не являются редкостью и могут быть вызваны многими факторами, включая маркетинговые акции, неточные отчеты или геополитические события.
Тем не менее, пользователям нужна модель, применимая к любым странам мира. Поэтому чтобы максимально снизить воздействие индивидуальных факторов на проекции, принимается решение создать модель, основанную на агрегатных вычислениях продаж по всему миру. Эту модель затем можно использовать для прогнозирования по каждому отдельному региону.
В этой задаче будут построены все источники данных, необходимые для выполнения расширенных задач прогнозирования. Будут созданы два представления источников данных, которые будут использоваться в качестве входных данных прогнозирующего запроса, и одно представление источника данных для построения новой модели.
Шаги
Создание расширенных данных о продажах
Для обновления данных о продажах нужно будет получить последние цифры продаж. Особенно важными являются данные из Тихоокеанского региона, где была запущена региональная акция продаж для привлечения внимания к новым магазинам и информирования о продукции.
В этом сценарии предполагается, что данные импортированы из книги Excel, содержащей только три месяца новых данных для нескольких регионов. Вы создадите таблицу для данных с помощью скрипта Transact-SQL, а затем определите представление источника данных, используемое для прогнозирования.
Создание таблицы с новыми данными о продажах
В окне запросов Transact-SQL выполните следующую инструкцию, чтобы добавить данные о продажах в базу данных AdventureWorksDW (или в любую другую базу данных).
USE [database name]; GO IF OBJECT_ID ([dbo].[NewSalesData]) IS NOT NULL DROP TABLE [dbo].[NewSalesData]; GO CREATE TABLE [dbo].[NewSalesData]([Series] [nvarchar](255) NULL, [NewDate] [datetime] NULL, [NewQty] [float] NULL, [NewAmount] [money] NULL) ON [PRIMARY] GO
Вставьте новые значения с помощью следующего скрипта.
INSERT INTO [NewSalesData] (Series,NewDate,NewQty,NewAmount) VALUES('T1000 Pacific', '7/25/08', 55, '$130,170.22'), ('T1000 Pacific', '8/25/08', 50, '$114,435.36 '), ('T1000 Pacific', '9/25/08', 50, '$117,296.24 '), ('T1000 Europe', '7/25/08', 37, '$88,210.00 '), ('T1000 Europe', '8/25/08', 41, '$97,746.00 '), ('T1000 Europe', '9/25/08', 37, '$88,210.00 '), ('T1000 North America', '7/25/08', 69, '$164,500.00 '), ('T1000 North America', '8/25/08', 66, '$157,348.00 '), ('T1000 North America', '9/25/08', 58, '$138,276.00 '), ('M200 Pacific', '7/25/08', 65, '$149,824.35'), ('M200 Pacific', '8/25/08', 54, '$124,619.46'), ('M200 Pacific', '9/25/08', 61, '$141,143.39'), ('M200 Europe', '7/25/08', 75, '$173,026.00'), ('M200 Europe', '8/25/08', 76, '$175,212.00'), ('M200 Europe', '9/25/08', 84, '$193,731.00'), ('M200 North America', '7/25/08', 94, '$216,916.00'), ('M200 North America', '8/25/08', 94, '$216,891.00'), ('M200 North America', '9/25/08', 91,'$209,943.00');
Предупреждение
Кавычки используются для значений валют, чтобы не возникало проблем с разделителем в виде запятой и символом валюты. Значения валют можно также передавать в следующем формате:
130170.22
Обратите внимание, что даты, используемые в образце базы данных, изменены для этой версии. Если используется более раннее издание AdventureWorks, вставленные даты, возможно, потребуется соответствующим образом скорректировать.
Создание представления источников данных с помощью новых данных о продажах
В Обозреватель решений щелкните правой кнопкой мыши Представления источников данных и выберите Создать представление источника данных.
В окне мастера представлений источников данных выберите указанные ниже элементы.
Источник данных: Adventure Works DW Multidimensional 2012
Выберите Таблицы и представления. Выберите только что созданную таблицу NewSalesData.
Нажмите кнопку Готово.
В области конструктора Представление источника данных щелкните правой кнопкой мыши NewSalesData и выберите Просмотреть данные , чтобы проверить данные.
Предупреждение
Эти данные будут использоваться только для прогноза, поэтому если они неполные, это не имеет значения.
Создание данных для модели перекрестного прогнозирования
Данные, использованные в исходной модели прогнозирования, уже были сгруппированы с помощью представления vTimeSeries, которое разбивает несколько моделей велосипедов на более мелкие категории и сводит результаты из отдельных стран в регионы. Чтобы создать модель для проекций для стран всего мира, потребуется создать некоторые простые агрегатные функции напрямую в конструкторе представления источников данных. Новое представление источника данных будет содержать только сумму и среднее значение продаж всех продуктов для всех регионов.
После создания источника данных для модели следует создать новое представление источников данных для прогноза. Например, если нужно спрогнозировать продажи для Европы с помощью новой мировой модели, нужно передать данные только для Европы. Таким образом будет настроено новое представление источников данных, которое будет фильтровать исходные данные и изменит условие фильтра для каждого набора прогнозирующих запросов.
Создание данных модели с помощью пользовательского представления источников данных
В Обозреватель решений щелкните правой кнопкой мыши Представления источников данных и выберите Создать представление источника данных.
На странице приветствия мастера нажмите кнопку Далее.
На странице Выбор источника данных выберите Adventure Works DW Multidimensional 2012 и нажмите кнопку Далее.
На странице Выбор таблиц и представлений не добавляйте таблицы. Просто нажмите кнопку Далее.
На странице Завершение работы мастера введите имя
AllRegions
и нажмите кнопку Готово.Затем щелкните правой кнопкой мыши пустую область конструктора представления источника данных и выберите Создать именованный запрос.
В диалоговом окне Создание именованного запроса в поле Имя введите
AllRegions
, а в поле Описание введите Сумма и среднее значение продаж для всех моделей и регионов.В панели SQL-текста введи следующую инструкцию и нажмите кнопку «ОК»:
SELECT ReportingDate, SUM([Quantity]) as SumQty, AVG([Quantity]) as AvgQty, SUM([Amount]) AS SumAmt, AVG([Amount]) AS AvgAmt, 'All Regions' as [Region] FROM dbo.vTimeSeries GROUP BY ReportingDate
Щелкните таблицу правой
AllRegions
кнопкой мыши и выберите пункт Просмотреть данные.
Создание данных рядов для перекрестного прогнозирования
В Обозреватель решений щелкните правой кнопкой мыши Представления источников данных и выберите Создать представление источника данных.
В окне мастера представлений источников данных выберите указанные ниже элементы.
Источник данных: Adventure Works DW Multidimensional 2012
Выбор таблиц и представлений: не выбирайте никаких таблиц.
Имя:
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 и выберите Просмотреть данные , чтобы убедиться, что данные отфильтрованы правильно.
Эти данные будут использоваться как входные данные для модели при запросах перекрестного прогнозирования.
Следующая задача занятия
См. также:
Алгоритм временных рядов (Майкрософт)
Microsoft Time Series Algorithm Technical Reference
Представления источников данных в многомерных моделях