본문 바로가기
ML&DL/Times Series

[ML / Time series] State space models for exponential smoothing

by 거북이주인장 2023. 3. 7.

Forecasting principles and practice을 참조하여 작성하였다.

요약해보기

  • state space model이란, exponential smoothing 계열 모형의 통계적 가정을 추가하여 관측된 것(observation)을 통해 관측되지 않은 것(trend, seasonality)을 추정하고자 하는 방법론이다.
  • 총 세가지 부분, error, trend, seasonaltiy로 구성되며 각각은 모형에 additive, multiplicative하게 추가될 수 있다.
  • smoothing parameter가 동일하다면 holt's model과 동일한 결과를 내지만 likelihood 기반으로 추정되기 때문에 point forecast뿐만 아니라 prediction interval도 계산할 수 있다.

Motivation

이전 포스트에서 exponential smoothing의 기본적인 형태와 개선된 모형을 살펴보았다. 그런데 모형을 자세히 살펴보면 분포를 가정하는 부분이 없다. 즉, point forecast는 뽑아낼 수 있지만 prediction interval을 도출할 수 없음을 알 수 있다. 이번 포스팅에서는 이에 대한 대안으로 exponential smoothing에 통계적 가정을 추가한 state space models을 살펴본다. 

state space model은 measurement equation과 state equation으로 구성된다. measurement equation은 관측된 데이터에 대한 식이다. 주로 $y_t = \cdots$와 같은 식으로 표현된다. state equation은 관측되지 않은 부분 (unobserved component)나 states (level, trend, seasonal)이 어떻게 시간에 따라 변화하는지 표현한다.

state space model을 ETS 모델이라고 많이 하는데, 이는 error, trend, seasonal의 앞자를 따온 것이다. ETS( . , . , . )은 각 component을 어떻게 가정했는지 표현한다. Error = {$A,M$}, Trend = {$N,A,A_d$}, Seasonal = {$N,A,M$}이고 각 component는 이 중 하나의 값을 가진다.

ETS(A,N,N): simple exponential smoothing with additive errors

가장 기본적인 형태이다. 논의를 시작하기에 앞서 simple exponential smoothing을 생각해보자

\[ \hat{y}_{t+1 | t} = \ell_t \]

\[ \ell_t = \alpha y_t + (1-\alpha) \ell_{t-1} \]

 

smoothing equation을 변형하면 아래와 같이 error correction 형태를 얻는다.

 

\[ \ell_t = \ell_{t-1} + \alpha( y_t - \ell_{t-1} ) = \ell_{t-1} + \alpha e_t \]

 

여기서 $e_t = y_t - \ell_{t-1} = y_t - \hat{y}_{t | t-1}$은 $t$ 시점의 잔차(residual)이다. 이를 다시 $y_t = \ell_{t-1} + e_t$로 바꿀 수 있는데, 이는 이전 레벨 값에 에러를 더한 값이다. 이제 state space model을 만들기 위한 절차가 모두 끝났다. state space model은 시계열을 stochastic data generating process로 가정하는 것이라 했고, 이를 위해 $e_t$에 대한 확률 분포를 정의하면 된다.  ETS($A,N,N$)에서는 보통 $e_t = \epsilon_t \sim \text{NID}(0, \sigma^2)$로 가정한다. 이제 state space model을 아래와 같이 정의하자.

 

\[ \text{measuremet equation: } y_t = \ell_{t-1} + \epsilon_t \\ \text{state equation: } \ell_t = \ell_{t-1} + \alpha \epsilon_t \]

Interpretation

measurement equation

관측치와 관측되지 않은 상태의 관계를 보여준다. ETS(A,N,N)에서는 관측치인 $y_t$가 예측 가능한 부분인 level $\ell_{t-1}$와 예측 불가능한 부분인 에러 $\epsilon_t$와의 선형 결합이다. 다른 state space model에서는 이 관계가 비선형일 수 있다.

 

state equation

시간에 따른 state의 변화하는 영향도를 보여준다. simple exponential smoothing이 그렇듯이, 여기서도 $\alpha$가 그 영향도를 조절하는 역할을 한다. $\alpha$가 1에 가까워질수록 random walk 모델에 가까워질 것이고 0에 가까워질수록 변화하지 않는다.

ETS(M,N,N): simple exponential smoothing with multiplicative errors

additive 방법에서 error는 $\epsilon_t = y_t - \hat{y}_{t | t-1}$로 정의됐다. additive 방법이기 때문에 에러가 '차이'로 정의된 듯 한데, multiplicative는 이를 '나누기'로 정의한다. 즉, 아래와 같은 relative error로 정의한다.

 

\[ \epsilon_t = \dfrac{y_t - \hat{y}_{t | t-1}}{\hat{y}_{t | t-1}} \]

 

$\epsilon_t \sim \text{NID}(0, \sigma^2)$로 가정하고 $\hat{y}_{t | t-1} = \ell_{t-1}$이라 두면

 

\[ \epsilon_t = \dfrac{y_t - \hat{y}_{t | t-1}}{\hat{y}_{t | t-1}} = \dfrac{y_t - \ell_{t-1}}{\ell_{t-1}} \]

\[ \therefore y_t = \ell_{t-1} + \ell_{t-1} \epsilon_{t} \]

 

이고 $e_t = y_t - \ell_{t-1} = \ell_{t-1}\epsilon_t$이다. 따라서 measurement equaiton과 state equation은 아래와 같다.

 

\[ y_t = \ell_{t-1} (1+\epsilon_t) \\ \ell_t = \ell_{t-1} (1 + \alpha \epsilon_t) \]

Interpretation

아직 정확한 해석 방법을 찾지 못했다.

ETS(A,A,N): Holt's linear method with addtivie errors

error을 $\epsilon_t = y_t - \ell_{t-1} - b_{t-1} \sim \text{NID}(0, \sigma^2)$로 가정하고 holt's linear method에 대입해보면,

 

$$\begin{align} \ell_t &= \alpha y_t + (1-\alpha)(\ell_{t-1} + b_{t-1}) \\ &= \alpha y_t + \ell_{t-1} + b_{t-1} - \alpha \ell_{t-1} -\alpha b_{t-1} \\ &= \ell_{t-1} + b_{t-1} + \alpha (y_t - \ell_{t-1} - b_{t-1}) \\ &= \ell_{t-1} + b_{t-1} + \alpha \epsilon_t \end{align}$$

 

또한 $$\begin{align} b_t &= \beta^*(\ell_t - \ell_{t-1}) + (1-\beta^*)b_{t-1} \\ &= \beta^*(b_{t-1} + \alpha \epsilon_t) + \beta_{t-1} + \beta^*b_{t-1} \\ &= b_{t-1} + \alpha \beta^* \epsilon_t  \end{align}$$

 

따라서 measurement equation과 state equation은 아래와 같다.

 

$$\begin{align} y_t &= \ell_{t-1} + b_{t-1} +\epsilon_t \\ \ell_t &= \ell_{t-1} + b_{t-1} + \alpha \epsilon_t \\ b_t &= b_{t-1} + \alpha \beta^* \epsilon_t \end{align}$$

ETS(M,A,N): Holt's linear method with multiplicative errors

one-step-ahead training error을 아래와 같이 정의한다.

\[ \epsilon_t = \dfrac{y_t - (\ell_{t-1} + b_{t-1})}{\ell_{t-1} + b_{t-1}} \]

이를 활용한 holt's linear method의 state space model은 아래와 같다.

 

$$ \begin{align} y_t &= (\ell_{t-1} + b_{t-1})(1+\epsilon_t) \\ \ell_t &= (\ell_{t-1} + b_{t-1})(1 + \alpha \epsilon_t) \\ b_t &= b_{t-1} + \alpha \beta^* (\ell_{t-1} + b_{t-1}) \epsilon_t \end{align}$$

Various models of state space model

ETS는 error, trend, seasonal을 의미한다고 했다. error는 위에서 살펴보았듯이 additive, multiplicative가 있고, 명시하지 않는 경우는 없다. 에러항이 랜덤성을 발생시키는 항이고 이것이 있어야 통계 모형으로써 의미를 다하기 때문이다. 반면에 trend와 seasonality는 없을 수도 있고 additive, multiplicative로 추가할 수도 있다. 즉, ETS의 각 부분이 가능한 경우의 수는 2가지, 3가지, 3가지이기 때문에 ETS의 가능한 모델 종류는 총 18가지 이다.

그럼 이 모델들 중 최적의 모델을 어떻게 선택할까? 확률분포를 가정했고 likelihood을 이용해서 파라미터를 추정할 것이기 때문에 AIC를 사용하면 된다. 

 

python statsmodels에서 ETS를 어떻게 사용하는지는 다음 포스팅에 정리하겠다!

댓글