这个计算器能做什么
对数正态分布用来描述一个取值为正的随机变量,其自然对数服从正态分布。如果 ln(x) 服从均值为 \(\mu\)、标准差为 \(\sigma\) 的正态分布,那么 x 就服从对数正态分布。本计算器可在你指定的一段 x 取值范围内,计算以下三种函数之一,并输出一张可直接查看或绘图的表格:概率密度 \(f(x)\)、下侧累积概率 \(P(x)\)(即累积分布函数 CDF),或上侧累积概率 \(Q(x) = 1 - P(x)\)。
使用方法
先选择要绘制的函数,然后输入 ln(x) 的均值 \(\mu\) 与标准差 \(\sigma\)。接着设置起始 x 值(Initial value of x)、相邻 x 之间的步长(Step)以及点的个数(Number of points)。计算器会在 \(x_i = \text{起始值} + i \times \text{步长}\)(\(i = 0, 1, \ldots, \text{点数} - 1\))处求值,并逐行列出每个 (x, 函数值) 的结果。其中 \(\sigma\) 必须为正,x 必须非负;当 x = 0 时,概率密度与下侧累积概率均为 0,上侧累积概率则为 1。
公式解析
概率密度为 $$f(x) = \frac{1}{x\,\sigma\sqrt{2\pi}}\exp\!\left(-\frac{\left(\ln x - \mu\right)^{2}}{2\,\sigma^{2}}\right),\quad x>0$$ 累积概率为 $$P(x) = \Phi\!\left(\frac{\ln x - \mu}{\sigma}\right) = \frac{1}{2}\left[1+\operatorname{erf}\!\left(\frac{\ln x - \mu}{\sigma\sqrt{2}}\right)\right]$$ 其中 \(\Phi\) 为标准正态分布的累积分布函数,\(\Phi(z) = \frac{1}{2}(1 + \operatorname{erf}(z/\sqrt{2}))\)。上侧累积概率(生存函数)为 $$Q(x) = 1 - \Phi\!\left(\frac{\ln x - \mu}{\sigma}\right) = \frac{1}{2}\left[1-\operatorname{erf}\!\left(\frac{\ln x - \mu}{\sigma\sqrt{2}}\right)\right]$$ 我们采用高精度的有理函数近似来计算 erf,最大误差约为 \(1.5\times10^{-7}\)。
实例演算
取 \(\mu = 0\)、\(\sigma = 1\),当 x = 1 时:$$z = \frac{\ln 1 - 0}{1} = 0$$ 概率密度 \(= \frac{1}{\sqrt{2\pi}} \approx 0.39894228\)。下侧累积概率 \(P = \Phi(0) = 0.5\)。上侧累积概率 \(Q = 1 - 0.5 = 0.5\)。当 x = 2 时:\(z = \ln 2 \approx 0.6931\),得到 \(f \approx 0.156874\),\(P \approx 0.75568\),\(Q \approx 0.24432\)。
常见问题
\(\mu\) 和 \(\sigma\) 是 x 本身的均值和标准差吗?不是。它们是 ln(x)(也就是底层那个正态变量)的均值和标准差,而不是 x 的。
x = 0 时会怎样?对数正态分布只在 x > 0 时有定义,因此为了避免出现 ln(0),我们规定 \(f(0) = 0\)、\(P(0) = 0\)、\(Q(0) = 1\)。
为什么 \(\sigma\) 必须为正?标准差为零或为负没有实际的分布意义,而且会导致除以零,所以计算器不接受 \(\sigma \le 0\) 的输入。