홈 › 학생·공부·취준

확률분포 계산기

분포를 고르고 숫자를 넣으면 바로 계산해요. k는 관심 있는 성공 횟수(또는 사건 수)예요.

입력한 내용은 서버로 보내지 않고 이 기기에서만 처리돼요
확률표 보기 (k별 P(X = k)와 누적확률)

어떤 분포를 골라야 할까요?

계산하는 방법

P(X = k)는 각 분포의 확률질량함수 공식으로 계산하고, 누적확률은 그 값을 더해서 구해요. 큰 n에서도 넘치지 않도록 이항계수와 팩토리얼은 로그감마 함수(jStat)로 계산해요. 예를 들어 동전을 10번 던져 앞면이 7번 이상 나올 확률은 (10C7 + 10C8 + 10C9 + 10C10)/2¹⁰ = 176/1024 ≈ 17.19%예요. 로또 6/45에서 3개를 맞힐 확률은 초기하분포로 6C3·39C3/45C6 = 182,780/8,145,060 ≈ 2.244%예요(5등 당첨 확률).

평균과 분산

이항분포는 E(X) = np, V(X) = np(1 − p), 포아송분포는 평균과 분산이 모두 λ, 초기하분포는 E(X) = nK/N, V(X) = n(K/N)(1 − K/N)(N − n)/(N − 1), 기하분포는 E(X) = 1/p, V(X) = (1 − p)/p²예요. 막대그래프에서 파란 막대가 지금 구하는 확률에 들어가는 k 값이고, 아래 확률표에서 모든 k의 확률과 누적확률을 보고 CSV로 저장할 수 있어요. 결과는 SciPy(binom, poisson, hypergeom, geom)와 비교해 확인했어요.

참고한 자료

자주 묻는 질문

확률을 %로 넣어도 되나요?

네. 0.3이나 30%나 30(1보다 크면 %로 봐요) 모두 30%로 읽어요.

이항분포를 정규분포로 근사해도 되나요?

np와 n(1 − p)가 모두 충분히 크면(보통 5 또는 10 이상) 평균 np, 분산 np(1 − p)인 정규분포로 근사할 수 있어요. 이 계산기는 근사하지 않고 정확한 값을 계산해요.

기하분포를 ‘실패 횟수’로 정의한 책도 있어요.

맞아요. 이 계산기는 성공한 회차까지 센 횟수(1부터 시작)로 정의해요. 실패 횟수 Y로 정의하면 Y = X − 1이라 k를 1 줄여서 보면 돼요.

함께 쓰면 좋은 도구