Time-series Forecasting/ Prediction

7. Time series 분석 정리 (1)

Wonju Seo 2021. 6. 25. 16:56

1) Time seires 는 시간에 따른 data points의 collection으로서, time series에서 pattern을 찾아내거나 유의미한 정보를 얻어내는 과정을 time series analysis라고 정의한다. 이러헥 얻어낸 정보를 바탕으로 과거의 데이터를 모델링하고 앞으로의 미래를 예측한다.

2) Time series 는 level, trend, seasonality, cyclic variations, noise로 구성되며, 각각의 요소를 제거하고 분석하는 것이 매우 중요하다. Time series는 두가지의 형태로 additive model과 multiplicative 모델로 나타낼 수 있다.

$$ Y[t] = T[t] + S[t] + c[t] + e[t]$$

$$ Y[t] = T[t] \times S[t] \times c[t] \times e[t]$$ 

Trend $T[t]$의 경우 증가하거나 감소하는 패턴이 나타나는 것이며, seasonality $S[t]$는 특정 주기로 비슷한 패턴이 나타나는 것이다.  Seasonality를 확인하기 위해서 auto-correlation 분석을 통해서 특정 주기에서 나타나는 peak를 사용할 수 있다. Cyclic variations $c[t]$은 seasonality 보다는 덜 발생하는 현상으로 긴 추세의 변동을 의미한다. 마지막으로 residual $e[t]$는 위의 모든 요소를 제거하고 남은 부분이다. 보통 이 residual은 white noise형태를 갖는 것이 이상적이다.

3) Time series 모델링을 하기 위해서 smoothing method를 사용할 수 있다. Smoothing method는 과거의 모든 값에 weighted를 함으로 현재의 값을 추정하고, 앞으로의 미래 값을 추정할 수 있는 방법이다. time series의 형태에 따라서 세개의 방법이 사용될 수 있다.

Trend Seasonality Smoothing method
X X Simple exponential smoothing
O X Double exponential smoothing
O O Triple exponential smoothing

Simple exponential smoothing은 다음과 같이 level을 표현한다.

$$L_t = \alpha Y_t + (1-\alpha)L_{t-1}$$

여기서 $\alpha$는 0과 1 사이의 값으로, 1인 경우 과거의 값을 고려하지 않는 것이며, 0인 경우 과거의 값에 현재 값을 반영하지 않는다. 예측은 다음과 같이 표현된다.

$$F_{t+k}=L_t$$

Double exponential smoothing은 다음과 같이 level과 trend를 표현한다.

$$L_t = \alpha Y_t + (1-\alpha)(L_{t-1}+T_{t-1})$$

$$T_t = \beta (L_t-L_{t-1}) + (1-\beta)T_{t-1}$$

여기서 $\alpha$와 $\beta$는 모두 0과 1 사이의 값이다. Simple exponential smoothing의 개념을 level과 trend에 사용했다고 보면 된다. $L_t - L_{t-1}$ 식을 통해서 adaptive하게 변화를 반영할 수 있다. 예측은 다음과 같이 표현된다.

$$F_{t+k}=L_t+KT_t$$

Triple exponential smoothing은 다음과 같이 level, trend 와 seasonality를 표현한다.

$$L_t = \alpha (\frac{Y_t}{S_{t-M}})+(1-\alpha)(L_{t-1}+T_{t-1})$$

$$ T_t = \beta (L_t-L_{t-1}) + (1-\beta) T_{t-1}$$

$$ S_t = \gamma (\frac{Y_t}{L_t})+(1-\gamma)S_{t-M}$$

여기서 $\alpha$, $\beta$, $\gamma$는 모두 0과 1 사이의 값이다. Simple exponential smoothing 개념을 level, trend, seasonality에 사용한 것인데, 이때 seasonality는 multiplicative 형태로 나타내기 때문에 나눠주는 연산이 들어간다. 예측은 다음과 같다.

$$F_{t+k}=(L_t+kT_t)\times S_{t+k-M}$$