Sdílet prostřednictvím


series_dbl_exp_smoothing_fl()

Použije u řady dvojitý exponenciální vyhlazení filtru.

Funkce series_dbl_exp_smoothing_fl() je uživatelem definovaná funkce (UDF), která jako vstup přebírá výraz obsahující dynamickou číselnou matici a používá dvojitý exponenciální vyhlazovací filtr. Pokud je v řadě trend, je tato funkce nadřazená funkci series_exp_smoothing_fl(), která implementuje základní exponenciální vyhlazování filtru.

Syntaxe

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

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
y_series dynamic ✔️ Matice číselných hodnot.
alfa real Hodnota v rozsahu [0–1], která určuje váhu posledního bodu vs. hmotnost předchozích bodů, což je 1 - alpha. Výchozí hodnota je 0,5.
beta real Hodnota v rozsahu [0–1], která určuje hmotnost posledního sklonu vs. hmotnost předchozích sklonů, což je 1 - beta. Výchozí hodnota je 0,5.

Definice funkce

Funkci můžete definovat vložením jejího kódu jako funkce definovanou dotazem nebo vytvořením jako uložené funkce v databázi následujícím způsobem:

Definujte funkci pomocí následujícího příkazu let. Nejsou vyžadována žádná oprávnění.

Důležité

Příkaz let nemůže běžet samostatně. Musí následovat příkaz tabulkového výrazu. Pokud chcete spustit funkční příklad, podívejte se na příkladseries_dbl_exp_smoothing_fl().

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.

Příklad

Pokud chcete použít funkci definovanou dotazem, vyvoláte ji po definici vložené funkce.

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

Výstup

Graf znázorňující dvojité exponenciální vyhlazování umělé řady