Processing math: 100%

금융/시계열

[시계열] 충격반응분석 (Impulse Response Analysis) - (2) (Cholesky Decomposition)

xeskin 2020. 8. 31. 15:14
반응형

Cholesky Decomposition

Cholesky Decomposition은 두 변수를 코릴시키려고 쓴다. 예를 들어서, 두변수 y,z가 공분산 행렬(covriance matrix) I를 갖는다 쳐보자. 그리고 y,z가 공분산 ρ를 갖게 다른 변수로 변환을 시켜주고 싶다. 아이디어는 간단하다. 우리가 random vector x=[yz]를 계산할 때, 이를 다음과 같이 계산한다.

Var(Ax)=AVar(x)At=AIAt=AAt

그러므로, 우리는 AAt와 우리가 원하는 공분산 행렬과 갖게 만들어줄 행렬 A를 찾아주기만 하면 된다.

[1ρρ1]=[a110a21a22][a110a21a22]t=[a110a21a22][a11a210a22]=[a211a11a21a21a11a221+a222]

그러므로, 우리는 다음 방정식을 풀기만 하면 된다.

{a211=1a11a21=ρa221+a222=1{a11=1a21=ρa22=1ρ2

그러면 이제 변환해주는 벡터 하나를 정의할 수 있다.

xtrans=[10ρ1ρ2][xy]=[xxρ+y1ρ2]

이를 이용하면 공분산 행렬을 항등 행렬로 쉽게 바꿔줄 수 있다. x의 공분산 행렬을 Σ라 해보자. 그러면 우리는 Var(Ax)=AΣAt=I로 만들어주는 행렬 A를 찾을 수 있다. 이건 Σ1을 얻기 위해 'Cholesky Decomposition'을 적용하는 것과 같다.

I=AΣAtI1=(A1)1Σ1A1I=(At)1Σ1A1AtIA=Σ1AtA=Σ1

그래서 우리는 AtA=Σ1A를 찾아서 xtrans=Ax로 두기만 하면된다.

Var(xtrans)=Var(Ax)=AVar(x)At=AΣAt=I

그러므로, 주어진 시계열 xt=B(L)ϵt, where Var(ϵt)=ΣI에 대해서 다음과 같은 순서로 계산하면 두 변수를 코릴시켜 줄 수 있다.

 

1. AtA=Σ1A를 찾는다.
2. xt를 다음과 같이 둔다. xt=B(L)A1Aϵt=B(L)A1ξt, B(L)은 lag-operator L의 다항함수다.
3. C(L)=B(L)A1C(L)을 정의한다. xt=C(L)ξt
4. 충격반응함수(Impulse Responsibility Function)를 계산한다.

 

*Cholesky Decomposition은 QR Decomposition이라고도 불린다.

반응형