当前位置: 首页 > news >正文

对数正态分布LogNormal

如果 ln ⁡ X ∼ N ( μ , σ 2 ) \ln X \sim \mathcal{N}(\mu, \sigma^2) lnXN(μ,σ2),那么 X X X服从对数正态分布,它的PDF是: 1 x σ 2 π exp ⁡ ( − ( ln ⁡ x − μ ) 2 2 σ 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()

demo

公式推导

关键在于理解概率密度变换(Probability Density Transformation) 的数学原理。重点解释为什么分母是 x x x而不是 ln ⁡ x \ln x lnx

核心问题

已知 ln ⁡ X ∼ N ( μ , σ 2 ) \ln X \sim \mathcal{N}(\mu, \sigma^2) lnXN(μ,σ2),即 Y = ln ⁡ X Y = \ln X Y=lnX 服从正态分布,其概率密度函数(PDF)为:

f Y ( y ) = 1 σ 2 π exp ⁡ ( − ( y − μ ) 2 2 σ 2 ) , y ∈ R f_Y(y) = \frac{1}{\sigma \sqrt{2\pi}} \exp \left( -\frac{(y - \mu)^2}{2\sigma^2} \right), \quad y \in \mathbb{R} fY(y)=σ2π 1exp(2σ2(yμ)2),yR

但我们需要的是 X = e Y X = e^Y X=eY的分布,即 X X X的 PDF f X ( x ) f_X(x) fX(x)

概率密度变换的推导

Y Y Y X X X的变换是一个非线性变换( X = e Y X = e^Y X=eY ),因此需要用到变量替换定理(Change of Variables Theorem)。具体步骤如下:

  1. 变换关系

Y = ln ⁡ X Y = \ln X Y=lnX ,即 X = e Y X = e^Y X=eY 。变换的雅可比行列式(Jacobian)为:

∣ d y d x ∣ = 1 x ( 因为  y = ln ⁡ x ⟹ d y / d x = 1 / x ) \left|\frac{d y}{d x}\right|=\frac{1}{x} \quad(\text { 因为 } y=\ln x \Longrightarrow d y / d x=1 / x) dxdy =x1( 因为 y=lnxdy/dx=1/x)

  1. PDF变换公式

对于单调变换 X = g ( Y ) X = g(Y) X=g(Y),概率密度满足:
f X ( x ) = f Y ( y ) ⋅ ∣ d y d x ∣ f_X(x) = f_Y(y) \cdot \left|\frac{dy}{dx} \right| fX(x)=fY(y) dxdy

y = ln ⁡ x y = \ln x y=lnx和雅可比行列式代入:
f X ( x ) = f Y ( ln ⁡ x ) ⋅ 1 x f_X(x) = f_Y(\ln x) \cdot \frac{1}{x} fX(x)=fY(lnx)x1

  1. 代入正态分布PDF

f Y ( y ) f_Y(y) fY(y) 的表达式代入:

f X ( x ) = 1 σ 2 π exp ⁡ ( − ( ln ⁡ x − μ ) 2 2 σ 2 ) ⋅ 1 x f_X(x) = \frac{1}{\sigma \sqrt{2\pi}} \exp \left( -\frac{(\ln x - \mu)^2}{2\sigma^2} \right) \cdot \frac{1}{x} fX(x)=σ2π 1exp(2σ2(lnxμ)2)x1

合并后即得到对数正态分布的 PDF:

f X ( x ) = 1 x σ 2 π exp ⁡ ( − ( ln ⁡ x − μ ) 2 2 σ 2 ) , x > 0 f_X(x) = \frac{1}{x \sigma \sqrt{2\pi}} \exp \left( -\frac{(\ln x - \mu)^2}{2\sigma^2} \right), \quad x > 0 fX(x)=xσ2π 1exp(2σ2(lnxμ)2),x>0

为什么分母是 x x x而不是 ln ⁡ x \ln x lnx

关键原因:分母的 x x x来自 雅可比行列式 d y d x = 1 x \frac{dy}{dx} = \frac{1}{x} dxdy=x1,它是对数变换 Y = ln ⁡ X Y = \ln X Y=lnX的导数。

如果强行改为 ln ⁡ x \ln x lnx ,会破坏概率密度的积分性质(即 ∫ f X ( x ) d x = 1 \int f_X(x) dx = 1 fX(x)dx=1),导致分布不合法。

物理意义: x x x是原始变量,而 ln ⁡ x \ln x lnx是变换后的变量。PDF 必须反映原始变量的概率密度,因此需要乘以 1 x \frac{1}{x} x1来修正缩放比例。

验证积分是否为1

可以验证 f X ( x ) f_X(x) fX(x)的积分:

∫ 0 ∞ 1 x σ 2 π exp ⁡ ( − ( ln ⁡ x − μ ) 2 2 σ 2 ) d x = 1 \int_0^\infty \frac{1}{x \sigma \sqrt{2\pi}} \exp \left( -\frac{(\ln x - \mu)^2}{2\sigma^2} \right) dx = 1 0xσ2π 1exp(2σ2(lnxμ)2)dx=1

通过变量替换 u = ln ⁡ x , d u = 1 x d x u = \ln x , du = \frac{1}{x} dx u=lnxdu=x1dx ,积分变为:

∫ − ∞ ∞ 1 σ 2 π e − ( u − μ ) 2 / 2 σ 2 d u = 1 \int_{-\infty}^\infty \frac{1}{\sigma \sqrt{2\pi}} e^{-(u - \mu)^2 / 2\sigma^2} du = 1 σ2π 1e(uμ)2/2σ2du=1

这正是标准正态分布的积分性质。

总结

分母的 x x x是数学推导的必然结果,源于概率密度变换的雅可比行列式。它保证了 f X ( x ) f_X(x) fX(x)是一个合法的概率密度函数(积分为1)。若替换为 ln ⁡ x \ln x lnx ,会破坏分布的正确性。

相关文章:

  • DDD 到底是什么? 它试图解决什么核心问题?
  • Day-15【选择与循环】选择结构-if语句
  • 海盗64位GameServer的使用体验
  • 访谈 | 吴恩达全景解读 AI Agents 发展现状:多智能体、工具生态、评估体系、语音栈、Vibe Coding 及创业建议一文尽览
  • Python基于PCA、PCA-kernel、LDA的鸢尾花数据降维项目实战
  • 【深度学习-Day 22】框架入门:告别数据瓶颈 - 掌握PyTorch Dataset、DataLoader与TensorFlow tf.data实战
  • 多模态知识图谱可视化构建(neo4j+python+flask+vue环境搭建与示例)
  • 飞书常用功能(留档)
  • Linux入门(十四)rpmyum
  • 什么是 Docker Compose 的网络(network),为什么你需要它,它是怎么工作的
  • Windows Server部署Vue3+Spring Boot项目
  • 6个月Python学习计划 Day 13 - 文件操作基础
  • 移动网页调试的多元路径:WebDebugX 与其他调试工具的组合使用策略
  • 【搭建 Transformer】
  • 亚马逊Woot提报常见问题第一弹
  • 十五、【测试执行篇】异步与并发:使用 Celery 实现测试任务的后台执行与结果回调
  • Go语言学习-->编译器安装
  • leetcode47.全排列II:HashSet层去重与used数组枝去重的双重保障
  • 种草平台:重新定义购物的乐趣革命
  • 什么是“音节”?——语言构成的节拍单位
  • 只做特卖的网站/网站建设优化推广系统
  • 网站备案地/产品推广渠道有哪些方式
  • 做app网站的软件有哪些内容/精准客源引流平台
  • 中国沈阳app在哪里下载/海外seo培训
  • 赞皇建站建设/百度平台营销
  • 政府网站建设纳入考核内容/新闻式软文经典案例