series_dbl_exp_smoothing_fl()

系列に二重指数平滑フィルターを適用します。

関数series_dbl_exp_smoothing_fl()は、動的数値配列を含む式を入力として受け取り、二重指数平滑化フィルターを適用するユーザー定義関数 (UDF) です。 系列に傾向がある場合、この関数は、基本的な指数平滑フィルターを実装する series_exp_smoothing_fl() 関数よりも優れています。

構文

series_dbl_exp_smoothing_fl(y_series [,α [,β ]])

構文規則について詳しく知る。

パラメーター

名前 必須 説明
y_series dynamic ✔️ 数値の配列。
alpha real 最後のポイントの重みと前 1 - alphaのポイントの重み () を指定する範囲 [0- 1] の値。 既定値は 0.5 です。
beta real 最後の勾配の重量と前 1 - betaの勾配の重み () を指定する範囲 [0- 1] の値。 既定値は 0.5 です。

関数の定義

関数を定義するには、次のように、コードをクエリ定義関数として埋め込むか、データベースに格納されている関数として作成します。

次の let ステートメントを使用して関数を定義します。 権限は必要ありません。

重要

let ステートメントは単独では実行できません。 その後に 表形式の式ステートメントを記述する必要があります。 の動作例を実行するには、「series_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.

クエリ定義関数を使用するには、埋め込み関数定義の後にそれを呼び出します。

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

出力

人工系列の二重指数平滑を示すグラフ。