Cholesky Decomposition
Cholesky Decomposition은 두 변수를 코릴시키려고 쓴다. 예를 들어서, 두변수 y,z가 공분산 행렬(covriance matrix) I를 갖는다 쳐보자. 그리고 y,z가 공분산 ρ를 갖게 다른 변수로 변환을 시켜주고 싶다. 아이디어는 간단하다. 우리가 random vector →x=[yz]를 계산할 때, 이를 다음과 같이 계산한다.
Var(A→x)=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ρ+y√1−ρ2]
이를 이용하면 공분산 행렬을 항등 행렬로 쉽게 바꿔줄 수 있다. →x의 공분산 행렬을 Σ라 해보자. 그러면 우리는 Var(A→x)=AΣAt=I로 만들어주는 행렬 A를 찾을 수 있다. 이건 Σ−1을 얻기 위해 'Cholesky Decomposition'을 적용하는 것과 같다.
I=AΣAt⇒I−1=(A−1)−1Σ−1A−1⇒I=(At)−1Σ−1A−1⇒AtIA=Σ−1⇒AtA=Σ−1
그래서 우리는 AtA=Σ−1인 A를 찾아서 →xtrans=A→x로 두기만 하면된다.
Var(→xtrans)=Var(A→x)=AVar(→x)At=AΣAt=I
그러므로, 주어진 시계열 →xt=B(L)→ϵt, where Var(→ϵt)=Σ≠I에 대해서 다음과 같은 순서로 계산하면 두 변수를 코릴시켜 줄 수 있다.
1. AtA=Σ−1인 A를 찾는다.
2. →xt를 다음과 같이 둔다. →xt=B(L)A−1A→ϵt=B(L)A−1→ξt, B(L)은 lag-operator L의 다항함수다.
3. C(L)=B(L)A−1인 C(L)을 정의한다. ⇒→xt=C(L)→ξt
4. 충격반응함수(Impulse Responsibility Function)를 계산한다.
*Cholesky Decomposition은 QR Decomposition이라고도 불린다.