이 계산기의 기능
정규분포 그래프 계산기는 정규분포(가우스 분포)에 대한 (x, 값) 쌍의 표를 만들어 줍니다. 표로 정리할 함수는 세 가지 중에서 고를 수 있습니다. 확률밀도 \(f(x)\), 하측 누적확률 \(P(x)\)(누적분포함수, 즉 CDF), 그리고 상측 누적확률 \(Q(x)\)(생존함수)입니다. x 값의 수열은 시작값, 증가폭(스텝), 생성할 점의 개수로 정의됩니다. 평균 \(\mu = 0\), 표준편차 \(\sigma = 1\)로 설정하면 표준정규분포를 얻을 수 있습니다.
사용 방법
먼저 함수를 선택합니다. 평균 \(\mu\)와 표준편차 \(\sigma\)(반드시 0보다 커야 합니다)를 입력하세요. 이어서 x의 시작값, 연속된 x 값 사이의 증가폭, 그리고 반복 횟수(점의 개수)를 지정합니다. 계산기는 각 행 i에 대해 \(x = \text{시작값} + i \cdot \text{스텝}\)과, 그 x에서 선택한 함수를 계산한 값을 표로 출력합니다. 기본 설정(\(\mu=0\), \(\sigma=1\), 시작값 \(= -5\), 스텝 \(= 0.1\), 101개 점)에서는 x가 -5부터 +5까지 훑으며, f를 선택하면 익숙한 종 모양 곡선을, P를 선택하면 S자 곡선을 그려 줍니다.
공식 설명
확률밀도는 다음과 같습니다.
$$f(\text{x}) = \frac{1}{\sigma\sqrt{2\pi}}\, e^{-\frac{1}{2}\left(\frac{\text{x} - \mu}{\sigma}\right)^{2}}$$누적확률은 오차함수(erf)를 사용합니다. \(z = (x-\mu)/(\sigma\sqrt{2})\)라 할 때, 하측 누적확률은 \(P = \frac{1}{2}(1 + \operatorname{erf} z)\), 상측 누적확률은 \(Q = 1 - P\)입니다.
$$P(\text{x}) = \frac{1}{2}\left[1 + \operatorname{erf}\!\left(\frac{\text{x} - \mu}{\sigma\sqrt{2}}\right)\right]$$$$Q(\text{x}) = 1 - \frac{1}{2}\left[1 + \operatorname{erf}\!\left(\frac{\text{x} - \mu}{\sigma\sqrt{2}}\right)\right]$$Java/Groovy에는 erf 함수가 기본으로 내장되어 있지 않으므로, 이 도구는 Abramowitz & Stegun 7.1.26 다항식 근사를 사용하며, 정확도는 약 \(1.5\times10^{-7}\) 수준입니다.
계산 예시
표준정규분포(\(\mu=0\), \(\sigma=1\))에서 \(x = 1\)일 때:
$$f(1) = 0.3989423 \cdot e^{-0.5} = 0.241971$$P의 경우 \(z = 1/\sqrt{2} = 0.70711\)이고 \(\operatorname{erf}(z) \approx 0.68269\)이므로
$$P = \frac{1}{2}(1 + 0.68269) = 0.84134$$입니다(잘 알려진 \(\Phi(1) \approx 0.8413\)). 그러면 \(Q = 1 - 0.84134 = 0.15866\)이고, \(P + Q = 1\)이 됩니다. ✓
자주 묻는 질문
\(\sigma\)는 왜 반드시 양수여야 하나요? 표준편차가 0이거나 음수이면 의미가 없을 뿐 아니라 공식에서 0으로 나누는 문제가 생기므로, 이 도구는 이를 허용하지 않습니다.
스텝을 음수로 지정할 수 있나요? 가능합니다. 음수 스텝은 x를 점점 줄여 나가고, 스텝이 0이면 동일한 x 값이 반복되는 일정한 열이 만들어집니다.
P와 Q는 얼마나 정확한가요? 최대 오차가 약 \(1.5\times10^{-7}\) 수준인 다항식 erf 근사를 사용하므로, 그래프 작성과 대부분의 통계 작업에 충분합니다.