iMTE

5. Time series model prediction 본문

Time-series Forecasting/ Prediction

5. Time series model prediction

Wonju Seo 2021. 6. 22. 16:04

특정 시계열 데이터가 주어졌고, 추세, 계절성을 제거하여 정상성을 만족하는 시계열로 변환을 하였을 때, 표본 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
Comments