[javascript] 확률 분포 계산

확률 분포는 확률 변수가 가질 수 있는 모든 값과 그 값들이 발생할 확률에 대한 정보를 제공합니다. 이번 포스트에서는 자바스크립트를 사용하여 간단한 확률 분포를 계산하는 방법에 대해 알아보겠습니다.

이산 확률 분포

이산 확률 변수는 유한한 몇 개의 값 중 하나를 취할 수 있는 변수를 의미합니다. 예를 들어, 동전 던지기는 앞면(1) 또는 뒷면(0)이라는 두 가지 값 중 하나를 가집니다.

이항 분포

이항 분포는 이항 시도에서 성공한 횟수에 대한 확률 분포를 의미합니다. n번의 독립적 시도 중 성공할 확률이 p인 경우, 성공한 횟수를 나타내는 이항 변수 X의 확률 분포를 계산할 수 있습니다.

function binomialDistribution(n, p, k) {
  const q = 1 - p;
  const coefficient = factorial(n) / (factorial(k) * factorial(n - k));
  return coefficient * Math.pow(p, k) * Math.pow(q, n - k);
}

위의 코드는 이항 분포를 계산하는 함수입니다. n은 시도 횟수, p는 성공 확률, k는 성공한 횟수를 의미합니다.

연속 확률 분포

연속 확률 변수는 가능한 값의 범위가 연속적인 변수를 의미합니다. 가장 대표적인 연속 분포로는 정규 분포가 있습니다.

정규 분포

정규 분포는 자연 현상에서 많이 나타나는 분포로, 평균과 표준 편차에 의해 결정됩니다.

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

위의 코드는 정규 분포를 계산하는 함수입니다. x는 변수, mean은 평균, stdDev는 표준 편차를 의미합니다.

결론

확률 분포의 계산은 통계 분야에서 매우 중요한 역할을 합니다. 자바스크립트를 사용하여 간단한 이산 및 연속 확률 분포를 계산하는 방법을 배웠습니다. 다양한 확률 분포를 계산해 보면서 통계적 지식을 더욱 넓히는 것을 권장합니다.

Reference