Binomial과 Binary 분포는 서로 다릅니다.
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()