7. Time series 분석 정리 (1)
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}$$