Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Алгоритм временных рядов Майкрософт предоставляет алгоритмы регрессии, оптимизированные для прогнозирования непрерывных значений, таких как продажи продуктов с течением времени. В то время как другие алгоритмы Майкрософт, такие как решающие деревья, требуют дополнительных столбцов новых сведений в качестве входных данных для прогнозирования тенденции, модель временных рядов этого не требует. Модель временных рядов может прогнозировать тенденции только на основе исходного набора данных, используемого для создания модели. Вы также можете добавить новые данные в модель при создании прогноза и автоматически включить новые данные в анализ трендов.
На следующей схеме показана типичная модель прогнозирования продаж продукта в четырех разных регионах продаж с течением времени. Модель, показанная на схеме, показывает продажи для каждого региона, отображаемого как красные, желтые, фиолетовые и синие линии. Строка для каждого региона состоит из двух частей:
Исторические сведения отображаются слева от вертикальной линии и представляют данные, которые алгоритм использует для создания модели.
Прогнозируемая информация отображается справа от вертикальной линии и представляет прогноз, который делает модель.
Сочетание исходных данных и прогнозируемых данных называется рядом.
Важной особенностью алгоритма временных рядов Майкрософт является то, что он может выполнять перекрестное прогнозирование. Если вы обучаете алгоритм двумя отдельными, но связанными, рядами, можно использовать полученную модель для прогнозирования результата одной серии на основе поведения другого ряда. Например, наблюдаемые продажи одного продукта могут влиять на прогнозируемые продажи другого продукта. Кросс-прогнозирование также полезно для создания общей модели, которая может применяться к нескольким рядам. Например, прогнозы для определенного региона неустойчивы, так как серия не имеет хороших данных качества. Вы можете обучить общую модель в среднем из четырех регионов, а затем применить модель к отдельной серии, чтобы создать более стабильные прогнозы для каждого региона.
Пример
Команда управления Adventure Works Cycles хочет прогнозировать ежемесячные продажи велосипедов в ближайший год. Компания особенно заинтересована в том, можно ли использовать продажу одной велосипедной модели для прогнозирования продажи другой модели. Используя алгоритм временных рядов Майкрософт для исторических данных за последние три года, компания может создать модель интеллектуального анализа данных, которая прогнозирует будущие продажи велосипедов. Кроме того, компания может выполнять кросс-прогнозы, чтобы узнать, связаны ли тенденции продаж отдельных моделей велосипедов.
Каждый квартал компания планирует обновить модель с последними данными о продажах и обновить прогнозы для моделирования последних тенденций. Для исправления ситуации с магазинами, которые не точно и непоследовательно обновляют данные о продажах, они будут создавать общую модель предсказания и использовать ее для предсказаний во всех регионах.
Принцип работы алгоритма
В SQL Server 2005 алгоритм временных рядов Майкрософт использовал один алгоритм ARTXP. Алгоритм ARTXP оптимизирован для краткосрочных прогнозов и, следовательно, предсказал следующее вероятное значение в серии. Начиная с SQL Server 2008 алгоритм временных рядов Майкрософт использует алгоритм ARTXP и второй алгоритм ARIMA. Алгоритм ARIMA оптимизирован для долгосрочного прогнозирования. Подробное описание реализации алгоритмов ARTXP и ARIMA см. в техническом справочнике по алгоритмам временных рядов Майкрософт.
По умолчанию алгоритм временных рядов Майкрософт использует сочетание алгоритмов при анализе шаблонов и прогнозировании. Алгоритм обучает две отдельные модели на одних и том же данных: одна модель использует алгоритм ARTXP, а одна модель использует алгоритм ARIMA. Затем алгоритм смешает результаты двух моделей, чтобы обеспечить оптимальное прогнозирование по переменному количеству срезов времени. Поскольку ARTXP лучше всего подходит для краткосрочных прогнозов, в начале серии прогнозов ему придают большее значение. Тем не менее, по мере того как срезы времени, которые вы прогнозируете, двигаются дальше в будущее, ARIMA взвешен более сильно.
Вы также можете управлять сочетанием алгоритмов, чтобы использовать краткосрочные или долгосрочные прогнозы в временных рядах. Начиная с SQL Server 2008 Standard, можно указать, что алгоритм временных рядов Майкрософт использует один из следующих параметров:
Используйте только ARTXP для краткосрочного прогнозирования.
Используйте только ARIMA для долгосрочного прогнозирования.
Используйте сочетание по умолчанию двух алгоритмов.
Начиная с SQL Server 2008 Enterprise, можно настроить, как алгоритм временных рядов Майкрософт объединяет модели для прогнозирования. При использовании смешанной модели алгоритм временных рядов Майкрософт объединяет два алгоритма следующим образом:
Только ARTXP всегда используется для создания первой пары прогнозов.
После первой пары прогнозов используется сочетание ARIMA и ARTXP.
По мере увеличения числа шагов прогнозирования прогнозы используются более сильно на ARIMA до тех пор, пока ARTXP больше не будет использоваться.
Вы управляете точкой смешивания, скоростью уменьшения веса ARTXP и увеличением веса ARIMA путем задания параметра PREDICTION_SMOOTHING.
Оба алгоритма могут обнаруживать сезонность данных на нескольких уровнях. Например, данные могут содержать ежемесячные циклы, вложенные в ежегодные циклы. Чтобы обнаружить эти сезонные циклы, можно указать указание периодичности или указать, что алгоритм должен автоматически обнаруживать периодичность.
Помимо периодичности, существуют несколько других параметров, которые управляют поведением алгоритма временных рядов Майкрософт при обнаружении периодичности, создании прогнозов или анализе случаев. Сведения о настройке параметров алгоритма см. в техническом справочнике по алгоритму временных рядов Майкрософт.
Данные, необходимые для моделей временных рядов
При подготовке данных для обучения любой модели интеллектуального анализа данных убедитесь, что вы понимаете требования для конкретной модели и способ использования данных.
Каждая модель прогнозирования должна содержать ряд случаев, который является колонкой, указывающей временные отрезки или другие ряды, по которым происходят изменения. Например, данные на предыдущей схеме показывают ряд для исторических и прогнозируемых продаж велосипедов в течение нескольких месяцев. Для этой модели каждый регион представляет собой ряд, а столбец даты содержит временные ряды, которые также являются рядом вариантов. В других моделях серия случаев может быть текстовым полем или некоторым идентификатором, например, идентификатором клиента или транзакции. Однако модель временных рядов всегда должна использовать дату, время или другое уникальное числовое значение для его ряда вариантов.
Требования к модели временных рядов приведены следующим образом:
Один ключевой столбец времени Каждая модель должна содержать один либо числовой, либо столбец даты, используемый в качестве временнóй последовательности, который определяет срезы времени, которые будет использовать модель. Тип данных для столбца времени ключа может быть типом данных datetime или числовым типом данных. Однако столбец должен содержать непрерывные значения, а значения должны быть уникальными для каждой серии. Ряды регистров для модели временных рядов нельзя хранить в двух столбцах, таких как столбец "Год" и "Месяц".
Прогнозируемый столбец Каждая модель должна содержать по крайней мере один прогнозируемый столбец, вокруг которого алгоритм будет создавать модель временных рядов. Тип данных прогнозируемого столбца должен иметь непрерывные значения. Например, можно предсказать, как числовые атрибуты, такие как доход, продажи или температура, с течением времени изменяются. Однако нельзя использовать столбец, содержащий отдельные значения, например, статус покупки или уровень образования, как предсказуемый столбец.
Необязательный столбец ключа серии Каждая модель может иметь дополнительный ключевой столбец, содержащий уникальные значения, определяющие ряд. Необязательный столбец ключа серии должен содержать уникальные значения. Например, одна модель может содержать продажи для многих моделей продуктов, если для каждого среза существует только одна запись для каждого имени продукта.
Входные данные для модели временных рядов Майкрософт можно определить различными способами. Однако, поскольку формат входных данных влияет на определение модели данных, необходимо учитывать бизнес-потребности и подготовить данные надлежащим образом. В следующих двух примерах показано, как входные данные влияют на модель. В обоих примерах завершенная модель интеллектуального анализа данных содержит шаблоны для четырех отдельных рядов:
Продажи для продукта A
Продажи для продукта B
Объем для продукта "A"
Том для продукта B
В обоих примерах можно прогнозировать новые будущие продажи и объем для каждого продукта. Вы не можете прогнозировать новые значения для продукта или времени.
Пример 1. Набор данных временных рядов с рядами, представленными в виде значений столбцов
В этом примере используется следующая таблица входных вариантов:
| TimeID | Продукт | Продажи | Объем |
|---|---|---|---|
| 1/2001 | А | 1000 | 600 |
| 2/2001 | А | 1 100 | 500 |
| 1/2001 | Б | 500 | 900 |
| 2/2001 | Б | 300 | 890 |
Столбец TimeID в таблице содержит идентификатор времени и содержит две записи для каждого дня. Столбец TimeID становится рядом данных. Поэтому этот столбец будет назначен в качестве ключевого столбца для модели временных рядов.
Столбец Product определяет продукт в базе данных. Этот столбец содержит ряд продуктов. Таким образом, этот столбец следует назначить вторым ключом для модели временных рядов.
В столбце "Продажи" описывается валовая прибыль указанного продукта в течение одного дня, а столбец "Объем" описывает количество указанного продукта, остающегося в складе. Эти два столбца содержат данные, используемые для обучения модели. Продажи и объёмы могут быть предсказуемыми атрибутами для каждой серии в столбце Product.
Пример 2. Набор данных временных рядов с каждым рядом в отдельном столбце
Хотя в этом примере в основном используются те же входные данные, что и первый пример, входные данные структурированы по-разному, как показано в следующей таблице:
| TimeID | A_Sales | A_Volume | B_Sales | B_Volume |
|---|---|---|---|---|
| 1/2001 | 1000 | 600 | 500 | 900 |
| 2/2001 | 1 100 | 500 | 300 | 890 |
В этой таблице столбец TimeID по-прежнему содержит ряд вариантов для модели временных рядов, который назначается в качестве ключевого столбца времени. Однако предыдущие столбцы Sales и Volume теперь разделены на два столбца, и каждое из этих столбцов предшествует имени продукта. В результате в столбце TimeID имеется лишь одна запись на каждый день. При этом создается модель временных рядов, содержащая четыре прогнозируемых столбца: A_Sales, A_Volume, B_Sales и B_Volume.
Кроме того, поскольку вы разделили продукты на разные столбцы, вам не нужно указывать дополнительный столбец ключа серии. Все столбцы в модели — это либо столбец временного ряда, либо прогнозируемый столбец.
Просмотр модели временных рядов
После обучения модели результаты хранятся в виде набора шаблонов, которые можно изучить или использовать для прогнозирования.
Для изучения модели можно использовать средство просмотра временных рядов. Средство просмотра включает диаграмму, отображающую будущие прогнозы, и представление дерева периодических структур в данных.
Если вы хотите узнать больше о том, как вычисляются прогнозы, можно просмотреть модель в средстве просмотра дерева универсального содержимого Майкрософт. Содержимое, хранящееся для модели, включает такие сведения, как периодические структуры, обнаруженные алгоритмами ARIMA и ARTXP, уравнение, используемое для смешивания алгоритмов и других статистических данных.
Создание прогнозов временных рядов
По умолчанию при просмотре модели временных рядов служба Analysis Services отображает пять прогнозов для серии. Однако можно создавать запросы для возврата переменного числа прогнозов, а также можно добавлять дополнительные столбцы в прогнозы для возврата описательной статистики. Дополнительные сведения о создании запросов к модели временных рядов см. в примерах запросов модели временных рядов. Примеры использования расширений интеллектуального анализа данных (DMX) для прогнозирования временных рядов см. в разделе PredictTimeSeries (DMX).
При использовании алгоритма временных рядов Майкрософт для прогнозирования следует учитывать следующие дополнительные ограничения и требования:
Кросс-прогнозирование доступно только при использовании смешанной модели или модели на основе алгоритма ARTXP. Если вы используете модель, основанную только на алгоритме ARIMA, кросс-прогнозирование невозможно.
Модель временных рядов может делать прогнозы, которые могут отличаться, иногда значительно, в зависимости от 64-разрядной операционной системы, используемой сервером. Эти различия возникают из-за того, как система на основе Itanium представляет и обрабатывает числа для арифметики с плавающей запятой, которая отличается от способа выполнения этих вычислений системой на основе x64. Так как результаты прогнозирования могут быть характерными для операционной системы, рекомендуется оценивать модели в той же операционной системе, которую вы будете использовать в рабочей среде.
Замечания
Не поддерживает использование языка разметки прогнозных моделей (PMML) для создания моделей аналитики данных.
Поддерживает использование OLAP-моделей для интеллектуального анализа данных.
Не поддерживает создание измерений дата-майнинга.
Поддерживает детализацию.
См. также
Алгоритмы интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)
Просмотр модели с помощью средства просмотра временных рядов Майкрософт
Технический справочник по алгоритму временных рядов Майкрософт
Примеры запросов модели временных рядов
Содержимое модели анализа данных для моделей временных рядов (службы Analysis Services — интеллектуальный анализ данных)