什么是对数正态分布?
如果一个取正值的随机变量 X,其自然对数 \(\ln(X)\) 服从正态分布,那么就称 X 服从对数正态分布。换句话说,\(X = e^Y\),其中 Y 是均值为 \(\mu\)、标准差为 \(\sigma\) 的正态变量。由于对数只对正数有定义,对数正态分布完全落在正实数轴上。正因如此,它特别适合用来刻画那些不可能为负的量,例如股票价格、收入水平、颗粒粒径、生物测量值以及失效时间(寿命)数据。
如何使用本计算器
先输入你想要求值的点 x(必须大于 0),再输入 \(\mu\) 和 \(\sigma\)。这里有一个初学者常踩的坑:本计算器中的 \(\mu\) 和 \(\sigma\) 是 \(\ln(X)\) 的均值和标准差,而不是 X 本身的均值和标准差。计算器会返回三个结果:概率密度 \(f(x)\)、下侧累积概率 \(P(x) = P(X \le x)\),以及上侧累积概率 \(Q(x) = P(X > x) = 1 - P(x)\)。
公式详解
先定义标准化分数 \(z = (\ln x - \mu) / \sigma\)。概率密度为
$$f(x) = \frac{1}{\text{x}\;\sigma\sqrt{2\pi}}\,\exp\!\left(-\frac{z^2}{2}\right)$$下侧累积概率为 \(P(x) = \Phi(z)\),其中 \(\Phi\) 是标准正态分布的累积分布函数,
$$\Phi(z) = 0.5 \cdot \left(1 + \operatorname{erf}\!\left(\frac{z}{\sqrt{2}}\right)\right)$$由于标准数学库通常不内置误差函数 erf,本工具采用 Abramowitz & Stegun 公式 7.1.26 的多项式近似,其精度约为 \(1.5 \times 10^{-7}\)。
计算实例
取 \(x = 2\)、\(\mu = 0\)、\(\sigma = 1\)。此时 \(\ln(2) = 0.693147\),故 \(z = 0.693147\)。概率密度为 \(f(2)\):分子的 exp 项约为 0.786429,除以 5.013256,得到约 0.156874。下侧累积概率 \(\Phi(0.693147) \approx 0.755891\),因此上侧累积概率 \(Q(2) = 1 - 0.755891 \approx 0.244109\)。
常见问题
为什么 x 必须为正? 对数正态分布只在 \(x > 0\) 时有定义,因为 \(\ln(x)\) 对非正数没有意义。当 \(x \le 0\) 时,密度 \(f(x) = 0\),\(P(x) = 0\),\(Q(x) = 1\)。
怎样求 X 本身的均值? X 的均值等于 \(\exp(\mu + \sigma^2/2)\),中位数等于 \(\exp(\mu)\),众数等于 \(\exp(\mu - \sigma^2)\)。请注意这些量都不同于描述 \(\ln(X)\) 的 \(\mu\) 和 \(\sigma\)。
如果 σ 等于 0 会怎样? 标准差为零会退化成一个点质量,并导致除以零,因此计算器不接受该取值;请改用一个较小的正 \(\sigma\)。