Br) 함수 블럭 - Moving Average

Br) 함수 블럭 - Moving Average

브라이틱스(Brightics)에서 단순이동평균과 가중이동평균 계산이 가능한 함수 블럭인 Moving Average를 알아본다.


Extraction Time Series EDA Pre-Processing

※ 본 내용은 Load 함수 블럭에서 bike.csv 파일을 불러온 후에 진행한다.
bike.csv 다운받기 [클릭]
사전 준비


개요

시계열 분석(time series analysis)을 할 때 많이 하는 것 중 하나가 단순이동평균(simple moving average)이다. 그리고 가끔 가중이동평균(weighted moving average)를 사용해서 특정 시점의 시계열 자료에 가중치를 주면서 연산을 하기도 한다. 아무튼 Moving Average 블럭에서 두 종류의 이동평균이 모두 가능하다.

단순 이동 평균

영문 표기가 Simple Moving Average라서 SMA로 기술하기도 한다. 특정 시점 $t$의 이동평균의 다음 식과 같으며 여기서 $n$은 이동평균을 할 단위 시간이다.

$$ SMA_t= \frac{\sum_{𝑖=1}^{n}{𝑥_{𝑡−𝑖}}}{\sum_{𝑖=1}^{n}{𝑖}} $$

가중 이동 평균

영문 표기가 Weighted Moving Average라서 WMA로 기술하기도 한다. 특정 시점 $t$의 이동평균의 다음 식과 같으며 여기서 $n$은 이동평균을 할 단위 시간이다.

$$ WMA_t= \frac{\sum_{𝑖=1}^{n}{W_i 𝑥_{𝑡−𝑖}}}{\sum_{𝑖=1}^{n}{W_i}} $$

설정

Moving Average 블럭의 설정 창은 다음과 같다.
Moving Average 블럭 설정 창

Input Columns 에는 이동평균 대상 변수를 지정해준다.
이동평균 변수 선택

Weights 부분에는 “Uniform Weights”와 “Custom Weights”를 선택할 수 있는데 전자를 선택하면 “단순이동평균”이 가능하고 후자를 선택하면 “가중이동평균”이 가능하다. 예를들어 Weights 에서 “Uniform Weights”를 선택한 경우 Window Size 에 숫자를 지정할 수 있는데 이는 이동평균을 할 단위 시간을 의미한다. 즉, 몇 개의 시계열 데이터를 가지고 이동평균을 계산할지 정하는 것이다. 1보다 큰 정수를 입력하도록 한다. 예를 들어 지금 사용하는 bike.csv 파일은 데이터의 단위가 시간인데 Window Size 에 값을 12라고 한다면 12시간 이동평균을 계산할 수 있는 것이다.

Mode 의 경우 “Centered Moving Average”와 “Past Values Only”를 선택할 수 있는데 전자를 선택하면 “중심이동평균”이 가능하고 후자를 선택하면 “기본이동평균”이 가능하다. “기본이동평균”이라는 단어를 사용하였는데 이는 특정 시점의 데이터와 특정 시점을 기준으로 과거 데이터를 사용하여 이동평균을 하는 기본적인 이동평균을 말한다.

추가로 특정 변수의 원소를 기준으로 묶음 연산을 하고자 할 때는 대상이 되는 변수를 아래 Group By 부분에서 [Select] 버튼을 눌러 변수 목록을 불러와 선택해준다. 묶음 연산은 되도록이면 연속형 변수가 아닌 명목형 변수를 기준으로 수행을 권장한다.


결과

특정 시간대의 자전거 총 대여 숫자인 count 변수를 대상으로 기본적인 단순이동평균이고 Window를 3으로 설정한 결과는 다음과 같다. 이동평균을 실시할 경우 연산 특성상 결측치가 생성되는점 유의하도록 하자.
결과

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×