본문 바로가기
시계열 자료분석

시계열 평활법

by be-favorite 2020. 7. 1.

❗️블로그 옮김:  https://www.taemobang.com

 

방태모

안녕하세요, 제 블로그에 오신 것을 환영합니다. 통계학을 전공으로 학부, 석사를 졸업했습니다. 현재는 가천대 길병원 G-ABC에서 Data Science를 하고있습니다. 통계학, 시계열, 통계적학습과 기계

www.taemobang.com

1. 기초

시계열(Time series)은 시간 순서로 측정된 모든 데이터로 볼 수 있다. 물론 이때 시계열 데이터는 고정된 시간 간격으로 측정되지 않았을 수도 있다. 시계열 자료는 추세(Trends, $m_t$), 계절(Seasonality, $s_t$), 불규칙(Random, $\epsilon_t$) 성분으로 구성되는데, 이러한 성분들은 합 또는 곱의 형태로 시계열에 영향을 미칠 수 있다.

 

 (1) 가법 모형(Additive models)

 

$y_t = m_t + s_t + \epsilon_t$

 

 개별요인의 효과를 구분하고 함께 더하여 시계열 데이터를 가법적으로 모형화 한다.

 

 (2) 승법 모형(Multiplicative models)

 

$y_t = m_t \times s_t \times \epsilon_t$

 

 개별요인의 효과를 곱하여 시계열 데이터를 승법적으로 모형화 한다. 승법 모형에서는 데이터가 증가하면 계절 패턴(Seasonality pattern)도 증가한다고 가정하며, 대부분의 실제 시계열은 이러한 패턴을 가진다.

 

계절 패턴 크기가 데이터의 크기에 따라 달라지지 않는 경우 가법모형을 선택하고, 계절 패턴 크기가 데이터의 크기에 따라 달라지는 경우 승법모형을 선택한다. 만약, 데이터 패턴이 명확하지 않아서 두 모형의 선택에 문제가 있는 경우, 두 절차를 모두 실행하여 오차가 더 작은 모형을 선택하는 경험적(Empirical) 결정이 필요하다.

 

2. 평활법(Smoothing method)

시간에 따라 수집된 데이터에는 무작위적인 변화량이 있다. 평활(Smoothing)이란, 이렇게 무작위적 변화로 생기는 효과를 줄이는 방법들 중 흔히 사용되는 기법 중 하나다. 예를 들어, 주어진 시계열 자료에 평균을 취하는 것은 가장 단순한 평활법이다. 하지만, 평균은 모든 과거 관측값을 동일한 가중치로 다루기 때문에, 추세(Trends)가 존재하는 경우 좋은 지표가 될 수 없다. 평활을 이용해 시계열을 세 가지 구성성분으로 분해하거나, 예측을 수행할 수 있다. 이 글에서는 세 가지 평활법을 소개한다.

 

 (1) 이동평균 평활법(Moving average smoothing method)

 이동평균(Moving average)을 이용하면 원 자료를 추세, 계절성, 랜덤성분으로 분해할 수 있다. 예를 들어, 승법 모형에서 시계열 자료로 부터 세 성분을 계산하는 식은 다음과 같다.

 

  ○ 추세(Trends) = 이동평균

  ○ 계절성(Seasonality) = 자료값 / 이동평균

  ○ Random = 관측값 / 예측값(이때, 예측값 = 이동평균*계절성)

 

시계열이 수집된 기간($m$)이 홀수냐 짝수냐에 따라서 이동평균을 구하는 식이 다르다.

 

  ① 대칭이동평균($m$ = 홀수)

 

$MA_t = \frac{1}{m} \sum_{j = -(m-1)/2}^{(m-1)/2} y_{t+j}$,  $\frac{m-1}{2} < t < n - \frac{m-1}{2}$

 

  ② 중심화이동평균($m$ = 짝수)

 

$MA_t = \frac{1}{2}(MA_{t-\frac{1}{2}} + MA_{t+\frac{1}{2}})$,  $\frac{m}{2} <  t < n - \frac{m}{2}$, 

 

where $MA_{t-\frac{1}{2}} = \frac{1}{m} \sum_{j = -m/2}^{m/2-1} y_{t+j}$,  $MA_{t+\frac{1}{2}} = \frac{1}{m} \sum_{j = -m/2+1}^{m/2} y_{t+j}$

 

 

 (2) 지수 평활법(Exponential smoothing method)

 지수 평활법은 이전 시점의 과거 관측값에 지수적으로 감소하는 가중치를 곱하여 시계열의 미래값 예측을 수행한다. 계절성과 추세가 모형에 포함되어 있지 않으면 단순지수 평활, 추세가 추가되면 이중지수 평활, 추세와 계절성이 추가되면 삼중지수 평활이라 한다. 설명의 편의를 위해, 여기서는 추세 또는 계절성은 이미 제거된 자료라 가정하고 단순지수 평활을 기반으로 설명한다.

 

시점 $t$까지의 관측치 $\left \{ y_1 , y_2, \cdots, y_t \right \}$가 주어졌을 때, 미래값 $y_{t+h}$를 예측하는 상황을 생각해보자. 이때 시계열 $y_t$ 단순지수 평활을 이용해 모델링하면 다음과 같다.

 

$y_t = \mu_t + \epsilon_t$

 

여기서 $\mu_t$는 시점 $t$에서 비정상성(non-stationary) 평균 과정(시점 t에 의존하므로)이며("정상성" 개념에 관해서는 다음 글에서 소개한다), $\epsilon_t$는 독립이고 평균이 0 분산이 $\sigma^2$인 확률 변수(Random variable)에 해당한다. 

 

시점 $t$에서 평균에 대한 추정을 한다고 했을 때, 생각해볼 수 있는 한 가지 형태는 시점 $t$의 관측값과 $(t-1)$ 시점의 평균 추정값의 가중평균을 취하는 것이다.

 

$\hat{\mu}_t = \alpha y_t + (1-\alpha)\hat{\mu}_{t-1}$,  $0 < \alpha < 1$  $\cdots$  (Eq 1)

 

위 식의 $\hat{\mu}_t$를 시점 $t$에서의 지수가중이동평균(EWMA : Exponentially weighted moving average)이라 한다. $\alpha$는 평활모수(Smoothing parameter)로 평활의 양을 결정한다. 예를 들어, $\alpha$ 값이 1에 가까우면, EWMA는 $t$시점의 관측치에 근사하여 평활이 매우 작아질 것이다. 반면에, $\alpha$가 0에 가까우면 최근의 관측치는 거의 고려하지 않아서 크게 평활된 추정치를 사용하게된다.

 

그런데, 앞서 지수 평활법의 아이디어는 이전 시점의 과거 관측값에 지수적으로 감소하는 가중치를 곱하는 것이라고 했었다. 이는 (Eq 1)의 변형을 통해 알 수 있다. $\hat{\mu}_{t-1}$에 $\alpha y_{t-1} + (1-\alpha)\hat{\mu}_{t-2}$를 대입하는 방식으로 식을 변형하면 되고, 최종적으로 변형되는 식은 다음과 같은 형태를 띤다.

 

$\hat{\mu}_t = \alpha y_t + \alpha(1-\alpha) y_{t-1} + \alpha(1-\alpha)^2 y_{t-2} + \cdots$

 

EWMA는 결국 최근의 값에 더 큰 가중이 부여된 현재와 과거 관측값들의 선형결합으로 표현된다. 지수 평활법의 기본적인 아이디어를 가장 잘 표현해주는 식이다. 이때 무한 계열인 계수들의 합은 1이 되며($\because \frac{\alpha}{1-(1-\alpha)} = 1$), (Eq 1)에서 $\hat{\mu}_1 = y_1$으로 지정하면 무한 회귀를 피할 수 있다.

 

$\hat{\mu}_t$의 식을 조금 다르게 재표현하여 지수 평활법의 아이디어를 조금 다르게 해석할 수도 있다.

 

$\hat{\mu}_t = \alpha(y_t - \hat{\mu}_{t-1}) + \hat{\mu}_{t-1}$  $\cdots$ (Eq 2)

 

여기서 EWMA는 $\hat{\mu}_{t-1}$과 한 단계 이전(One-step ahead) 예측 오차 $(y_t - \hat{\mu}_{t-1})$의 일정 비율의 합으로 표현된다.

 

  ① 예측

  지수 평활법에서 시점 $t$ 이후 미래 시점에 대한 예측은 아래와 같이 시점 $t$에서 추정된 평균을 사용한다. 특이한 점은 $t$시점까지 관측된 자료를 토대로 시차($h$)에 상관없이 일정한 값으로 미래를 예측한다는 것이다.

 

$\hat{y}_{t+h | t} = \hat{\mu}_t, h = 1, 2, \cdots$

 

  ② 평활모수 $\alpha$의 선택

  R에서 평활모수 $\alpha$는 한 단계 이전 예측오차의 제곱합(SS1PE : Sum of squared 1-step ahead errors)을 최소화하는 값으로 선택된다.

 

$SS1PE = \sum_{i=2}^t e_i^2 = e_2^2 + e_3^2 + \cdots + e_t^2, $  where $\hat{\mu}_1 = y_1$,  $e_t = y_t - \hat{y}_{t|t-1} = y_t - \hat{\mu}_{t-1}$

 

마지막으로 소개할 모형은 Holt-Winter's 방법인데, 사실 단순지수 평활은 Holt-Winter's의 특별한 경우에 해당하며, 추세와 계절성까지 고려한 삼중 지수평활을 Holt-Winter's 방법으로 보면 된다.

 

 (3) Holt-Winter's 방법

 Holt-Winter's 방법은 추세와 계절성을 가지는 시계열의 예측에 사용된다. 이 방법은 EWMA를 이용해 계절 조정된 평균(이를 수준(Level)이라 함), 기울기(Slope, 시간의 한 구간에서 다음 수준의 변화, 보통 추세라 표현함), 계절효과(Seasonal effects)의 추정치를 갱신한다. Holt-Winter's 방법은 계절성을 가법적으로(Additively) 또는 승법적으로(Multiplicatively) 갱신하느냐에 따라서 두 가지 종류로 나뉜다.

 

  ① 가법(Additive) Holt-Winter's 예측 함수

  주기가 $p$인 시계열 $\left \{ y_t \right \}$에 대한 가법 계절성을 가지는 갱신 알고리즘은 다음과 같다.

 

$\hat{y}_{t+h | t} = \hat{\mu}_t + h \cdot b_t + s_{t+h-p}, $  $h \leq p$

($p$ : 계절성의 주기)

 

여기서 $\mu_t$, $b_t$, $s_t$는 시점 $t$에서 추정된 수준, 기울기, 계절효과를 의미한다. 

 

· $\hat{\mu}_t = \alpha(y_t - s_{t-p}) + (1-\alpha)(\hat{\mu}_{t-1} + b_{t-1})$

· $b_t = \beta(\hat{\mu}_t - \hat{\mu}_{t-1}) + (1-\beta)b_{t-1}$

· $s_t = \gamma(y_t - \hat{\mu}_t) + (1-\gamma)s_{t-p}$

· $\alpha, \beta, \gamma$ : 전체, 추세, 계절조정을 위한 평활모수

 

  ② 승법(Multiplicative) Holt-Winter's 예측 함수

  마찬가지로 주기가 $p$인 시계열 $\left \{ y_t \right \}$를 가정하며, 승법 계절성을 가지는 갱신 알고리즘은 다음과 같이 주어진다.

 

$\hat{y}_{t+h | t} = (\hat{\mu}_t + h \cdot b_t) \times s_{t+h-p}, $  $h \leq p$
($p$ : 계절성의 주기)

 

여기서 $\mu_t$, $b_t$, $s_t$의 의미는 위와 같으나, 수준과 계절효과의 세부적인 식이 다르다.

 

· $\hat{\mu}_t = \alpha(\frac{y_t}{s_{t-p}}) + (1-\alpha)(\hat{\mu}_{t-1} + b_{t-1})$
· $b_t = \beta(\hat{\mu}_t - \hat{\mu}_{t-1}) + (1-\beta)b_{t-1}$
· $s_t = \gamma(\frac{y_t}{\hat{\mu}_t}) + (1-\gamma)s_{t-p}$
· $\alpha, \beta, \gamma$ : 전체, 추세, 계절조정을 위한 평활모수

 

가법 Holt-Winter's, 승법 Holt-Winter's 둘 중 어느 모형을 쓸 지는, 이 글의 기초 부분에서 언급했던 내용을 똑같이 따르면 된다.

'시계열 자료분석' 카테고리의 다른 글

[FPP3] 1.1 시계열 자료의 예측 가능성에 대해  (0) 2021.04.30
Count Time Series 분석에 대해  (0) 2021.03.17
계층적 시계열 분석  (0) 2020.10.25
ARIMA 모형  (2) 2020.07.02

댓글