본문 바로가기
수학의 재미/확률분포

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

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

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

 

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

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

 

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

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

 

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

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

sine-qua-none.tistory.com

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

 

 

상관계수

두 확률변수 $X_1, X_2$의 평균을 각각 $\mu_1, \mu_2$라 하고 표준편차를 $\sigma_1, \sigma_2$라 할 때, 두 변수 $X_1,X_2$의 상관계수 $\rho$는

$$\rho = \frac{\mathbb{Cov}(X_1, X_2)}{\sigma_1 \sigma_2} = \frac{\mathbb{E}((X_1-\mu_1)(X_2-\mu_2)}{\sigma_1 \sigma_2} $$

입니다.

 

좀 더 쉬운 정의를 볼까요? 여기에서 정의한 Z-score 개념을 이용하여 $X_1, X_2$를 정규화시킨 양을 각각 $Z_1, Z_2$ 라 하면,

$$ Z_1 = \frac{X_1-\mu_1}{\sigma_1}~,~ Z_2= \frac{X_2-\mu_2}{\sigma_2}$$

입니다. $X_1,X_2$의 상관계수 $\rho$는

$$\rho = \mathbb{E}(Z_1Z_2)$$

입니다.

 

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

 

 

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

우리의 목적은

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

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

결론을 먼저 말해보겠습니다. 새로운 변수 $w_1, w_2$를

$$ w_1 = z_1~~,~~ w_2 = \rho z_1 +\sqrt{1-\rho^2} z_2 \tag{1}$$

라 하면 $w_1, w_2$는 상관계수가 $\rho$인 표준정규분포가 됩니다. 왜 그런지 살펴보죠.

 

1. $w_1, w_2$는 표준 정규분포이다.

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

$w_2 $는 서로 독립인 $z_1$과 $z_2$의 일차 결합이므로 정규분포입니다. 또한

$$\mathbb{E}(w_2) = \rho \mathbb{E}(z_1)+\sqrt{1-\rho^2} \mathbb{E}(z_2) = \rho\cdot 0 +\sqrt{1-\rho^2} \cdot 0 =0$$

이고

$$ \mathbb{V}(w_2) = \rho^2 \mathbb{V}(z_1) + \sqrt{1-\rho^2}^2 \mathbb{V}(z_2) = 1$$이므로 $w_2$는 표준 정규분포가 됩니다. 아래 접은 글의 Fact를 참고해 보세요.

 

 

더보기

Fact

서로 독립인 확률변수 $X \sim \mathcal{N}(\mu_x, \sigma_x^2)~,~ Y \sim \mathcal{N}(\mu_y, \sigma_y^2) $ 에 대해서, 임의의 실수 $a,b$에 대해 $Z=aX+bY$는 다음을 만족한다.

 

$$ Z \sim \mathcal{N}\left(a\mu_x+b\mu_y , \sqrt{a^2 \sigma_x^2 + b^2 \sigma_y^2}^2 \right) $$ 

 

 

2. $ w_1, w_2$의 상관계수는 $\rho$이다.

$w_1, w_2$는 이 자체로 표준화된, 즉 그 자체로 Z-score이므로 

$$  \mathbb{E}(w_1 w_2)$$

이 바로 $w_1, w_2$의 상관계수입니다. 계산해 보면,

$$\begin{align} \mathbb{E}(w_1 w_2) & = \mathbb{E}\left(z_1(\rho z_1 +\textstyle{\sqrt{1-\rho^2}} z_1)\right)\\ &=\rho \mathbb{E}(z_1^2) +\textstyle{\sqrt{1-\rho^2}} \mathbb{E}(z_1 z_2) \\ &= \rho + \textstyle{\sqrt{1-\rho^2}}\mathbb{E}(z_1)\mathbb{E}(z_2)~~,~~(\because z_1 \perp z_2) \\&=\rho\end{align}$$

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

 

 

어떻습니까? 서로 독립인 표준 정규분포 $z_1, z_2$를 적절히 1차 결합하여 서로 상관계수가 $\rho$인 $w_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
반응형

댓글