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

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

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

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

Серия, предсказывающая количество M200 и T1000

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

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

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

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

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

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

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

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

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

  2. В мастере анализа данных сделайте следующее:

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

Чтобы создать прогнозирующий запрос и сопоставить замещающие данные

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

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

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

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

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

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

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

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

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

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

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

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

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

    2. Для поля выберите регион.

    3. Для псевдонима введите используемую модель.

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

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

    2. В столбце Alias введите 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" на "Северная Америка", вы получите прогнозы для продукта T1000 в Северной Америке на основе шаблонов в общей модели.

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

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

См. также

Примеры запросов модели временных рядов
PredictTimeSeries (DMX)