Расширенные прогнозы временных рядов (учебник по интеллектуальному анализу данных — средний уровень)

 

Применимо к: SQL Server 2016 Preview

В ходе изучения модели прогнозирования было показано, что хотя продажи в большинстве регионов и следуют схожему шаблону, некоторые регионы и некоторые модели, например модель M200 в Тихоокеанском регионе, имеют очень разные тренды. Это не удивляет, поскольку различия между регионами не являются редкостью и могут быть вызваны многими факторами, включая маркетинговые акции, неточные отчеты или геополитические события.

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

В этой задаче будут построены все источники данных, необходимые для выполнения расширенных задач прогнозирования. Будут созданы два представления источников данных, которые будут использоваться в качестве входных данных прогнозирующего запроса, и одно представление источника данных для построения новой модели.

Шаги

  1. Подготовка расширенных данных по продажам (для прогноза)

  2. Подготовка статистических данных (для построения модели)

  3. Подготовка данных рядов (для перекрестного прогнозирования)

  4. Прогноз с помощью EXTEND

  5. Создание модели перекрестного прогнозирования

  6. Прогноз с помощью REPLACE

  7. Просмотр новых результатов прогноза

Создание расширенных данных о продажах

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

В этом сценарии предполагается, что данные были импортированы из книги Excel, содержащей только три месяца новых данных для двух регионов. С помощью скрипта Transact-SQL будет создана таблица данных, а затем будет определено представление источника данных для прогноза.

Создание таблицы с новыми данными о продажах

  1. В окне запросов 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  
    
  2. Вставьте новые значения с помощью следующего скрипта.

    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, вставленные даты, возможно, потребуется соответствующим образом скорректировать.

Создание представления источников данных с помощью новых данных о продажах

  1. В обозревателе решений, щелкните правой кнопкой мыши представления источников данных, а затем выберите новое представление источника данных.

  2. В окне мастера представлений источников данных выберите указанные ниже элементы.

    Источник данных: Adventure Works DW Multidimensional 2012

    Выбор таблиц и представлений: выберите таблицу, которая только что создали, NewSalesData.

  3. Нажмите кнопку Готово.

  4. В области конструктора представления источника данных щелкните правой кнопкой мыши NewSalesData и выберите Просмотр данных для проверки данных.

Предупреждение


Эти данные будут использоваться только для прогноза, поэтому если они неполные, это не имеет значения.

Создание данных для модели перекрестного прогнозирования

Данные, который использовался в исходном прогнозирование модели уже сгруппированы по представлению vTimeSeries, который сворачиваться несколько моделей велосипедов в меньшее число категорий и объединяются результаты из отдельных стран и регионов. Чтобы создать модель для проекций для стран всего мира, потребуется создать некоторые простые агрегатные функции напрямую в конструкторе представления источников данных. Новое представление источника данных будет содержать только сумму и среднее значение продаж всех продуктов для всех регионов.

После создания источника данных для модели следует создать новое представление источников данных для прогноза. Например, если нужно спрогнозировать продажи для Европы с помощью новой мировой модели, нужно передать данные только для Европы. Таким образом будет настроено новое представление источников данных, которое будет фильтровать исходные данные и изменит условие фильтра для каждого набора прогнозирующих запросов.

Создание данных модели с помощью пользовательского представления источников данных

  1. В обозревателе решений, щелкните правой кнопкой мыши представления источников данных, а затем выберите новое представление источника данных.

  2. На странице приветствия мастера нажмите кнопку Далее.

  3. На странице Выбор источника данных выберите Adventure Works DW Multidimensional 2012и нажмите кнопку Далее.

  4. На странице Выбор таблиц и представленийнажмите кнопку Далее, не выбирая таблиц.

  5. На странице Завершение работы мастеравведите имя AllRegionsи нажмите кнопку Готово.

  6. Далее, щелкните правой кнопкой мыши область конструктора представления источника данных, а затем выберите новым именованным запросом.

  7. В диалоговом окне Создание именованного запроса в поле Имявведите AllRegions, а в поле ОписаниеСумма и среднее значение продаж для всех моделей и регионов.

  8. В панели 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  
    
  9. Щелкните правой кнопкой мыши AllRegions таблицы, а затем выберите Просмотр данных.

Создание данных рядов для перекрестного прогнозирования

  1. В обозревателе решений, щелкните правой кнопкой мыши представления источников данных, а затем выберите новое представление источника данных.

  2. В окне мастера представлений источников данных выберите указанные ниже элементы.

    Источник данных: Adventure Works DW Multidimensional 2012

    Выбор таблиц и представлений: не выбирайте никаких таблиц.

    Имя: T1000 Pacific Region

  3. Нажмите кнопку Готово.

  4. Щелкните правой кнопкой мыши по пустой области конструирования T1000 Pacific Region.dsv, а затем выберите новым именованным запросом.

    Откроется диалоговое окно Создание именованного запроса . Снова введите имя и добавьте следующее описание:

    Имя: T1000 Pacific Region

    Описание: ФильтроватьvTimeSeriesпо региону и модели

  5. В панели ввода текста введите следующий запрос и нажмите кнопку ОК:

    SELECT ReportingDate, ModelRegion, Quantity, Amount  
    FROM dbo.vTimeSeries  
    WHERE (ModelRegion = N'T1000 Pacific')  
    

    Примечание


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

  6. В области конструктора представления источника данных щелкните правой кнопкой мыши T1000 Pacific и выберите Просмотр данных для проверки фильтрации данных.

    Эти данные будут использоваться как входные данные для модели при запросах перекрестного прогнозирования.

Следующая задача занятия

Прогнозы временных рядов с использованием обновленных данных ( Intermediate Data Mining Tutorial )

См. также:

Алгоритм временных рядов (Майкрософт)
Технический справочник по алгоритму временных рядов (Майкрософт)
Представления источников данных в многомерных моделях