共用方式為


series_decompose_forecast()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

根據數列分解進行預測。

接受包含數列的表示式(動態數值數位)作為輸入,並預測最後一個尾端點的值。 如需詳細資訊,請參閱 series_decompose

語法

series_decompose_forecast(數列,, [ 季節性,趨勢,Seasonality_threshold ])

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
系列 dynamic ✔️ 數值陣列,通常是make-seriesmake_list運算子所產生的輸出。
分數 int ✔️ 指定要預測或預測數列結尾的點數。 這些點會從學習或回歸程式中排除。
季節性 int 控制季節性分析。 可能的值是:

- -1:使用 series_periods_detect 自動偵測季節性。 這是預設值。
- 期間:正整數,指定間隔數目的預期期間。例如,如果數列在量化中 1 - h ,則每周期間為168個間隔。
- 0:沒有季節性,因此請略過擷取此元件。
趨勢 string 控制趨勢分析。 可能的值是:

- avg:將趨勢元件定義為 average(x)。 這是預設值。
- linefit:使用線性回歸擷取趨勢元件。
- none:沒有趨勢,因此請略過擷取此元件。
Seasonality_threshold real 當季節性設定為自動偵測時 ,季節性 分數的臨界值。 默認分數閾值為 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 

數列分解預測。