# 对数正态分布
# 概述
对数正态分布,有时也称为高尔顿分布,是一种概率分布,其对数服从正态分布。当感兴趣的数量必须为正时,对数正态分布适用,因为 log(x) 仅在 x 为正时存在。
统计工具箱提供了几种处理对数正态分布的方法。
通过指定参数值来创建概率分布对象 LognormalDistribution。然后,使用对象函数来评估分布、生成随机数等。
使用具有指定分布参数的分布特定函数(logncdf、lognpdf、logninv、lognlike、lognstat、lognfit、lognrnd)。特定于分布的函数可以接受多个对数正态分布的参数。
# 参数
对数正态分布使用以下参数
| 参数 | 描述 | 范围 |
|---|---|---|
| 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