series_decompose_forecast()
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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