벡터 자기회귀모델은 이전 포스팅에서 다루었던 자기회귀모델의 벡터꼴이다. 예시로 VAR(1)을 살펴보자.
[rtqt]=[abcd][rt−1qt−1]+[ϵr,tϵq,t]
→xt=A→xt−1+→ϵt
이전 포스팅에서 AR(1)=MA(∞)로 쓸 수 있던 것처럼 벡터꼴의 자기회귀모델 또한 VAR(1)을 VMA(∞)로 쓸 수 있다. 이는 다음과 같다.
→xt=A→xt−1+→ϵt⇒→ϵt=→xt+A→xt−1⇒→ϵt=→xt−AL→xt⇒→ϵt=(I−AL)→xt⇒→xt=(I−AL)−1→ϵt⇒→xt=(I+AL+A2L2+⋯)→ϵt=VMA(∞)
VAR을 사용하지, VARMA는 쓰지 않는다. VARMA는 추정하기 어렵기 때문인데, VAR 모델의 경우에는 과거의 데이터만 필요하기 때문에 파라미터를 추정하는 데 있어 OLS(Ordianry Least Square)를 돌리면 된다. (MLE를 사용해도 되지만 OLS가 많은 경우 쉽고 편하다.) 하지만, MA 모델은 인풋에 대한 에러텀을 요구하는데, 이는 관찰을 할 수 없기 때문에 OLS를 사용하는 것이 바람직하지 않다. 그래서 MLE를 사용하는데, 에러텀의 lag가 많아질수록 MLE 계산이 복잡해진다.
Converting Into VAR(1)
다행히, 우리는 모든 시계열을 VAR(1)로 변환해줄 수 있다. 이는 우리가 일반적으로 VAR(1)을 사용하는 이유가 된다.
우선 이 얘기를 하기 전, ARMA(p,q) 모델을 먼저 정의하자.
Def_ (자기회귀-이동평균 모델)
ARMA(p,q)=AR(p)+MA(q)
Ex_
ARMA(2,1)을 생각해보자.
yt=ϕ1yt−1+ϕ2yt−2+ϵt+θ1ϵt−1
이는 다음과 같이 바꿔 벡터꼴로 만들 수 있다.

where Var(ϵt)=σ2ϵI
종종 shock의 variance matrix를 단위행렬이 되도록 쓰는 것이 편리한데, 위의 행렬식을 바꿔 써보자.

Forecasting
이제 VAR(1) 모델을 이용하여 n-step forecasting을 해보자.
One Step Forecasting
E[→xt+1|→xt]=E[A→xt+→ϵt|→xt]=A→xt
Var[→xt+1|→xt]=Var[A→xt|→ϵt|→xt]=Var(→ϵt)
Two Step Forecasting
E[→xt+1|→xt]=E[A→xt+1+→ϵt+1|→xt]=E[A(A→xt+→ϵt)+→ϵt+1|→xt]=E[A2→xt+A→ϵt+→ϵt+1|→xt]=A2→xt
Var[→xt+1|→xt=Var[A2→xt+A→ϵt+→ϵt+1|→xt+1]=Var[A→ϵt+→ϵt+1|→xt]=AVar(→ϵt)At+Var(→ϵt)
n Step Forecasting
E[→xt+n|→xt]=An→xt
Var[→xt+n|→xt]=AnVar(→ϵt)[At]n+⋯+AVar(→ϵt)At+Var(→ϵt)