정규분포 분산의 사전분포로 활용되는 Inverse Chi-Square 분포

정규분포 분산의 사전분포로 활용되는 Inverse Chi-Square 분포
Photo by Emile Guillemot / Unsplash

정의

  • Inverse Chi-Square 분포는 주로 베이지안 통계에서 분산을 모델링하는 데 사용되는 확률 분포입니다.
  • 이는 Chi-Square 분포의 역분포로, 자유도와 스케일 파라미터에 의해 정의됩니다.
  • Inverse Chi-Square 분포는 베이지안 분석에서 사후 분포로 자주 사용되며, 특히 정규 분포의 분산에 대한 사전 분포로 활용됩니다.

장점

  1. 베이지안 분석에 적합: 분산 추정을 위한 사전 분포로서 사용되며, 베이지안 통계에서 널리 활용됩니다.
  2. 유연한 모델링: 다양한 자유도와 스케일 파라미터를 통해 분포의 모양을 조절할 수 있습니다.
  3. 수학적 편리성: Normal-Normal-Inverse Chi-Square 모델에서 수학적으로 간편하게 다룰 수 있습니다.
    1. 베이지안 통계에서 정규 분포의 평균과 분산을 동시에 추정하는 모델입니다
    2. 이 모델은 정규 분포의 평균과 분산에 대한 사전 분포로 각각 정규 분포와 Inverse Chi-Square 분포를 사용합니다.
    3. 이는 데이터가 정규 분포를 따르고, 그 평균과 분산이 불확실한 상황에서 매우 유용

단점

  1. 직관적 해석의 어려움: 자유도와 스케일 파라미터의 조합이 복잡하여 직관적으로 이해하기 어렵습니다.
  2. 데이터 요구: 충분한 데이터가 없는 경우, 분포의 파라미터 추정이 어려울 수 있습니다.
  3. 모델의 제한: 특정한 통계적 모델링 상황에서만 적합할 수 있습니다.

대안

  1. Gamma 분포: 분산 대신 precision (1/variance)을 모델링하는 경우에 유용합니다.
  2. Inverse Gamma 분포: Inverse Chi-Square 분포와 유사하지만, 더 유연한 형태의 분포를 제공합니다.
  3. Normal-Inverse-Wishart 분포: 다변량 정규 분포의 공분산 행렬에 대한 사전 분포로 사용됩니다.

Sample

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import invgamma

# Inverse Chi-Square 분포의 파라미터 설정
df = 5  # 자유도
scale = 2  # 스케일 파라미터

# Inverse Chi-Square 분포에서 샘플링
samples = invgamma.rvs(df/2, scale=scale/2, size=1000)

# 샘플 데이터의 히스토그램
plt.hist(samples, bins=30, density=True, alpha=0.6, color='g', label='Sampled Data')

# 이론적 확률 밀도 함수
x = np.linspace(0.001, np.max(samples), 1000)
pdf = invgamma.pdf(x, df/2, scale=scale/2)
plt.plot(x, pdf, 'k', lw=2, label='Inverse Chi-Square PDF')

plt.title('Inverse Chi-Square Distribution')
plt.xlabel('Value')
plt.ylabel('Density')
plt.legend()
plt.show()