series_fir()
系列に有限インパルス応答 (FIR) フィルターを適用します。
この関数は、入力として動的数値配列を含む式を受け取り、無限インパルス応答フィルターを適用します。 filter
係数を指定することによって、移動平均の計算、平滑化、変更検出などのさまざまなユース ケースに使用できます。 この関数は、入力としてフィルターの係数の動的配列と静的配列を含む列を受け取り、列にフィルターを適用します。 フィルター処理された出力を含む、動的配列の新しい列が出力されます。
構文
series_fir(
シリーズ,
filter [,
normalize[,
center]])
構文規則について詳しく知る。
パラメーター
名前 | 型 | 必須 | 説明 |
---|---|---|---|
シリーズ | dynamic |
✔️ | 数値の配列。 |
filter | dynamic |
✔️ | フィルターの係数を含む数値の配列。 |
normalize | bool |
フィルターを正規化する必要があるかどうかを示します。 つまり、係数の合計で除算されます。 フィルターに負の値が含まれている場合は、normalize を false として指定する必要があります。そうでない場合は、結果が null になります。 指定しない場合、フィルターに負のtrue 値が存在するかどうかに応じて、 の既定値が想定されます。 filter に少なくとも 1 つの負の値が含まれている場合は、normalize が false と見なされます。 |
|
center | bool |
フィルターが、現在のポイントの前後の時間枠に対称的に適用されるか、現在のポイントから逆方向の時間枠に適用されるかを示します。 既定では、center は false であり、現在のポイントと古いポイントにのみフィルターを適用できるように、ストリーミング データのシナリオに適しています。 ただし、アドホック処理の場合は、それを true に設定して、時系列との同期を維持することができます。 以下の例を参照してください。 このパラメーターは、フィルターのグループ遅延を制御します。 |
ヒント
正規化は、係数の合計が 1 であることを確認するための便利な方法です。 normalized が のtrue
場合、フィルターは系列を増幅または減衰しません。 たとえば、4 つのビンの移動平均を filter=[1,1,1,1,1] で指定し、 正規化=true
することができます。これは、「0.25,0.25.0.25,0.25]」と入力するよりも簡単です。
戻り値
フィルター処理された出力を含む新しい動的配列列。
例
- filter=[1,1,1,1,1] と normalize=
true
(既定値) を設定することで、5 つのポイントの移動平均を計算します。 center=false
(既定値) の場合とtrue
の場合の影響に注意してください。
range t from bin(now(), 1h) - 23h to bin(now(), 1h) step 1h
| summarize t=make_list(t)
| project
id='TS',
val=dynamic([0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 20, 40, 100, 40, 20, 10, 0, 0, 0, 0, 0, 0, 0, 0]),
t
| extend
5h_MovingAvg=series_fir(val, dynamic([1, 1, 1, 1, 1])),
5h_MovingAvg_centered=series_fir(val, dynamic([1, 1, 1, 1, 1]), true, true)
| render timechart
このクエリは次の結果を返します。
5h_MovingAvg: 5 つのポイントの移動平均フィルター。 スパイクを平滑化し、ピークを (5-1)/2 = 2h ずらします。
5h_MovingAvg_centered: 同じですが、center=true
を設定することによって、ピークが元の場所に留まります。
- あるポイントとその前のポイントの差を計算するには、filter=[1,-1] を設定します。
range t from bin(now(), 1h) - 11h to bin(now(), 1h) step 1h
| summarize t=make_list(t)
| project id='TS', t, value=dynamic([0, 0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3])
| extend diff=series_fir(value, dynamic([1, -1]), false, false)
| render timechart
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示