Delen via


series_decompose_forecast()

Prognose op basis van reeksontleding.

Neemt een expressie met een reeks (dynamische numerieke matrix) als invoer en voorspelt de waarden van de laatste volgpunten. Zie series_decompose voor meer informatie.

Syntax

series_decompose_forecast(Serie,Punten, [ Seizoensgebondenheid,Trend,Seasonality_threshold ])

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
Reeks dynamic ✔️ Een matrix van numerieke waarden, meestal de resulterende uitvoer van operatoren voor make-series of make_list .
Punten int ✔️ Hiermee geeft u het aantal punten aan het einde van de reeks te voorspellen, of voorspellen. Deze punten worden uitgesloten van het leerproces, of regressieproces.
Seizoensgebonden int Hiermee bepaalt u de seizoensgebonden analyse. De mogelijke waarden zijn:

- -1: Seizoensgebondenheid automatisch detecteren met behulp van series_periods_detect. Dit is de standaardwaarde.
- Periode: een positief geheel getal dat de verwachte periode aangeeft in het aantal bins. Als de reeks zich bijvoorbeeld in 1 - h opslaglocaties bevindt, is een wekelijkse periode 168 bins.
- 0: Geen seizoensgebondenheid, dus sla het extraheren van dit onderdeel over.
Trend string Hiermee bepaalt u de trendanalyse. De mogelijke waarden zijn:

- avg: Definieer trendonderdeel als average(x). Dit is de standaardinstelling.
- linefit: Trendcomponent extraheren met behulp van lineaire regressie.
- none: Geen trend, dus sla het uitpakken van dit onderdeel over.
Seasonality_threshold real De drempelwaarde voor de seizoensgebondenheidsscore wanneer seizoensgebondenheid is ingesteld op automatisch detecteren. De standaardscoredrempel is 0,6.

Zie series_periods_detect voor meer informatie.

Retouren

Een dynamische matrix met de voorspelde reeks.

Notitie

  • De dynamische matrix van de oorspronkelijke invoerreeks moet een aantal puntensleuven bevatten die moeten worden voorspeld. De prognose wordt meestal uitgevoerd met behulp van make-series en het opgeven van de eindtijd in het bereik dat het tijdsbestek voor de prognose bevat.
  • Seizoensgebondenheid of trend moet zijn ingeschakeld, anders is de functie redundant en retourneert alleen een reeks met nullen.

Voorbeeld

In het volgende voorbeeld genereren we een reeks van vier weken per uur, met wekelijkse seizoensgebondenheid en een kleine opwaartse trend. Vervolgens gebruiken make-series we en voegen we nog een lege week toe aan de reeks. series_decompose_forecast wordt aangeroepen met een week (24*7 punten) en detecteert automatisch de seizoensgebondenheid en trend en genereert een prognose van de hele periode van vijf weken.

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 

Prognose voor reeksvernieting.