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


series_decompose_forecast()

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Прогноз на основе декомпозиции ряда.

Принимает выражение, содержащее ряд (динамический числовый массив) в качестве входных данных, и прогнозирует значения последних конечных точек. Дополнительные сведения см. в series_decompose.

Синтаксис

series_decompose_forecast(Точки, серии, [ тенденция , сезонности, Seasonality_threshold ])

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
Серия dynamic ✔️ Массив числовых значений, как правило, результирующий результат операторов make-series или make_list .
Точки int ✔️ Указывает количество точек в конце ряда для прогнозирования или прогнозирования. Эти точки исключаются из процесса обучения или регрессии.
Сезонность int Управляет сезонным анализом. Возможны следующие значения:

- -1: автоматическое определение сезонности с помощью series_periods_detect. Это значение по умолчанию.
— Период: положительное целое число, указывающее ожидаемый период в количестве ячеек. Например, если ряд находится в 1 - h ячейках, еженедельный период составляет 168 ячеек.
- 0: нет сезонности, поэтому пропустите извлечение этого компонента.
Тенденция string Управляет анализом тренда. Возможны следующие значения:

- avg: определите компонент тренда как average(x). Это значение по умолчанию.
- linefit: извлечение компонента тренда с помощью линейной регрессии.
- none: нет тенденции, поэтому пропустите извлечение этого компонента.
Seasonality_threshold real Пороговое значение для оценки сезонности, если для параметра "Сезонность " задано значение autodetect. Порог оценки по умолчанию — 0,6.

Дополнительные сведения см. в series_periods_detect.

Возвраты

Динамический массив с прогнозируемым рядом.

Примечание.

  • Динамический массив исходного входного ряда должен содержать ряд слотов точек для прогнозирования. Прогноз обычно выполняется с помощью make-series и указания времени окончания диапазона, включающего интервал времени для прогнозирования.
  • Следует включить сезонность или тенденцию, в противном случае функция является избыточной и возвращает ряд, заполненный нулями.

Пример

В следующем примере мы создадим серию из четырех недель в часовом зерне с еженедельной сезонностью и небольшой тенденцией вверх. Затем мы используем и добавляем make-series еще одну пустую неделю в серию. series_decompose_forecast вызывается с неделю (24*7 пункта), и он автоматически обнаруживает сезонность и тенденцию, а также создает прогноз всего пятинедельного периода.

let ts=range t from 1 to 24*7*4 step 1 // generate 4 weeks of hourly data
| extend Timestamp = datetime(2018-03-01 05:00) + 1h * t 
| extend y = 2*rand() + iff((t/24)%7>=5, 5.0, 15.0) - (((t%24)/10)*((t%24)/10)) + t/72.0 // generate a series with weekly seasonality and ongoing trend
| extend y=iff(t==150 or t==200 or t==780, y-8.0, y) // add some dip outliers
| extend y=iff(t==300 or t==400 or t==600, y+8.0, y) // add some spike outliers
| make-series y=max(y) on Timestamp from datetime(2018-03-01 05:00) to datetime(2018-03-01 05:00)+24*7*5h step 1h; // create a time series of 5 weeks (last week is empty)
ts 
| extend y_forcasted = series_decompose_forecast(y, 24*7)  // forecast a week forward
| render timechart 

Прогноз разложения рядов.