일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 코딩 테스트
- Interpretability
- grad-cam
- cs231n
- 기계학습
- Deep learning
- Machine Learning
- 머신러닝
- meta-learning
- Score-CAM
- xai
- 설명가능한
- 백준
- 인공지능
- SmoothGrad
- 설명가능한 인공지능
- Unsupervised learning
- 딥러닝
- python
- GAN
- Explainable AI
- keras
- 시계열 분석
- coding test
- 메타러닝
- 코딩테스트
- Artificial Intelligence
- AI
- Class activation map
- Cam
- Today
- Total
iMTE
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}$$
'Time-series Forecasting > Prediction' 카테고리의 다른 글
6. ARIMA model (0) | 2021.06.22 |
---|---|
5. Time series model prediction (0) | 2021.06.22 |
4. Time series model identification and estimation (0) | 2021.06.22 |
3. ARMA model (0) | 2021.06.22 |
2. Stationary time series (Stationarity) (0) | 2021.06.22 |