Processing math: 57%
본문 바로가기
수학의 재미/확률분포

상관관계가 있는 두개의 표준정규분포 난수 구하기

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

실생활에서, 비즈니스에서 아주 중요한 예측인 상관관계 분석

 

분석하고자 하는 데이터들은 서로 어느 정도 관련이 있습니다. 깊은 관련이 있을 수도 있고, 반대의 경향을 가지고 있을 수도 있고, 심지어 서로가 서로에게 영향을 미치지 않는 경우도 있죠.

예를 들어, 사람의 키와 몸무게는 양의 상관관계를 가지고 있죠.  지수와 지수를 기반으로 하는 풋옵션 수익률은 음의 상관관계를 가질 거고요. 위 그림의 세일즈 능력과 머리를 미는 건 아무래도 관계를 찾기가 어려울 듯합니다.

 

이러한 상관관계를 측정하기 위해 상관계수라는 양을 도입합니다. 상관계수의 정의는

2022.07.05 - [수학의 재미/행렬 이론] - 상관계수와 상관계수 행렬 #1

 

상관계수와 상관계수 행렬 #1

이번 글은 2022.07.04 - [수학의 재미/행렬 이론] - 공분산과 공분산 행렬 공분산과 공분산 행렬 어떤 현상이나 타깃을 관찰하다 보면 여러 특징(features)들이 있습니다. 예를 들어 사람을 관찰할 경우

sine-qua-none.tistory.com

에서 정의를 하였습니다. 복습을 해보도록 할까요.

 

 

상관계수

두 확률변수 X1,X2의 평균을 각각 μ1,μ2라 하고 표준편차를 σ1,σ2라 할 때, 두 변수 X1,X2의 상관계수 ρ

ρ=Cov(X1,X2)σ1σ2=E((X1μ1)(X2μ2)σ1σ2

입니다.

 

좀 더 쉬운 정의를 볼까요? 여기에서 정의한 Z-score 개념을 이용하여 X1,X2를 정규화시킨 양을 각각 Z1,Z2 라 하면,

Z1=X1μ1σ1 , Z2=X2μ2σ2

입니다. X1,X2의 상관계수 ρ

ρ=E(Z1Z2)

입니다.

 

이제, 상관계수를 가지는 두 표준 정규분포 변수를 만들어 보겠습니다.

 

 

상관계수를 가지는 두 표준정규분포 만들기

우리의 목적은

상관계수가 ρ인 두 표준정규분포 만들기

입니다.  같은 분포이면서 서로 독립(i.i.d.)인 두 표준정규분포 z1,z2에서 시작을 해 보죠, 이것들을 사용하여 상관계수가 ρ인 표준정규분포 두 개를 만들어 보겠습니다.

결론을 먼저 말해보겠습니다. 새로운 변수 w1,w2

w1=z1  ,  w2=ρz1+1ρ2z2

라 하면 w1,w2는 상관계수가 ρ인 표준정규분포가 됩니다. 왜 그런지 살펴보죠.

 

1. w1,w2는 표준 정규분포이다.

w1=z1 그대로 두었으므로 당연히 표준 정규분포입니다.

w2는 서로 독립인 z1z2의 일차 결합이므로 정규분포입니다. 또한

E(w2)=ρE(z1)+1ρ2E(z2)=ρ0+1ρ20=0

이고

V(w2)=ρ2V(z1)+1ρ22V(z2)=1이므로 w2는 표준 정규분포가 됩니다. 아래 접은 글의 Fact를 참고해 보세요.

 

 

더보기

Fact

서로 독립인 확률변수 XN(μx,σ2x) , YN(μy,σ2y) 에 대해서, 임의의 실수 a,b에 대해 Z=aX+bY는 다음을 만족한다.

 

ZN(aμx+bμy,a2σ2x+b2σ2y2) 

 

 

2. w1,w2의 상관계수는 ρ이다.

w1,w2는 이 자체로 표준화된, 즉 그 자체로 Z-score이므로 

E(w1w2)

이 바로 w1,w2의 상관계수입니다. 계산해 보면,

E(w1w2)=E(z1(ρz1+1ρ2z1))=ρE(z21)+1ρ2E(z1z2)=ρ+1ρ2E(z1)E(z2)  ,  (

입니다. 따라서 상관계수는 \rho이지요.

 

 

어떻습니까? 서로 독립인 표준 정규분포 z_1, z_2를 적절히 1차 결합하여 서로 상관계수가 \rhow_1, w_2를 만들어 냈습니다. 이걸 다른 방향으로 해석해 보겠습니다. 행렬을 도입해 보겠습니다.

 

 

행렬로 표현

식(1)을 행렬로 표현해 보면,

\begin{pmatrix} w_1\\w_2 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ \rho & \sqrt{1-\rho^2} \end{pmatrix} \begin{pmatrix} z_1 \\z_2 \end{pmatrix}

입니다. 각각의 행렬을 \mathbf{w}, \mathbf{A}, \mathbf{z}라 쓰면

\mathbf{w} = \mathbf{Az} 입니다. 즉 변수(벡터) \mathbf{z}에 선형 변환을 뜻하는 행렬 변환을 통해 서로 상관관계가 있는 확률변수를 마음껏 만들어 내는 것입니다.

 

행렬 \mathbf{A}의 특징 두 가지가 있습니다.

 

\mathbf{AA}^t 는 상관계수 행렬이다.

\begin{pmatrix} 1 & 0 \\  \rho & \sqrt{1-\rho^2}  \end{pmatrix}  \begin{pmatrix} 1 & \rho \\  0 & \sqrt{1-\rho^2}  \end{pmatrix}  = \begin{pmatrix} 1 & \rho \\  \rho & 1  \end{pmatrix} 

입니다. 제일 오른쪽 행렬이 바로 상관계수 행렬이죠?

 

 

행렬 \mathbf{A}는 하삼각행렬(lower triangular matrix)

하삼각행렬은

\mathbf{L} =  \begin{pmatrix} l_{11} &  & & &  \\ l_{21} & l_{22} & & & \\ l_{31} & l_{32} & \ddots & & \\ \vdots & \vdots & \ddots &\ddots & \\ l_{n,1}   & l_{n,2} &  \cdots & l_{n,n-1} & l_{n,n} \\ \end{pmatrix} 

처럼, 대각선보다 위에 있는 모든 원소는 0인 정사각행렬입니다. 그런데 행렬 \mathbf{A}를 보면 정사각행렬이고 대각선 위의 원소인 (1,2) 성분이 0입니다. 따라서 \mathbf{A}는 하삼각행렬(lower triangular matrix)입니다.

 

 

확장 가능할까?

 

위의 내용을 종합해 보면, 다음과 같은 생각이 가능합니다.

 

두 표준정규분포를 갖는 독립 확률변수 (z_1, z_2) 에서 상관계수 \rho은 두 변수 (w_1, w_2)를 얻으려면, 상관계수행렬인
\mathbf{\rho} = \begin{pmatrix}1 & \rho \\ \rho & 1 \end{pmatrix} 
를 
\mathbf{AA}^t =\mathbf{\rho} 이고 \mathbf{A}가 하삼각행렬이 되도록 분해만 하면,

\begin{pmatrix} w_1\\w_2 \end{pmatrix}= \mathbf{A} \begin{pmatrix} z_1\\z_2 \end{pmatrix}
로 서로 상관계수가 있는 확률변수를 구할 수 있다!

 

이 원리를 n차원으로 확장시킬 수 있을까요?  즉, n개의 표준 정규분포 독립 확률변수를 이용하여 서로 상관계수를 가지는 n개의 새로운 표준 정규분포 확률변수를 얻을 수 있을까요?

 

다음 글에서 다뤄보도록 하겠습니다.

 

 

 

 

 

 

728x90
반응형