다음을 통해 공유


series_moving_var_fl()

계열에 이동 분산 필터를 적용합니다.

함수 series_moving_var_fl() 는 동적 숫자 배열이 포함된 식을 입력으로 사용하고 이동 분산 필터에 적용하는 UDF(사용자 정의 함수) 입니다.

Syntax

series_moving_var_fl(, y_seriesn [,center ])

구문 규칙에 대해 자세히 알아보세요.

매개 변수

이름 형식 필수 Description
y_series dynamic ✔️ 숫자 값의 배열 셀입니다.
n int ✔️ 이동 분산 필터의 너비입니다.
센터 bool 이동 분산이 현재 지점 앞과 뒤의 창에 대칭적으로 적용되는지 또는 현재 지점에서 뒤로 창에 적용되는지 여부를 나타냅니다. 기본적으로 가운데 는 입니다 false.

함수 정의

다음과 같이 해당 코드를 쿼리 정의 함수로 포함하거나 데이터베이스에 저장된 함수로 만들어 함수를 정의할 수 있습니다.

다음 let 문을 사용하여 함수를 정의합니다. 사용 권한이 필요 없습니다.

중요

let 문은 자체적으로 실행할 수 없습니다. 그 뒤에 테이블 형식 식 문이 있어야 합니다. 의 series_moving_var_fl()작업 예제를 실행하려면 예제를 참조 하세요.

let series_moving_var_fl = (y_series:dynamic, n:int, center:bool=false)
{
    let ey = series_fir(y_series, repeat(1, n), true, center);
    let e2y = series_multiply(ey, ey);
    let y2 = series_multiply(y_series, y_series);
    let ey2 = series_fir(y2, repeat(1, n), true, center);
    let var_series = series_subtract(ey2, e2y);
    var_series
};
// Write your query to use the function here.

예제

다음 예제에서는 invoke 연산자를 사용하여 함수를 실행합니다.

쿼리 정의 함수를 사용하려면 포함된 함수 정의 다음에 호출합니다.

let series_moving_var_fl = (y_series:dynamic, n:int, center:bool=false)
{
    let ey = series_fir(y_series, repeat(1, n), true, center);
    let e2y = series_multiply(ey, ey);
    let y2 = series_multiply(y_series, y_series);
    let ey2 = series_fir(y2, repeat(1, n), true, center);
    let var_series = series_subtract(ey2, e2y);
    var_series
}
;
let sinewave=(x:double, period:double, gain:double=1.0, phase:double=0.0)
{
    gain*sin(2*pi()/period*(x+phase))
}
;
let n=128;
let T=10;
let window=T*2;
union
(range x from 0 to n-1 step 1 | extend y=sinewave(x, T)),
(range x from n to 2*n-1 step 1 | extend y=0.0),
(range x from 2*n to 3*n-1 step 1 | extend y=sinewave(x, T)),
(range x from 3*n to 4*n-1 step 1 | extend y=(x-3.0*n)/128.0),
(range x from 4*n to 5*n-1 step 1 | extend y=sinewave(x, T))
| order by x asc 
| summarize x=make_list(x), y=make_list(y)
| extend y_var=series_moving_var_fl(y, T, true)
| render linechart  

출력

사인파에 적용된 이동 분산을 보여 주는 그래프입니다.