Binomial과 Binary 분포는 서로 다릅니다.

Binomial과 Binary 분포는 서로 다릅니다.
Photo by Odiseo Castrejon / Unsplash

Binomial 분포

  • Binomial 분포는 고정된 횟수의 독립적인 시행에서 각 시행이 동일한 성공 확률을 가지는 이항 실험에서 성공의 횟수를 나타내는 분포입니다
  • Binomial 분포는 두 매개변수 $n$ (시행 횟수)과 $p$ (성공 확률)로 정의됩니다.
  • Binomial 분포의 확률 질량 함수(PMF)는 다음과 같습니다.
  • 여기서 $\binom{n}{k}$는 이항 계수로, n번의 시행 중 k번의 성공이 발생할 확률을 나타냅니다.

$$\binom{n}{k} p^k (1-p)^{n-k}$$

Binary 분포

  • Binary 분포(또는 Bernoulli 분포)는 단일 시행에서 성공 또는 실패의 두 가지 결과만을 가지는 분포입니다.
  • Binary 분포는 매개변수 ppp (성공 확률)로 정의됩니다.
  • Binary 분포의 확률 질량 함수(PMF)는 다음과 같습니다:

$$P(X = 1) = p, \quad P(X = 0) = 1-p$$

시각화

import numpy as np
import matplotlib.pyplot as plt

# Binomial 분포
n, p = 10, 0.5
binomial_data = np.random.binomial(n, p, 1000)

# Binary 분포
binary_data = np.random.binomial(1, p, 1000)

# Poisson 분포
lambda_poisson = n * p
poisson_data = np.random.poisson(lambda_poisson, 1000)

# 분포 시각화
plt.figure(figsize=(18, 6))

plt.subplot(1, 3, 1)
plt.hist(binomial_data, bins=np.arange(0, n+1) - 0.5, edgecolor='black', alpha=0.7)
plt.title('Binomial Distribution (n=10, p=0.5)')
plt.xlabel('Number of Successes')
plt.ylabel('Frequency')

plt.subplot(1, 3, 2)
plt.hist(binary_data, bins=np.arange(0, 2) - 0.5, edgecolor='black', alpha=0.7)
plt.title('Binary Distribution (p=0.5)')
plt.xlabel('Outcome')
plt.ylabel('Frequency')

plt.subplot(1, 3, 3)
plt.hist(poisson_data, bins=np.arange(0, np.max(poisson_data)+1) - 0.5, edgecolor='black', alpha=0.7)
plt.title('Poisson Distribution (λ=5)')
plt.xlabel('Number of Events')
plt.ylabel('Frequency')

plt.tight_layout()
plt.show()