Udostępnij za pośrednictwem


series_dbl_exp_smoothing_fl()

Stosuje podwójny filtr wygładzania wykładniczego w serii.

Funkcja series_dbl_exp_smoothing_fl() jest funkcją zdefiniowaną przez użytkownika (UDF), która przyjmuje wyrażenie zawierające dynamiczną tablicę liczbową jako dane wejściowe i stosuje filtr wygładzania podwójnej wykładniczej . Gdy w serii występuje trend, ta funkcja jest lepsza od funkcji series_exp_smoothing_fl(), która implementuje podstawowy filtr wygładzania wykładniczego .

Składnia

series_dbl_exp_smoothing_fl(y_series [alfa [,,beta ]])

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

Parametry

Nazwa Typ Wymagane Opis
y_series dynamic ✔️ Tablica wartości liczbowych.
Alfa real Wartość w zakresie [0–1], która określa wagę ostatniego punktu w porównaniu z wagą poprzednich punktów, czyli 1 - alpha. Wartość domyślna to 0,5.
wersja beta real Wartość w zakresie [0–1], która określa wagę ostatniego nachylenia a wagę poprzednich nachylenia, czyli 1 - beta. Wartość domyślna to 0,5.

Definicja funkcji

Funkcję można zdefiniować, osadzając kod jako funkcję zdefiniowaną przez zapytanie lub tworząc ją jako funkcję przechowywaną w bazie danych w następujący sposób:

Zdefiniuj funkcję przy użyciu następującej instrukcji let. Nie są wymagane żadne uprawnienia.

Ważne

Instrukcja let nie może być uruchamiana samodzielnie. Należy po nim wykonać instrukcję wyrażenia tabelarycznego. Aby uruchomić działający przykład programu series_dbl_exp_smoothing_fl(), zobacz Przykład.

let series_dbl_exp_smoothing_fl = (y_series:dynamic, alpha:double=0.5, beta:double=0.5)
{
    series_iir(y_series, pack_array(alpha, alpha*(beta-1)), pack_array(1, alpha*(1+beta)-2, 1-alpha))
};
// Write your query to use the function here.

Przykład

Aby użyć funkcji zdefiniowanej przez zapytanie, wywołaj ją po osadzonej definicji funkcji.

let series_dbl_exp_smoothing_fl = (y_series:dynamic, alpha:double=0.5, beta:double=0.5)
{
    series_iir(y_series, pack_array(alpha, alpha*(beta-1)), pack_array(1, alpha*(1+beta)-2, 1-alpha))
};
range x from 1 to 50 step 1
| extend y = x + rand()*10
| summarize x = make_list(x), y = make_list(y)
| extend dbl_exp_smooth_y = series_dbl_exp_smoothing_fl(y, 0.2, 0.4) 
| render linechart

Dane wyjściowe

Wykres przedstawiający podwójne wygładzenie wykładnicze sztucznej serii.