일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- coding test
- 설명가능한 인공지능
- Artificial Intelligence
- python
- 코딩테스트
- 코딩 테스트
- Unsupervised learning
- Interpretability
- 백준
- 딥러닝
- 인공지능
- grad-cam
- xai
- SmoothGrad
- AI
- Machine Learning
- 설명가능한
- 머신러닝
- Explainable AI
- GAN
- Class activation map
- 메타러닝
- 기계학습
- 시계열 분석
- keras
- Score-CAM
- Cam
- meta-learning
- cs231n
- Deep learning
- Today
- Total
iMTE
5. Time series model prediction 본문
특정 시계열 데이터가 주어졌고, 추세, 계절성을 제거하여 정상성을 만족하는 시계열로 변환을 하였을 때, 표본 ACF와 표본 PACF를 바탕으로 ARMA의 p,q 를 추정한다. 이렇게 추정된 ARMA 모형은 이전 값을 갖고 예측을 할 수 있다.
예측과 관련되서, 시계열 모델은 예측을 위한 모델이라기 보다는 주어진 시계열 데이터를 잘 설명할 수 있는 모델이라고 보는 시각이 옳은 것으로 생각된다. 이후의 예측은 주어진 과거 데이터를 잘 설명하는 모델로 부터 앞으로 가장 나타날 그럴 듯한 현상에 대해 정보를 제공해 주고, 사용자는 이 정보를 바탕으로 앞으로 어떤 선택을 할지 도움을 받을 수 있다.
먼저, 시점 n 까지의 시계열 관측치로부터 1 step 이후의 예측치를 fn,1로 나타내자. 만약에 k step 이후의 예측치라면 fn,k로 나타낸다.
먼저, AR(p) 모형을 고려해보자.
Zt=ϕ1Zt−1+...+ϕpZt−p+at
위 식에서, 시점 n 까지의 관측치가 주어질 때, one step 이후의 예측치는 다음과 같다.
fn,1=E[Zn+1|Zn,Zn−1,...]=E[ϕ1Zn+...+ϕpZn+1−p+an+1|Zn,Zn−1,...]
=ϕ1Zn+...+ϕpZn+1−p
Expectation을 취했기 때문에 예측 값에는 white noise로 인한 영향이 없다. Expectation은 하나의 값을 산출해내는데, 만약 95 % 신뢰구간 같이 confidence interval을 추가해야한다면 예측의 분산에 대한 값도 얻어야만 한다.
vn,1=Var[Zn+1|Zn,Zn−1,...]=Var[ϕ1Zn+...+ϕpZn+1−p+an+1|Zn,Zn−1,...]
=Var[an+1]=σ2이 된다. (이미 알고 있는 값의 분산은 0이다.)
K step 이후의 예측은 다음과 같이 나타낼 수 있다.
fn,k=E[Zn+k|Zn,Zn−1,...]=E[ϕ1Zn+k−1+...+ϕpZn+k−p|Zn,Zn−1,...]
위 식에서, expectation 값은 두 단계로 구분된다.
j≥n+1,E[Zj|Zn,...]=fn,j−n
j≤n,E[Zj|Zn,...]=Zj
K step 이후 예측의 분산은 다음과 같다.
vn,k=Var[Zn+k|Zn,Zn−1,...]=Var[ϕ1Zn+k−1+...+ϕpZn+k−p+an+k|Zn,Zn−1,...]
vn,k=σ2+∑pi=1ϕ2iVar[Zn+k−i|Zn,...]+2∑1≤i<j≤pϕiϕjCov[Zn+k−i,Zn+k−j|Zn,...]
다음으로, MA 모형을 고려하자
Zt=at−θ1at−1
k 단계 이후의 예측치는 다음과 같이 나타낸다.
fn,k=E[Zn+k|Zn,Zn−1,...]=E[an+k−θ1an+k−1|Zn,Zn−1,...]
fn,k=−θ1an,k=1
fn,k=0,k≥2
위 식에서 an은 이미 알고 있는 값으로 다음의 식으로부터 산출해야한다.
an=(1−θ1B)−1Zn=∑∞j=0(θ1)jZn−j
K step 이후 예측 분산은 다음과 같이 계산을 할 수 있다.
다음으로, MA(q) 모형의 1 step 이후 예측치는 다음과 같다.
fn,1=E[Zn+1|Zn,Zn−1,...]=Var[an+1−θ1an−...−θqan+1−q|Zn,Zn−1,...]
=−θ1an−...−θqan+1−q
K step 이후의 예측치는 다음과 같다.
fn,k=E[Zn+k|Zn,Zn−1,...]=Var[an+k−θ1an−...−θqan+k−q|Zn,Zn−1,...]
=−θ1an−...−θqan+1−q
위 식에서 예측에 대한 expectation은 다음과 같다.
E[aj|Zn,Zn−1,...]=0,j≥n+1
E[aj|Zn,Zn−1,...]=aj,j≤n
K step 이후의 예측분산은 다음과 같이 산출된다.
vn,k=Var[an+k−θ1an+k−1...−θqan+k−q|Zn,Zn−1,...]
=σ2+∑ni=1θ2iVar[an+k−i|Zn,...]
위 식에서 분산에 대한 값은 다음과 같다.
Var[an+k−i|Zn,...]=σ2,k−i≥1
Var[an+k−i|Zn,...]=0,k−i≤0
마지막으로, ARMA 모형의 예측을 확인해보자. ARMA(p,q) 모형은 다음과 같이 나타낸다.
Zt−ϕ1Zt−1−...−ϕpZt−p=at−θ1at−1−...−θqat−q
K step 이후의 예측치는 다음과 같이 산출된다.
fn,k=E[ϕ1Zn+k−1+...+ϕpZn+k−p−θ1an+k−1−...−θqan+k−q|Zn,...]
여기서, expectation은 AR,MA에서 얻은 값을 따른다.
E[Zj|Zn,...]=fn,j−n,j≥n+1
E[Zj|Zn,...]=Zj,j≤n
E[aj|Zn,Zn−1,...]=0,j≥n+1
E[aj|Zn,Zn−1,...]=aj,j≤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 |