일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인공지능
- keras
- python
- 코딩테스트
- SmoothGrad
- Interpretability
- Artificial Intelligence
- Machine Learning
- 코딩 테스트
- Unsupervised learning
- 설명가능한 인공지능
- Class activation map
- Score-CAM
- GAN
- 설명가능한
- coding test
- Cam
- Deep learning
- 백준
- 시계열 분석
- cs231n
- 메타러닝
- AI
- meta-learning
- grad-cam
- 기계학습
- 머신러닝
- Explainable AI
- xai
- 딥러닝
- Today
- Total
iMTE
5. Time series model prediction 본문
특정 시계열 데이터가 주어졌고, 추세, 계절성을 제거하여 정상성을 만족하는 시계열로 변환을 하였을 때, 표본 ACF와 표본 PACF를 바탕으로 ARMA의 p,q 를 추정한다. 이렇게 추정된 ARMA 모형은 이전 값을 갖고 예측을 할 수 있다.
예측과 관련되서, 시계열 모델은 예측을 위한 모델이라기 보다는 주어진 시계열 데이터를 잘 설명할 수 있는 모델이라고 보는 시각이 옳은 것으로 생각된다. 이후의 예측은 주어진 과거 데이터를 잘 설명하는 모델로 부터 앞으로 가장 나타날 그럴 듯한 현상에 대해 정보를 제공해 주고, 사용자는 이 정보를 바탕으로 앞으로 어떤 선택을 할지 도움을 받을 수 있다.
먼저, 시점 n 까지의 시계열 관측치로부터 1 step 이후의 예측치를 $f_{n,1}$로 나타내자. 만약에 k step 이후의 예측치라면 $f_{n,k}$로 나타낸다.
먼저, AR(p) 모형을 고려해보자.
$Z_t=\phi_1 Z_{t-1}+...+\phi_p Z_{t-p}+a_t$
위 식에서, 시점 n 까지의 관측치가 주어질 때, one step 이후의 예측치는 다음과 같다.
$f_{n,1}=E[Z_{n+1}|Z_n,Z_{n-1},...]=E[\phi_1 Z_n+...+\phi_p Z_{n+1-p}+a_{n+1}|Z_n,Z_{n-1},...]$
$=\phi_1 Z_n+...+\phi_p Z_{n+1-p}$
Expectation을 취했기 때문에 예측 값에는 white noise로 인한 영향이 없다. Expectation은 하나의 값을 산출해내는데, 만약 95 % 신뢰구간 같이 confidence interval을 추가해야한다면 예측의 분산에 대한 값도 얻어야만 한다.
$v_{n,1}=Var[Z_{n+1}|Z_n,Z_{n-1},...]=Var[\phi_1 Z_n +...+\phi_p Z_{n+1-p}+a_{n+1}|Z_n,Z_{n-1},...]$
$=Var[a_{n+1}]=\sigma^2$이 된다. (이미 알고 있는 값의 분산은 0이다.)
K step 이후의 예측은 다음과 같이 나타낼 수 있다.
$f_{n,k}=E[Z_{n+k}|Z_n,Z_{n-1},...]=E[\phi_1 Z_{n+k-1}+...+\phi_p Z_{n+k-p}|Z_n,Z_{n-1},...]$
위 식에서, expectation 값은 두 단계로 구분된다.
$j\geq n+1, E[Z_j|Z_n,...] = f_{n,j-n}$
$j\leq n, E[Z_j|Z_n,...] = Z_j$
K step 이후 예측의 분산은 다음과 같다.
$v_{n,k}=Var[Z_{n+k}|Z_n,Z_{n-1},...]=Var[\phi_1 Z_{n+k-1}+...+\phi_p Z_{n+k-p}+a_{n+k}|Z_n,Z_{n-1},...]$
$v_{n,k}=\sigma^2+\sum_{i=1}^p \phi_i^2 Var[Z_{n+k-i}|Z_n,...]+2\sum_{1\leq i < j \leq p}\phi_i \phi_j Cov[Z_{n+k-i},Z_{n+k-j}|Z_n,...]$
다음으로, MA 모형을 고려하자
$Z_t=a_t-\theta_1 a_{t-1}$
k 단계 이후의 예측치는 다음과 같이 나타낸다.
$f_{n,k}=E[Z_{n+k}|Z_n,Z_{n-1},...]=E[a_{n+k}-\theta_1 a_{n+k-1}|Z_n,Z_{n-1},...]$
$f_{n,k}=-\theta_1 a_n, k=1$
$f_{n,k}=0, k\geq 2$
위 식에서 $a_n$은 이미 알고 있는 값으로 다음의 식으로부터 산출해야한다.
$a_n = (1-\theta_1 B)^{-1}Z_n = \sum_{j=0}^\infty (\theta_1)^j Z_{n-j}$
K step 이후 예측 분산은 다음과 같이 계산을 할 수 있다.
다음으로, MA(q) 모형의 1 step 이후 예측치는 다음과 같다.
$f_{n,1}=E[Z_{n+1}|Z_n,Z_{n-1},...] = Var[a_{n+1}-\theta_1 a_n-...-\theta_q a_{n+1-q}|Z_n, Z_{n-1},...]$
$=-\theta_1 a_n - ... - \theta_q a_{n+1-q}$
K step 이후의 예측치는 다음과 같다.
$f_{n,k}=E[Z_{n+k}|Z_n,Z_{n-1},...] = Var[a_{n+k}-\theta_1 a_n-...-\theta_q a_{n+k-q}|Z_n, Z_{n-1},...]$
$=-\theta_1 a_n - ... - \theta_q a_{n+1-q}$
위 식에서 예측에 대한 expectation은 다음과 같다.
$E[a_j|Z_n,Z_{n-1},...]=0, j\geq n+1$
$E[a_j|Z_n,Z_{n-1},...]=a_j, j\leq n$
K step 이후의 예측분산은 다음과 같이 산출된다.
$v_{n,k}=Var[a_{n+k}-\theta_1 a_{n+k-1}...-\theta_q a_{n+k-q}|Z_n,Z_{n-1},...]$
$=\sigma^2+\sum_{i=1}^n \theta_i^2 Var[a_{n+k-i}|Z_n,...]$
위 식에서 분산에 대한 값은 다음과 같다.
$Var[a_{n+k-i}|Z_n,...]=\sigma^2, k-i \geq 1$
$Var[a_{n+k-i}|Z_n,...]=0, k-i \leq 0$
마지막으로, ARMA 모형의 예측을 확인해보자. ARMA(p,q) 모형은 다음과 같이 나타낸다.
$Z_t-\phi_1 Z_{t-1}-...-\phi_p Z_{t-p}=a_t-\theta_1 a_{t-1}-...-\theta_q a_{t-q}$
K step 이후의 예측치는 다음과 같이 산출된다.
$f_{n,k}=E[\phi_1 Z_{n+k-1}+...+\phi_p Z_{n+k-p}-\theta_1 a_{n+k-1}-...-\theta_q a_{n+k-q}|Z_n,...]$
여기서, expectation은 AR,MA에서 얻은 값을 따른다.
$E[Z_j|Z_n,...] = f_{n,j-n}, j\geq n+1$
$E[Z_j|Z_n,...] = Z_j, j\leq n$
$E[a_j|Z_n,Z_{n-1},...]=0, j\geq n+1$
$E[a_j|Z_n,Z_{n-1},...]=a_j, j\leq n$
'Time-series Forecasting > Prediction' 카테고리의 다른 글
7. Time series 분석 정리 (1) (0) | 2021.06.25 |
---|---|
6. ARIMA model (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 |