series_dbl_exp_smoothing_fl()
Applica un doppio filtro di smussamento esponenziale su una serie.
La funzione series_dbl_exp_smoothing_fl()
è una funzione definita dall'utente che accetta un'espressione contenente una matrice numerica dinamica come input e applica un doppio filtro di smoothing esponenziale . Quando è presente una tendenza nella serie, questa funzione è superiore alla funzione series_exp_smoothing_fl(), che implementa un filtro di smoothing esponenziale di base .
Sintassi
series_dbl_exp_smoothing_fl(
y_series [alfa [,
,
beta ]])
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
y_series | dynamic |
✔️ | Matrice di valori numerici. |
Alfa | real |
Valore nell'intervallo [0-1] che specifica il peso dell'ultimo punto rispetto al peso dei punti precedenti, ovvero 1 - alpha . Il valore predefinito è 0.5. |
|
beta | real |
Valore nell'intervallo [0-1] che specifica il peso dell'ultima pendenza rispetto al peso dei pendii precedenti, ovvero 1 - beta . Il valore predefinito è 0.5. |
Definizione di funzione
È possibile definire la funzione incorporando il codice come funzione definita da query o creandola come funzione archiviata nel database, come indicato di seguito:
Definire la funzione usando l'istruzione let seguente. Non sono necessarie autorizzazioni.
Importante
Un'istruzione let non può essere eseguita autonomamente. Deve essere seguita da un'istruzione di espressione tabulare. Per eseguire un esempio funzionante di series_dbl_exp_smoothing_fl()
, vedere Esempio.
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.
Esempio
Per usare una funzione definita da query, richiamarla dopo la definizione della funzione incorporata.
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
Output
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per