MCP로 연결 →

계산 입력

공식

Show calculation steps (1)
  1. Distribution Statistics

    Distribution Statistics: 로그정규분포 난수 생성기

    Theoretical mean, median, and variance of the log-normal distribution from mu and sigma.

광고

결과

생성된 로그정규 난수
10
양수 로그정규 난수 (Box-Muller)
0.4.991416963
1.18.99856497
2.33.37740555
3.125.0041649
4.3.917869606
5.8.717878858
6.0.3032173891
7.13.78565451
8.10.50881802
9.12.81095064
Theoretical mean E[X] = exp(μ + σ²/2) 20.085537
Theoretical median = exp(μ) 2.718282
이론적 분산 Var[X] 21,623.037001

이 생성기는 무엇을 하나요

이 도구는 로그정규분포(log-normal distribution)를 따르는 의사난수 목록을 만들어 줍니다. 어떤 확률변수 X의 자연로그 \(\ln(X)\)가 정규분포를 따를 때, X를 로그정규분포라고 부릅니다. 이 생성기는 먼저 고전적인 Box-Muller 변환으로 표준정규 난수를 만든 뒤, 이를 원하는 정규분포 \(N(\mu, \sigma^2)\)에 맞게 변환하고, 마지막으로 지수함수를 취해 항상 양수인 로그정규 값을 얻습니다.

평균, 중앙값, 최빈값이 표시된 오른쪽으로 치우친 로그정규 확률밀도 곡선
로그정규분포는 양수 값을 가지며 오른쪽으로 치우쳐 있고, 최빈값 < 중앙값 < 평균이다.

중요: μ와 σ가 의미하는 것

매개변수 \(\mu\)와 \(\sigma\)는 \(\ln(X)\), 즉 바탕이 되는 정규분포의 평균과 표준편차입니다. X 자체의 평균과 표준편차가 아니라는 점에 주의하세요. X의 실제 평균은 \(\exp(\mu + \sigma^2/2)\), 중앙값은 \(\exp(\mu)\), 분산은 \((\exp(\sigma^2) - 1)\cdot\exp(2\mu + \sigma^2)\)로 계산됩니다. 이 이론값들은 생성된 표본과 함께 표시되므로, 출력 결과가 올바른지 검산하는 데 활용할 수 있습니다.

$$\begin{aligned} \text{Mean} &= \exp\!\left(\mu + \tfrac{1}{2}\sigma^{2}\right) \\ \text{Median} &= \exp\!\left(\mu\right) \\ \text{Var} &= \left(e^{\sigma^{2}} - 1\right) e^{\,2\mu + \sigma^{2}} \end{aligned}$$

사용 방법

\(\mu\)(임의의 실수), \(\sigma\)(0 이상의 값), 그리고 생성할 난수의 개수(1~1000개)를 입력하세요. 표시할 유효숫자 자릿수도 선택합니다. 실행할 때마다 새로운 균등 난수를 뽑기 때문에 값은 매번 달라집니다. Box-Muller 방식은 균등 난수 한 쌍에서 정규 난수를 두 개씩 만들어 내므로, 개수를 홀수로 지정하면 남는 한 개의 난수는 그냥 버립니다.

광고

공식 설명

(0,1] 구간의 균등 난수 \(U_1, U_2\)에 대해 \(Z = \sqrt{-2\ln U_1}\,\cos(2\pi U_2)\)를 계산하면 \(Z \sim N(0,1)\)을 얻습니다. 그다음 \(Y = \mu + \sigma\, Z\)는 \(N(\mu, \sigma^2)\)를 따르고, \(X = \exp(Y)\)는 로그정규분포가 됩니다. \(\ln(0)\)을 계산하는 일을 막기 위해 \(U_1\)은 아주 작은 엡실론(epsilon) 값으로 하한을 둡니다.

$$\begin{gathered} X = \exp\!\left(\mu + \sigma\, Z\right) \\[1.5em] \text{where}\quad \left\{ \begin{aligned} Z &= \sqrt{-2\ln U_1}\,\cos(2\pi U_2) \\ U_1, U_2 &\sim \text{Uniform}(0,1) \end{aligned} \right. \end{gathered}$$
두 균등 난수를 로그정규 값으로 변환하는 박스-뮬러 변환 흐름도
두 균등 난수가 박스-뮬러 변환으로 표준정규 Z가 된 뒤, 스케일링과 지수화를 거쳐 X가 된다.

계산 예시

\(\mu = 1\), \(\sigma = 2\)로 두고 \(U_1 = 0.5\), \(U_2 = 0.25\)를 사용해 봅시다. 그러면 \(R = \sqrt{-2\ln 0.5} = 1.17741\)입니다. \(Z_1 = R\cos(\pi/2) = 0\)이고 \(Z_2 = R\sin(\pi/2) = 1.17741\)이 됩니다. 따라서

$$X_1 = \exp(1) = 2.71828, \quad X_2 = \exp(1 + 2\cdot 1.17741) = \exp(3.35482) \approx 28.64$$

이론적 평균 \(\exp(3) = 20.0855\)와 중앙값 \(\exp(1) = 2.71828\)과도 잘 들어맞습니다.

광고

자주 묻는 질문

왜 실행할 때마다 값이 다른가요? Math.random()을 사용하는 확률적 생성기이기 때문입니다. 시드(seed)를 고정하지 않으면 실행할 때마다 결과가 달라집니다.

σ = 0이면 어떻게 되나요? 분포가 퇴화(degenerate)되어 모든 값이 \(\exp(\mu)\)로 동일해집니다.

값이 음수가 될 수도 있나요? 아닙니다. 로그정규분포의 정의역은 \((0, \infty)\)이므로 모든 출력값은 항상 양수입니다.

최종 업데이트:

수학 및 통계 인기 계산기

수학 및 통계 계산기 전체 보기 →