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

Изменения: 15 сентября 2007 г.

Алгоритм временных рядов (Майкрософт) представляет собой алгоритм регрессии, предоставленный службами Microsoft SQL Server 2005 Analysis Services (SSAS) для использования при создании моделей интеллектуального анализа данных, предназначенных для прогнозирования непрерывных столбцов, таких как продажи продукта, в сценарии прогнозирования. В то время как другие алгоритмы Майкрософт (например, модель дерева решений) создают модели, которые для прогнозирования прогнозируемых столбцов используют получаемые вводные столбцы, прогнозирование для модели временных рядов основывается только на тенденциях, извлекаемых алгоритмом из исходного набора данных во время создания модели. На примере следующей диаграммы показана типичная модель прогнозирования продаж продукта в течение определенного времени.

Пример временного ряда

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

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

Пример

Руководству компании Adventure Works Cycles необходим прогноз ежемесячных продаж велосипедов на следующий год. В частности, компании интересно знать, связаны ли продажи различных моделей велосипедов, то есть можно ли использовать данные по продажам одной модели велосипедов для прогнозирования продаж другой модели. Применив алгоритм временных рядов (Майкрософт) в отношении данных, накопленных за последние три года, компания может получить модель интеллектуального анализа данных, прогнозирующую продажи велосипедов в будущем. Кроме того, чтобы выявить связь между тенденциями продаж отдельных моделей велосипедов, компания может выполнять перекрестные прогнозы.

Принцип работы алгоритма

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

Более подробное объяснение работы алгоритма временных рядов (Майкрософт) см. в статье, посвященной модели дерева с авторегрессией для анализа временных рядов.

Входные данные для модели временных рядов (Майкрософт) можно задавать двумя способами. Чтобы понять первый метод, изучите таблицу входных вариантов, представленную ниже:

TimeID Product Sales Volume

1/2001

A

1000

600

2/2001

A

1100

500

1/2001

B

500

900

2/2001

B

300

890

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

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

TimeID A_Sales A_Volume B_Sales B_Volume

1/2001

1000

600

500

900

2/2001

1100

500

300

890

В данной таблице каждый из столбцов Sales и Volume делится на два столбца, перед каждым из которых указывается наименование продукта. В результате в столбце TimeID для каждого дня существует только одна запись. В модели будет содержаться четыре прогнозируемых столбца: A_Sales, A_Volume, B_Sales и B_Volume.

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

Использование алгоритма

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

В следующей таблице перечислены конкретные типы содержимого входных столбцов, типы содержимого прогнозируемых столбцов и флаги моделирования, поддерживаемые алгоритмом временных рядов (Майкрософт).

Типы содержимого входных столбцов

Continuous, Key, Key Time и Table

Типы содержимого прогнозируемых столбцов

Continuous и Table

Флаги моделирования

NOT NULL и REGRESSOR

Все алгоритмы Майкрософт поддерживают общий набор функций. Однако алгоритм временных рядов (Майкрософт) поддерживает дополнительные функции, перечисленные в следующей таблице.

Функция Lag

PredictTimeSeries

PredictNodeId

PredictVariance

PredictStdev

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

Алгоритм временных рядов (Майкрософт) не поддерживает использование языка разметки прогнозирующей модели (PMML) для создания моделей интеллектуального анализа.

Алгоритм временных рядов (Майкрософт) поддерживает несколько параметров, которые влияют на производительность и точность итоговой модели интеллектуального анализа данных. В следующей таблице содержатся описания всех параметров.

Параметр Описание

MINIMUM_SUPPORT

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

Значение по умолчанию равно 10.

COMPLEXITY_PENALTY

Управляет ростом дерева решений. При уменьшении этого значения вероятность разбиения увеличивается. При увеличении этого значения вероятность разбиения уменьшается.

Значение по умолчанию равно 0,1.

PERIODICITY_HINT

Предоставляет подсказку для алгоритма, касающуюся периодичности данных. Например, если продажи варьируются в зависимости от года, а в ряду в качестве единицы измерения используются месяцы, то периодичность равна 12. Данный параметр имеет формат {n [, n]}, где n — любое положительное число. Число n внутри квадратных скобок необязательно и может повторяться сколько угодно часто.

Значение по умолчанию равно {1}.

MISSING_VALUE_SUBSTITUTION

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

AUTO_DETECT_PERIODICITY

Указывает числовое значение от 0 до 1, используемое для обнаружения периодичности. Установка этого значения, близкого к 1, повышает вероятность обнаружения многих шаблонов, близких к периодическим, и автоматической генерации подсказок периодичности. Использование большого количества подсказок периодичности, скорее всего, значительно увеличит время обучения модели, а также ее точность. Если значение близко к 0, то периодичность обнаруживается только для строго периодических данных.

Значение по умолчанию равно 0,6.

HISTORIC_MODEL_COUNT

Указывает количество исторических моделей, которые будут построены.

Значение по умолчанию равно 1.

HISTORICAL_MODEL_GAP

Указывает временной промежуток между двумя последовательными моделями с предысторией. Например, установка этого значения равным g приведет к тому, что модели с предысторией будут строиться для данных, усеченных временными срезами в интервалах g, 2*g, 3*g и так далее.

Значение по умолчанию равно 10.

ms174923.note(ru-ru,SQL.90).gifПримечание.
На подсказку периодичности серьезное влияние оказывает качество модели. Если заданная подсказка отличается от реальной периодичности, то это отрицательно скажется на результатах.

Журнал изменений

Версия Журнал

15 сентября 2007 г.

Изменения
  • Обновлены описания диаграммы временных рядов.

См. также

Основные понятия

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

Другие ресурсы

CREATE MINING MODEL (расширения интеллектуального анализа данных)

Справка и поддержка

Получение помощи по SQL Server 2005