series_decompose_forecast()

Prognoza oparta na dekompozycji serii.

Przyjmuje wyrażenie zawierające serię (dynamiczną tablicę liczbową) jako dane wejściowe i przewiduje wartości ostatnich punktów końcowych. Aby uzyskać więcej informacji, zobacz series_decompose.

Składnia

series_decompose_forecast(Serii,Punktów, [ Sezonowość,Trend,Seasonality_threshold ])

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
Seria dynamic ✔️ Tablica wartości liczbowych, zazwyczaj wynikowych danych wyjściowych operatorów make-series lub make_list .
Punktów int ✔️ Określa liczbę punktów na końcu serii do przewidywania lub prognozowania. Te punkty są wykluczone z procesu uczenia się lub regresji.
Sezonowości int Kontroluje analizę sezonową. Możliwe wartości są następujące:

- -1: Automatyczna sezonowość przy użyciu series_periods_detect. Jest to wartość domyślna.
- Okres: dodatnia liczba całkowita określająca oczekiwany okres w liczbie pojemników. Jeśli na przykład seria znajduje się w 1 - h pojemnikach, cotygodniowy okres wynosi 168 pojemników.
- 0: brak sezonowości, więc pomiń wyodrębnianie tego składnika.
Trend string Steruje analizą trendów. Możliwe wartości są następujące:

- avg: Zdefiniuj składnik trendu jako average(x). Jest to opcja domyślna.
- linefit: wyodrębnianie składnika trendu przy użyciu regresji liniowej.
- none: Brak trendu, więc pomiń wyodrębnianie tego składnika.
Seasonality_threshold real Próg oceny sezonowości, gdy sezonowość jest ustawiona na autowykrywanie. Domyślny próg oceny to 0,6.

Aby uzyskać więcej informacji, zobacz series_periods_detect.

Zwraca

Tablica dynamiczna z prognozowaną serią.

Uwaga

  • Tablica dynamiczna oryginalnej serii wejściowej powinna zawierać kilka punktów , które mają być prognozowane. Prognoza jest zwykle wykonywana przy użyciu serii make i określania czasu zakończenia w zakresie obejmującym przedział czasu do prognozowania.
  • Należy włączyć sezonowość lub trend, w przeciwnym razie funkcja jest nadmiarowa i zwraca serię wypełnioną zerami.

Przykład

W poniższym przykładzie generujemy serię czterech tygodni w ziarnie godzinowym, z cotygodniową sezonowością i małym trendem w górę. Następnie użyjemy make-series i dodamy kolejny pusty tydzień do serii. series_decompose_forecast jest wywoływana z tygodniem (24*7 punktów) i automatycznie wykrywa sezonowość i trend oraz generuje prognozę całego pięciotygodniowego okresu.

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 

Prognoza rozkładania serii.