Поделиться через


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

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

Создание общей модели

Помните, что анализ результатов начальной модели интеллектуального анализа данных показал большие различия между регионами и линейками продуктов. Например, продажи модели M200 в Северной Америке были высоки, а продажи модели T1000 были не так успешны. Однако анализ осложняется тем, что некоторые ряды не имеют большого объема данных или данные были запущены в другой момент времени. Кроме того, некоторые данные отсутствовали.

Ряды прогнозирования количества M200 и T1000

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

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

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

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

В SQL Server интеллектуального анализа данных выполняется перекрестное прогнозирование с помощью параметра REPLACE_MODEL_CASES в аргументах функции PredictTimeSeries (DMX).

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

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

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

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

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

    • Алгоритм: временные ряды Майкрософт

    • В качестве источника данных для модели используйте источник данных, который уже создали ранее на этом уроке. См. дополнительные прогнозы временных рядов (учебник по интеллектуальному анализу данных промежуточного уровня).

      Представление источника данных: AllRegions

    • Выберите следующие столбцы для ключа ряда и временного ключа:

      Ключевое время: ReportingDate

      Ключ: регион

    • Выберите следующие столбцы для Input и Predict:

      SumQty

      SumAmt

      AvgAmt

      AvgQty

    • В поле Имя структуры интеллектуального анализа данных введите: All Regions

    • В поле Имя модели интеллектуального анализа данных введите: All Regions

  3. Обработайте новую структуру и новую модель.

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

  1. Если модель еще не открыта, дважды щелкните структуру AllRegions и в Designer интеллектуального анализа данных перейдите на вкладку Прогнозирование модели интеллектуального анализа данных.

  2. В области Модель интеллектуального анализа данных уже должна быть выбрана модель AllRegions. Если она не выбрана, щелкните Выбрать модель, а затем выберите модель AllRegions.

  3. В области Выбор входных таблиц щелкните Выбрать таблицу вариантов.

  4. В диалоговом окне Выбор таблицы измените источник данных на T1000 Pacific Region и нажмите кнопку ОК.

  5. Щелкните правой кнопкой мыши линию соединения между моделью интеллектуального анализа данных и входными данными и выберите Изменить подключения. Сопоставьте данные в представлении источника данных с моделью следующим образом.

    1. Убедитесь, что столбец ReportingDate в модели интеллектуального анализа данных сопоставлен со столбцом ReportingDate во входных данных.

    2. В диалоговом окне Изменение сопоставления в строке столбца модели AvgQty щелкните в разделе Столбец таблицы и выберите T1000 Pacific.Quantity. Нажмите кнопку ОК.

      На этом шаге сопоставляется столбец, созданный в модели для прогнозирования среднего количества, с фактическими данными о количестве продаж продукта T1000.

    3. Не сопоставляйте столбец Region в модели ни с каким входным столбцом.

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

  6. Теперь вы создадите прогнозирующий запрос.

    Сначала добавьте к результатам столбец, который выдает с прогнозами метку AllRegions из модели. Таким образом, вы знаете, что результаты были основаны на общей модели.

    1. В сетке щелкните первую пустую строку в разделе Источник, а затем выберите ВсеРегионирование модели интеллектуального анализа данных.

    2. В поле Поле выберите Регион.

    3. В поле Псевдоним введитеИспользуемая модель.

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

    1. Щелкните пустую строку и в разделе Источник выберите Пользовательское выражение.

    2. В столбце Псевдоним введите ModelRegion.

    3. В столбце Условия/Аргумент введите 'T1000 Pacific'.

  8. Теперь вы создадите функцию перекрестного прогнозирования.

    1. Щелкните пустую строку и в разделе Источник выберите Функция прогнозирования.

    2. В столбце Поле выберите PredictTimeSeries.

    3. В поле Псевдоним введитеПрогнозируемые значения.

    4. Перетащите поле AvgQty из области Модель интеллектуального анализа данных в столбец Условия/Аргумент с помощью операции перетаскивания.

    5. В столбце Условия/Аргумент после имени поля введите следующий текст: ,5, REPLACE_MODEL_CASES

      Полный текст текстового поля Условия и аргумент должен выглядеть следующим образом: [AllRegions].[AvgQty],5,REPLACE_MODEL_CASES

  9. Щелкните Результаты.

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

Возможно, вы заметили проблему с перекрестным прогнозированием: чтобы применить общую модель к разным рядам данных, таким как модель продукта T1000 в Северная Америка регионе, необходимо создать отдельный запрос для каждого ряда, чтобы можно было сопоставить каждый набор входных данных с моделью.

Но можно не создавать запрос в конструкторе, а перейти в представление DMX и отредактировать созданную инструкцию 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 DW2003R2], '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 в Северной Америке на основании шаблонов в общей модели.

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

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

См. также:

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