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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla