본문 바로가기
ML

[ML] 이동평균(Moving Average, SMA, CMA, WMA, EMA)

by 어떻게든 되겠지~ 2024. 6. 10.

Moving Average(이동평균)이란?

전체 데이터 셋의 여러 하위 집합에 대한 일련의 평균을 만드는 것을 의미한다

 

보통 시계열 데이터에서 일정 기간동안 평균값을 계산하여 데이터의 추세를 분석하는데 사용된다(데이터의 변동성을 줄이고 장기적인 추세를 파악하기 위해서)

 

Moving Average에는 여러 종류가 있는데 이를 살펴보겠습니다 

Simple Moving Average(단순 이동 평균, SMA)

정해진 폭(기간, Window)의 데이터들의 평균을 계산

 

$$SMA = \frac{x_M + x_{M-1} \, +\cdots \, + x_{M-(n-1)}}{n} =\frac{1}{n} \sum \limits_{i=1}^{n-1} x_{M-i}$$

Cumulative Moving Average(누적 이동 평균, CMA)

현재까지의 전체 데이터의 누적 합을 통해 평균을 계산

 

$$CMA_n = \frac{x_1 + x_2 \, + \cdots \, + x_n}{n} = \frac{1}{n} \sum \limits_{i=1}^{n} x_i$$

Weighted Moving Average(가중 이동 평균, WMA)

최근 데이터에 더 많은 가중치를 부여하여 평균을 계산 

정해진 기간(window)를 두고 계산한다

 

각 데이터에 부여된 가중치의 합을 나눠줌으로써 계산

$$WMA_M = \frac{n x_M + (n-1) x_{M-1} + \cdots + x_{M-(n-1)}}{n + (n-1) + \cdots + 1}$$

Exponential Moving Average(지수 이동 평균, EMA)

WMA와 마찬가지로 최근 데이터에 더 많은 가중치를 부여한 방식으로 WMA보다는 부드럽게 데이터의 변화를 반영

또한, 모든 과거 데이터를 반영하지만 시간이 지남에 따라 오래된 데이터의 가중치는 기하급수적으로 감소한다

 

$$
EMA = S_t =\begin{cases}
Y_1 & (t=1) \\
\alpha \cdot Y_t + (1-\alpha) \cdot S_{t-1} & (t>1)
\end{cases}
, \;\; \alpha = \frac{2}{N+1}
$$

 

여기서 $Y_t$는 현재 시점의 데이터의 값이다

반응형