series_decompose_forecast()
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
系列分解に基づいて予測します。
系列 (動的な数値配列) を含む式を入力として受け取り、最後の末尾の点の値を予測します。 詳細については、「series_decompose」を参照してください。
構文
series_decompose_forecast(
Series,
Points,
[ Seasonality,
Trend,
Seasonality_threshold ])
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
系列 | dynamic |
✔️ | 数値の配列。通常は、 make-series または make_list 演算子の結果の出力です。 |
Points | int |
✔️ | 予測する系列の末尾にあるポイント数 (予測) を指定します。 これらのポイントは、学習プロセス (回帰) から除外されます。 |
季節 | int |
季節分析を制御します。 指定できる値は、 - -1 : series_periods_detectを使用して季節性を自動検出します。 これが既定値です。- 期間: ビンの数で予想される期間を指定する正の整数。たとえば、系列が 1 - h ビンにある場合、週単位の期間は 168 ビンです。- 0 : 季節性がないため、このコンポーネントの抽出はスキップしてください。 |
|
傾向 | string |
傾向分析を制御します。 指定できる値は、 - avg : 傾向コンポーネントを average(x) として定義します。 これが既定です。- linefit :線形回帰を使用して傾向コンポーネントを抽出します。- none : 傾向がないため、このコンポーネントの抽出はスキップしてください。 |
|
Seasonality_threshold | real |
Seasonalityが自動検出に設定されている場合の季節性スコアのしきい値。 既定のスコアしきい値は 0.6 です。 詳細については、「series_periods_detect」を参照してください。 |
返品
予測系列を含む動的配列。
Note
- 元の入力系列の動的配列には、予測するポイント スロットの数を含める必要があります。 予測を行うには、通常、make-series を使用して、予測する期間を含む範囲の終了時間を指定します。
- 季節性または傾向のいずれかを有効にする必要があります。それ以外の場合、関数は冗長であり、ゼロで塗りつぶされた系列を返します。
例
次の例では、1 時間の粒度で、週単位の季節性と小さな上昇傾向を持つ 4 週間の系列を生成します。 次に、make-series
を使用して系列に空の週を追加します。 series_decompose_forecast
を 1 週間 (24 * 7 ポイント) で呼び出すと、季節性と傾向が自動的に検出され、5 週間の期間全体の予測が生成されます。
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