2026a

# 对数正态分布

# 概述


对数正态分布,有时也称为高尔顿分布,是一种概率分布,其对数服从正态分布。当感兴趣的数量必须为正时,对数正态分布适用,因为 log(x) 仅在 x 为正时存在。

统计工具箱提供了几种处理对数正态分布的方法。

  • 通过指定参数值来创建概率分布对象 LognormalDistribution。然后,使用对象函数来评估分布、生成随机数等。

  • 使用具有指定分布参数的分布特定函数(logncdflognpdflogninvlognlikelognstatlognfitlognrnd)。特定于分布的函数可以接受多个对数正态分布的参数。

  • 使用具有指定分布名称(“LogNormal”)和参数的通用分布函数(cdfquantilepdfrandom)。

# 参数

对数正态分布使用以下参数

参数 描述 范围
mu( ) 对数值的平均值
sigma( ) 对数值的标准差

如果 X 遵循具有参数 µ 和 σ 的对数正态分布,则 log(X) 遵循具有均值 µ 和标准差 σ 的正态分布。

# 参数估计

要将对数正态分布拟合到数据并找到参数估计值,请使用 lognfit。

  • 对于未经审查的数据,lognfit 找到分布参数的无偏估计。

  • 对于删失数据,lognfit找到最大似然估计值。

lognfit返回参数估计。 对象属性 mu 和 sigma 存储参数估计值。

# 描述性统计量

对数正态随机变量的均值 m 和方差 v 是对数正态分布参数 µ 和 σ 的函数:

此外,您可以根据均值 m 和方差 v 计算对数正态分布参数 µ 和 σ:

# 概率密度函数

对数正态分布的概率密度函数 (pdf) 为

有关示例,请参阅计算对数正态分布pdf

# 累积分布函数

对数正态分布的累积分布函数 (cdf) 为

有关示例,请参阅计算对数正态分布cdf

# 示例

计算对数正态分布pdf

假设美国四口之家的收入服从对数正态分布,mu = log(20,000) 和 sigma = 1。计算并绘制收入密度。

通过指定参数值来创建对数正态分布对象。

using TyPlot
using TyStatistics
pd = LogNormal(log(20000),1)
pd = LogNormal{Float64}(μ=9.903487552536127, σ=1.0)

计算pdf值

x = (10:1000:125010)';
y = pdf.(pd,x);

绘制pdf

plot(x,y)
h = gca();
h.set_xticks([0, 30000, 60000, 90000, 120000]);
h.set_xticklabels(["0","\$30,000","\$60,000","\$90,000","\$120,000"]);
plt_update()

计算对数正态分布 cdf

计算对数正态分布 x 中的值评估的 cdf 值,均值为 mu 和标准差 sigma。

using TyPlot
using TyStatistics
x = 0:0.2:10;
mu = 0;
sigma = 1;
p = logncdf(x,mu,sigma);

绘制cdf

plot(x,p)
grid("on")
xlabel("x")
ylabel("p")

正态分布和对数正态分布之间的关系

如果 X 遵循具有参数 µ 和 σ 的对数正态分布,则 log(X) 遵循具有均值 µ 和标准差 σ 的正态分布。 使用分布对象检查正态分布和对数正态分布之间的关系。

通过指定参数值来创建对数正态分布对象。

using TyStatistics
using TyMath
pd = LogNormal(5,2)
pd = LogNormal{Float64}(μ=5.0, σ=2.0)

计算对数正态分布的平均值。

mean(pd)
ans = 1096.6331584284585

对数正态分布的均值不等于 mu 参数。 对数值的平均值等于 mu。 通过生成随机数来确认这种关系。

从对数正态分布生成随机数并计算它们的对数值。

rng = MT19937ar(5489)
x = lognrnd(rng,5,2,10000,1);
logx=log.(x);

计算对数值的平均值。

m = mean(logx)
m = 5.003318862423448

x 的对数的均值接近 x 的 mu 参数,因为 x 具有对数正态分布。

构造具有正态分布拟合的 logx 直方图。

histfit(logx)

该图显示 x 的对数值呈正态分布。

使用 normfit 获取拟合中使用的参数。

mu,sigma,muCI,sigmaCI = normfit(logx)
mu = 5.003318862423448

sigma = 1.9829553503052677

muCI = 2×1 Matrix{Float64}:
 4.964448946589717
 5.04218877825718

sigmaCI = 2×1 Matrix{Float64}:
 1.9558508045733602
 2.0108270742413348

估计的正态分布参数接近对数正态分布参数 5 和 2。

比较对数正态分布和毛刺分布pdf

使用对数正态分布生成的收入数据将对数正态 pdf 与 Burr pdf 进行比较。

using TyPlot
using TyStatistics
using TyMath
rng = MT19937ar(5489)
y = lognrnd(rng,log(25000),0.65,500);
pd = Burr(1.09658, 2.63743, 26007.2);

在同一个数字上绘制收入数据的 Burr 和对数正态 pdf。

p_burr = pdf.(pd,sort(y));
p_lognormal = pdf.(LogNormal(log(25000),0.65),sort(y));
plot(sort(y),p_burr,"-",sort(y),p_lognormal,"-.")
title("Burr and Lognormal pdfs Fit to Income Data")
legend(["Burr Distribution","Lognormal Distribution"])

# 相关分布

正态分布——对数正态分布与正态分布密切相关。 如果 X 是具有参数 μ 和 σ 的对数正态分布,则 log(x) 是具有均值 μ 和标准差 σ 的正态分布。 请参阅正态分布和对数正态分布之间的关系

Burr Type XII 分布 — Burr 分布是一个灵活的分布系列,可以表达各种分布形状。 它有许多常用分布作为限制情况,例如 gamma、对数正态、对数 Logistic、钟形和 J 形 beta 分布(但不是 U 形)。 请参阅比较对数正态分布和毛刺分布pdf

# 另请参阅

LognormalDistribution | logncdf | lognpdf | logninv | lognlike | lognstat | lognfit | lognrnd