통계

4.5 Bivariate Distributions -THE BIVARIATE NORMAL DISTRIBUTION

VirtualJin 2025. 1. 2. 09:58

* 본 블로그 포스트에서 사용된 표, 이미지 및 기타 관련 자료는 "PROBABILITY AND STATISTICAL INFERENCE 9th Edition"에서 발췌한 것입니다. 이 자료들은 내용을 요약하고 이해를 돕기 위한 참고용으로 제공됩니다. 또한, 해석 과정에서 일부 오류가 있을 수 있으니 원본을 참고하여 확인하시기 바랍니다

 

이변량 정규분포는 두 연속형 확률변수가 특정 상관관계를 가지며 정규분포를 따르는 경우를 설명합니다. 이는 다변량 정규분포의 특수한 경우로, 두 변수 간의 상호작용을 모델링할 때 유용합니다.

1. 이변량 정규분포의 확률 밀도 함수  
두 확률변수 \( X \)와 \( Y \)가 이변량 정규분포를 따를 때, 확률 밀도 함수는 다음과 같습니다:  
\[
f_{X,Y}(x, y) = \frac{1}{2\pi\sigma_X \sigma_Y \sqrt{1 - \rho^2}} 
\exp\left(-\frac{1}{2(1-\rho^2)}\left[\frac{(x-\mu_X)^2}{\sigma_X^2} + \frac{(y-\mu_Y)^2}{\sigma_Y^2} 
- \frac{2\rho(x-\mu_X)(y-\mu_Y)}{\sigma_X \sigma_Y}\right]\right)
\]  
여기서:  
- \( \mu_X \), \( \mu_Y \): 각각 \( X \)와 \( Y \)의 평균  
- \( \sigma_X \), \( \sigma_Y \): 각각 \( X \)와 \( Y \)의 표준편차  
- \( \rho \): \( X \)와 \( Y \)의 상관계수  

2. 독립성 조건  
\( X \)와 \( Y \)가 독립이라면 \( \rho = 0 \)이며, 이 경우 결합 확률 밀도 함수는 다음과 같이 분리됩니다:  
\[
f_{X,Y}(x,y) = f_X(x) \cdot f_Y(y)
\]

3. 주변 분포와 조건부 분포  
- 주변 분포:  
  각각의 변수 \( X \)와 \( Y \)는 정규분포를 따릅니다.  
  \[
  X \sim N(\mu_X, \sigma_X^2), \quad Y \sim N(\mu_Y, \sigma_Y^2)
  \]  

- 조건부 분포:  
  \( Y = y \)가 주어졌을 때 \( X \)의 조건부 분포는 다음과 같이 정의됩니다:  
  \[
  X | Y = y \sim N\left(\mu_X + \rho \frac{\sigma_X}{\sigma_Y} (y - \mu_Y), (1-\rho^2)\sigma_X^2\right)
  \]

4. 기댓값과 공분산 행렬  
이변량 정규분포의 기댓값과 공분산 행렬은 다음과 같습니다:  
- 기대 벡터:  
  \[
  \mathbf{\mu} = \begin{bmatrix} \mu_X \\ \mu_Y \end{bmatrix}
  \]
- 공분산 행렬:  
  \[
  \Sigma = \begin{bmatrix} 
  \sigma_X^2 & \rho \sigma_X \sigma_Y \\ 
  \rho \sigma_X \sigma_Y & \sigma_Y^2 
  \end{bmatrix}
  \]

예제
예제 1: 확률 밀도 함수 계산  
다음 이변량 정규분포를 고려하세요:  
\( \mu_X = 0 \), \( \mu_Y = 0 \), \( \sigma_X = 1 \), \( \sigma_Y = 1 \), \( \rho = 0.5 \).  
점 \( (x, y) = (1, 1) \)에서 확률 밀도 함수 \( f_{X,Y}(1,1) \)를 계산하세요.

답안  
1. 확률 밀도 함수는 다음과 같습니다:  
   \[
   f_{X,Y}(1,1) = \frac{1}{2\pi \cdot 1 \cdot 1 \cdot \sqrt{1-0.5^2}} 
   \exp\left(-\frac{1}{2(1-0.5^2)} \left[1^2 + 1^2 - 2 \cdot 0.5 \cdot 1 \cdot 1\right]\right)
   \]  
2. 계산 결과:  
   \[
   f_{X,Y}(1,1) = \frac{1}{2\pi \sqrt{0.75}} \exp\left(-\frac{1}{2 \cdot 0.75} \cdot 0.5\right) \approx 0.1239
   \]

예제 2: 조건부 분포 계산  
\( \mu_X = 2 \), \( \mu_Y = 3 \), \( \sigma_X = 1 \), \( \sigma_Y = 2 \), \( \rho = 0.7 \)일 때, \( Y = 4 \)가 주어졌을 때 \( X \)의 조건부 분포를 구하세요.

답안  
1. 조건부 분포의 평균:  
   \[
   \mu_{X|Y} = \mu_X + \rho \frac{\sigma_X}{\sigma_Y}(Y - \mu_Y) = 2 + 0.7 \cdot \frac{1}{2}(4 - 3) = 2.35
   \]  
2. 조건부 분포의 분산:  
   \[
   \sigma_{X|Y}^2 = (1-\rho^2)\sigma_X^2 = (1-0.7^2) \cdot 1^2 = 0.51
   \]  
3. 조건부 분포:  
   \[
   X | Y = 4 \sim N(2.35, 0.51)
   \]

예제 3: 공분산 행렬 계산  
다음 이변량 정규분포에서 공분산 행렬을 구하세요:  
\( \sigma_X = 1 \), \( \sigma_Y = 2 \), \( \rho = 0.6 \).

답안  
공분산 행렬은 다음과 같습니다:  
\[
\Sigma = \begin{bmatrix} 
1^2 & 0.6 \cdot 1 \cdot 2 \\ 
0.6 \cdot 1 \cdot 2 & 2^2 
\end{bmatrix} = 
\begin{bmatrix} 
1 & 1.2 \\ 
1.2 & 4 
\end{bmatrix}
\]

연습문제
문제 1  
\( \mu_X = 0 \), \( \mu_Y = 0 \), \( \sigma_X = 2 \), \( \sigma_Y = 1 \), \( \rho = 0.3 \)인 이변량 정규분포에서 \( (x, y) = (1, -1) \)에서의 확률 밀도를 계산하세요.

문제 2  
\( \mu_X = 1 \), \( \mu_Y = 2 \), \( \sigma_X = 1 \), \( \sigma_Y = 1 \), \( \rho = 0.5 \)인 이변량 정규분포에서 \( Y = 2 \)가 주어졌을 때 \( X \)의 조건부 분포를 구하세요.

문제 3  
\( \sigma_X = 3 \), \( \sigma_Y = 2 \), \( \rho = -0.8 \)인 이변량 정규분포의 공분산 행렬을 구하세요.


연습문제 답

문제 1
주어진 이변량 정규분포의 확률밀도 함수는 다음과 같습니다:

\[ f(x, y) = \frac{1}{2\pi \sigma_X \sigma_Y \sqrt{1-\rho^2}} \exp\left(-\frac{1}{2(1-\rho^2)} \left[ \frac{x^2}{\sigma_X^2} + \frac{y^2}{\sigma_Y^2} - \frac{2\rho xy}{\sigma_X \sigma_Y} \right] \right) \]

주어진 값들을 대입:
\[
\mu_X = 0, \mu_Y = 0, \sigma_X = 2, \sigma_Y = 1, \rho = 0.3
\]
그리고 \(x=1, y=-1\).

1. 상수 계산:
   \[
   \text{상수 } C = \frac{1}{2\pi \cdot 2 \cdot 1 \cdot \sqrt{1-0.3^2}} = \frac{1}{4\pi \cdot \sqrt{0.91}}
   \]

2. 지수 내부 계산:
   \[
   Q = \frac{1}{2(1-0.3^2)} \left[ \frac{1^2}{2^2} + \frac{(-1)^2}{1^2} - \frac{2 \cdot 0.3 \cdot 1 \cdot (-1)}{2 \cdot 1} \right]
   \]
   \[
   Q = \frac{1}{2 \cdot 0.91} \left[ 0.25 + 1 + 0.3 \right] = \frac{1.55}{1.82}
   \]

3. 밀도 함수 계산:
   \[
   f(1, -1) = C \cdot \exp(-Q)
   \]

문제 2
이변량 정규분포에서 조건부 분포는 다음과 같이 주어집니다:

\[
X | Y = y \sim N\left( \mu_X + \rho \frac{\sigma_X}{\sigma_Y} (y - \mu_Y), \sigma_X^2 (1 - \rho^2) \right)
\]

대입:
\[
\mu_X = 1, \mu_Y = 2, \sigma_X = 1, \sigma_Y = 1, \rho = 0.5, Y = 2
\]

1. 조건부 평균:
   \[
   \mu_{X|Y=2} = 1 + 0.5 \cdot 1 \cdot (2 - 2) = 1
   \]

2. 조건부 분산:
   \[
   \sigma_{X|Y=2}^2 = 1^2 \cdot (1 - 0.5^2) = 0.75
   \]

결론:
\[
X | Y=2 \sim N(1, 0.75)
\]

문제 3
공분산 행렬은 다음과 같습니다:
\[
\Sigma = \begin{bmatrix} \sigma_X^2 & \rho \sigma_X \sigma_Y \\ \rho \sigma_X \sigma_Y & \sigma_Y^2 \end{bmatrix}
\]

주어진 값 대입:
\[
\sigma_X = 3, \sigma_Y = 2, \rho = -0.8
\]

계산:
\[
\Sigma = \begin{bmatrix} 3^2 & -0.8 \cdot 3 \cdot 2 \\ -0.8 \cdot 3 \cdot 2 & 2^2 \end{bmatrix} = \begin{bmatrix} 9 & -4.8 \\ -4.8 & 4 \end{bmatrix}
\]

# R code
# 문제 1
mu_x <- 0; mu_y <- 0
sigma_x <- 2; sigma_y <- 1
rho <- 0.3
x <- 1; y <- -1

C <- 1 / (2 * pi * sigma_x * sigma_y * sqrt(1 - rho^2))
Q <- (x^2 / sigma_x^2 + y^2 / sigma_y^2 - 2 * rho * x * y / (sigma_x * sigma_y)) / (2 * (1 - rho^2))
f_xy <- C * exp(-Q)
f_xy

# 문제 2
mu_x <- 1; mu_y <- 2
sigma_x <- 1; sigma_y <- 1
rho <- 0.5
y <- 2

mu_cond <- mu_x + rho * sigma_x / sigma_y * (y - mu_y)
sigma_cond <- sigma_x^2 * (1 - rho^2)
c(mu_cond, sigma_cond)

# 문제 3
sigma_x <- 3; sigma_y <- 2
rho <- -0.8

cov_matrix <- matrix(c(sigma_x^2, rho * sigma_x * sigma_y, 
                       rho * sigma_x * sigma_y, sigma_y^2), 
                     nrow = 2, byrow = TRUE)
cov_matrix
# Python code
import numpy as np

# 문제 1
mu_x, mu_y = 0, 0
sigma_x, sigma_y = 2, 1
rho = 0.3
x, y = 1, -1

C = 1 / (2 * np.pi * sigma_x * sigma_y * np.sqrt(1 - rho**2))
Q = (x**2 / sigma_x**2 + y**2 / sigma_y**2 - 2 * rho * x * y / (sigma_x * sigma_y)) / (2 * (1 - rho**2))
f_xy = C * np.exp(-Q)
print(f_xy)

# 문제 2
mu_x, mu_y = 1, 2
sigma_x, sigma_y = 1, 1
rho = 0.5
y = 2

mu_cond = mu_x + rho * sigma_x / sigma_y * (y - mu_y)
sigma_cond = sigma_x**2 * (1 - rho**2)
print(mu_cond, sigma_cond)

# 문제 3
sigma_x, sigma_y = 3, 2
rho = -0.8

cov_matrix = np.array([[sigma_x**2, rho * sigma_x * sigma_y], 
                       [rho * sigma_x * sigma_y, sigma_y**2]])
print(cov_matrix)