본문 바로가기
수학의 재미/행렬 이론

n차원 상관계수행렬을 촐레스키 분해하면?

by hustler78 2022. 9. 20.
728x90
반응형

 

 

지난 글

2022.09.19 - [수학의 재미/행렬 이론] - 촐레스키 분해

 

촐레스키 분해

이번 글은 2022.09.16 - [분류 전체보기] - 상관계수 행렬은 positive definite! 상관계수 행렬은 positive definite! 이번 글은 2022.07.04 - [수학의 재미/행렬 이론] - 행렬이 양수다? positive semidefinite..

sine-qua-none.tistory.com

에서

  • 촐레스키 분해가 무엇인지?
  • 2차원 상관계수 행렬의 촐레스키 분해
  • 3차원 상관계수 행렬의 촐레스키 분해

를 살펴봤습니다. 상관계수 행렬처럼 positive semidefinite 행렬은 무조건 촐레스키 분해가 가능합니다. 그러면 이 촐레스키 분해를 어디에 사용할까요?

 

 

 

원하는 상관계수를 가지는 표준정규 변수 만들기

 

거두절미하고, 우리의 목적은 이겁니다.

Our Goal

표준정규분포를 가지는 nn개의 확률변수 X1,X2,,XnX1,X2,,Xn을 만들고 싶습니다. 

그런데 ii번째 변수 XiXijj번째 변수 XjXj의 상관계수가 ρijρij가 되도록 만들고 싶습니다.
(물론 i=ji=j인 경우에는 같은 변수이므로 상관계수가 1, 즉, ρii=1ρii=1입니다.) ㅈ

어떻게 만들면 될까요?

 

거두절미하고, 답은 이겁니다.

 

1. 서로 독립인 표준정규분포 nn개, Z1,Z2,,ZnZ1,Z2,,Zn 을 준비한다.

2. 상관계수 행렬 RRR=LLtR=LLt 촐레스키 분해한다.

3. 다음의 행렬을 만족하는 X1,X2,,XnX1,X2,,Xn우리가 원하는 상관계수를 가지는 표준정규분포이다.

(X1X2Xn)=L(Z1Z2Zn)

여기서 상관계수 행렬은

R=(ρij)=(1ρ12ρ1nρ211ρ2nρn1ρn21)

입니다. 위의 1,2 번은 준비과정이니 3번이 왜 맞는지만 한번 볼까요?

 

식(1)의 X1,X2,,Xn은 각각 평균이 0인 정규분포이다.

i에 대하여

Xi=Li1Z1+Li2Z2++LinZn=np=1LipZp

입니다. 즉, Xi는 서로 독립인 정규분포 Z1,Zn의 일차 결합이므로 역시 정규분포가 됩니다.

또한

E(Xi)=E(np=1LipZp)=np=1LipE(Zp)=0

이므로 각각 평균은 0이 됩니다.

 

 

식(1)의 XiXj에 대해 E(XiXj)=ρij이다. 특히 i=j일 때는 E(X2i)=ρii=1이다.

식(1)에 따르면 두 index i,j에 대해

Xi=np=1LipZp , Xj=nq=1LjqZq

입니다. 따라서

XiXj=np=1nq=1LipLjqZpZq 

이죠. 양변에 E()를 씌우면

E(XiXj)=np=1nq=1LipLjqE(ZpZq) 

입니다. 그런데

E(ZpZq)={0,pq1,p=q 

이므로 식(2)는 qp값과 같을 때만 살아남습니다. 즉,

E(XiXj)=np=1LipLjpE(Z2p)=np=1LipLjp

입니다.

 

반면 상관계수 행렬 Ri,j 성분의 원소를 구해보죠.

Rij=(LLt)ij=np=1LipLtpj=np=1LipLjp

입니다. 식(3),(4)를 비교해보면!

E(XiXj)=Rij=ρij

가 성립하죠. 특히 i=j인 경우에는

E(X2i)=ρii=1 을 만족하게 됩니다.

 

결론

위 두 관찰로 다음의 결론을 얻습니다.

○ 각 i에 대해 XiE(Xi)=0,E(X2i)=1인 정규분포, 즉, 표준정규분포입니다.

○ 각 ij에 대해, E(XiXj)=ρij 즉, Corr(Xi,Xj)=ρij$입니다.

 

이로써 {Xi}들은 상관계수 행렬 R을 갖는 표준정규분포임을 증명했습니다. 

 

 

 

 

상관관계를 가지는 표준정규분포 변수 만들기 최종 정리

 

최종 정리 버전은 다음과 같습니다.

순서 과정 방법
1 서로 독립인(i.i.d) 표준정규 난수 n개 뽑기
Z=(Z1,Z2,,sZn)
○ 정균분포 난수를 만들어 주세요 #1 : 중심극한정리 이용  
○ 정균분포 난수를 만들어 주세요 #2 : Normal CDF 이용   
○ 정균분포 난수를 만들어 주세요 #3 : Normal CDF 이용   
○ 정균분포 난수를 만들어 주세요 #4 : Box-Muller 방법   
○ 정균분포 난수를 만들어 주세요 #5 : Marsaglia-Bray method   
○ 정균분포 난수를 만들어 주세요 #6 : random.normal   

같은 방법으로 만들면 됨
2 R=LLt 촐레스키 분해
3 LZ   

 

 

다음 글에서는 실제로 이 원리로 상관관계가 있는 표준정규분포를 만들 수 있는지 코딩을 통해 알아보도록 하겠습니다.

 

 

 

 

 

 

728x90
반응형