본문으로 건너뛰기
🛠️ToolsShed

이항 분포 계산기

이산 사건의 이항 확률 P(X=k), P(X≤k), P(X≥k)를 계산합니다.

이 도구 소개

이항분포 계산기는 정확히 두 가지 가능한 결과를 가지는 이산 사건의 확률을 계산합니다. 이 도구는 통계학자, 데이터 과학자, 품질 관리, 의료 시험 또는 일정한 성공 확률을 가진 반복 독립 실험에 관련된 모든 분야의 전문가에게 필수적입니다.

이 계산기를 사용하려면 시행 횟수(n), 각 시행의 성공 확률(p, 0~1), 분석할 성공 횟수(k)를 입력하세요. 도구는 정확히 k번 성공할 확률, k번 이하로 성공할 누적 확률, k번 이상 성공할 확률의 세 가지 핵심 확률을 즉시 계산합니다. 이러한 유연성 덕분에 이항 시나리오에 대한 정확한 질문과 범위 기반 질문 모두에 답할 수 있습니다.

이항분포는 수많은 실제 상황에 적용됩니다. 배치에서 불량품 개수 예측, 의료 연구에서 환자 회복율 결정, 고객 전환율 분석, 제조 품질 평가 등이 그 예입니다. 이러한 확률을 이해하면 추측이 아닌 예상 결과에 기반하여 정보에 입각한 결정을 내릴 수 있습니다.

자주 묻는 질문

코드 구현

import math

def binomial_pmf(n: int, k: int, p: float) -> float:
    """P(X = k) for Binomial(n, p)"""
    log_c = math.lgamma(n + 1) - math.lgamma(k + 1) - math.lgamma(n - k + 1)
    log_p = k * math.log(p) + (n - k) * math.log(1 - p) if 0 < p < 1 else (0 if p == k / n else float('-inf'))
    return math.exp(log_c + log_p)

def binomial_cdf(n: int, k: int, p: float) -> float:
    """P(X <= k)"""
    return sum(binomial_pmf(n, i, p) for i in range(k + 1))

# Example: 10 coin flips, p=0.5, exactly 6 heads
n, k, p = 10, 6, 0.5
print(f"P(X = {k}) = {binomial_pmf(n, k, p):.4f}")
print(f"P(X ≤ {k}) = {binomial_cdf(n, k, p):.4f}")
print(f"P(X ≥ {k}) = {1 - binomial_cdf(n, k - 1, p):.4f}")
print(f"Mean = {n * p:.2f}, Std Dev = {(n * p * (1 - p)) ** 0.5:.2f}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.