series_decompose_forecast()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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(
Punkty,
serii ,
[ Trend,
sezonowości,
Seasonality_threshold ])
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
Seria | dynamic |
✔️ | Tablica wartości liczbowych, zazwyczaj wynikowe dane wyjściowe operatorów make-series lub make_list . |
Punktów | int |
✔️ | Określa liczbę punktów na końcu serii do przewidywania lub prognozy. Te punkty są wykluczone z procesu uczenia się lub regresji. |
Sezonowości | int |
Steruje analizą sezonową. Możliwe wartości to: - -1 : Autowykrywanie sezonowości 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 to 168 pojemników.- 0 : brak sezonowości, więc pomiń wyodrębnianie tego składnika. |
|
Tendencja | string |
Steruje analizą trendu. Możliwe wartości to: - 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 wynosi 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 miejsc do prognozowania. 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 po prostu zwraca serię wypełnioną zerami.
Przykład
W poniższym przykładzie wygenerujemy serię czterech tygodni w ziarnie godzinowym z cotygodniowym sezonowością i niewielkim trendem wzrostowym. 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