Dela via


series_decompose_forecast()

Prognos baserad på seriens nedbrytning.

Tar ett uttryck som innehåller en serie (dynamisk numerisk matris) som indata och förutsäger värdena för de sista avslutande punkterna. Mer information finns i series_decompose.

Syntax

series_decompose_forecast(Serien,Poäng, [ Säsongsvariationer,Trend,Seasonality_threshold ])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
Serie dynamic ✔️ En matris med numeriska värden, vanligtvis resultatet av make-series eller make_list operatorer.
Poäng int ✔️ Anger antalet punkter i slutet av serien som ska förutsägas eller prognostiseras. Dessa punkter undantas från inlärningsprocessen, eller regressionsprocessen.
Säsongsberoende int Styr säsongsanalysen. Möjliga värden är:

- -1: Identifiera säsongsvariationer automatiskt med series_periods_detect. Detta är standardvärdet.
- Period: Ett positivt heltal som anger den förväntade perioden i antal lagerplatser. Om serien till exempel finns i 1 - h lagerplatser är en veckoperiod 168 lagerplatser.
- 0: Ingen säsongsvariation, så hoppa över att extrahera den här komponenten.
Trend string Styr trendanalysen. Möjliga värden är:

- avg: Definiera trendkomponenten som average(x). Det här är standardinställningen.
- linefit: Extrahera trendkomponenten med linjär regression.
- none: Ingen trend, så hoppa över att extrahera den här komponenten.
Seasonality_threshold real Tröskelvärdet för säsongspoäng när Säsongsvariation är inställt på automatiskdetektering. Tröskelvärdet för standardpoäng är 0,6.

Mer information finns i series_periods_detect.

Returer

En dynamisk matris med den prognostiserade serien.

Anteckning

  • Den dynamiska matrisen för den ursprungliga indataserien bör innehålla ett antal punkter som ska prognostiseras. Prognosen görs vanligtvis med hjälp av make-series och anger sluttiden i intervallet som inkluderar tidsramen som ska prognostiseras.
  • Säsongsvariationer eller trender ska aktiveras, annars är funktionen redundant och returnerar bara en serie fylld med nolla.

Exempel

I följande exempel genererar vi en serie med fyra veckor per timme, med säsongsvariationer varje vecka och en liten uppåtgående trend. Sedan använder make-series vi och lägger till ytterligare en tom vecka i serien. series_decompose_forecast anropas med en vecka (24*7 poäng) och identifierar automatiskt säsongsvariationen och trenden och genererar en prognos för hela femveckorsperioden.

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 

Prognos för seriedecompose.