[javascript] 정규분포 계산

정규분포는 통계학과 확률 이론에서 중요한 분포 중 하나입니다. 정규분포를 계산하기 위해서는 표준 정규분포의 누적 분포 함수 (CDF)와 확률 밀도 함수 (PDF)를 사용할 수 있습니다.

누적 분포 함수 (CDF)

정규분포의 CDF는 다음과 같이 계산됩니다.

function cdf(x, mean, stdDev) {
  return 0.5 * (1 + erf((x - mean) / (stdDev * Math.sqrt(2))));
}

여기서 x는 값, mean은 평균, stdDev는 표준편차이며, erf는 오차 함수입니다.

확률 밀도 함수 (PDF)

정규분포의 확률 밀도 함수는 다음과 같이 계산됩니다.

function pdf(x, mean, stdDev) {
  return (1 / (stdDev * Math.sqrt(2 * Math.PI))) * Math.exp(-Math.pow(x - mean, 2) / (2 * Math.pow(stdDev, 2)));
}

예시

만약, 평균이 0이고 표준편차가 1인 정규분포에서 x 값이 1보다 작을 확률을 구하려면, 다음과 같이 계산할 수 있습니다.

const mean = 0;
const stdDev = 1;
const x = 1;
const probability = cdf(x, mean, stdDev);
console.log(probability);

이러한 방식으로, JavaScript를 사용하여 정규분포의 CDF와 PDF를 계산할 수 있습니다.


참고 문헌:

[1] Wikipedia. “Normal Distribution.” 링크

[2] NIST Digital Library of Mathematical Functions. “Error Function.” 링크