如果lnX∼N(μ,σ2)\ln X \sim \mathcal{N}(\mu, \sigma^2)lnX∼N(μ,σ2),那么XXX服从对数正态分布,它的PDF是:1xσ2πexp(−(lnx−μ)22σ2)\frac{1}{x \sigma \sqrt{2\pi}} \exp \left( -\frac{(\ln x - \mu)^2}{2\sigma^2} \right)xσ2π1exp(−2σ2(lnx−μ)2)
图例
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm, lognorm
# 设置参数
mu = 0.0# 正态分布的均值
sigma = 0.5 # 正态分布的标准差
# 生成x轴数据
x_normal = np.linspace(-3, 3, 500)# 正态分布定义域:实数范围
x_lognormal = np.linspace(0.01, 5, 500) # 对数正态定义域:x > 0
# 计算PDF
pdf_normal = norm.pdf(x_normal, mu, sigma) # 正态分布PDF
pdf_lognormal = lognorm.pdf(x_lognormal, s=sigma, scale=np.exp(mu))# 对数正态PDF
# 绘制图形
plt.figure(figsize=(12, 5))
# 子图1:正态分布
plt.subplot(1, 2, 1)
plt.plot(x_normal, pdf_normal, 'b-', lw=2, label=f'N(μ={
mu}, σ={
sigma})')
plt.title('Normal Distribution PDF')
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.legend()
plt.grid(True)
# 子图2:对数正态分布
plt.subplot(1, 2, 2)
plt.plot(x_lognormal, pdf_lognormal, 'r-', lw=2, label=f'Log-N(μ={
mu}, σ={
sigma})')
plt.title('Log-Normal Distribution PDF')
plt.xlabel('x (x > 0)')
plt.ylabel('Probability Density')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()

公式推导
关键在于理解概率密度变换(Probability Density Transformation) 的数学原理。重点解释为什么分母是xxx而不是lnx\ln xlnx。
核心问题
已知 lnX∼N(μ,σ2)\ln X \sim \mathcal{N}(\mu, \sigma^2)lnX∼N(μ,σ2),即 Y=lnXY = \ln X

最低0.47元/天 解锁文章
394

被折叠的 条评论
为什么被折叠?



