Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

logninv

对数正态逆累积分布函数

说明

x = logninv(p) 基于 p 中的概率值计算并返回标准对数正态累积分布函数 (cdf) 的逆函数值。在标准对数正态分布中,对数值的均值和标准差分别为 0 和 1。

x = logninv(p,mu) 返回具有分布参数 mu(对数值的均值)和 1(对数值的标准差)的对数正态 cdf 的倒数,在 p 中的值处计算概率值。

示例

x = logninv(p,mu,sigma) 返回具有分布参数 mu(对数值的均值)和 sigma(对数值的标准差)的对数正态 cdf 的倒数,在 p 中的值处计算概率值。

[x,xLo,xUp] = logninv(p,mu,sigma,pCov) 还使用估计参数(musigma)及其协方差矩阵 pCov 返回 x 的 95% 置信边界 [xLo,xUp]。

[x,xLo,xUp] = logninv(p,mu,sigma,pCov,alpha) 指定置信区间 [xLo,xUp] 的置信水平为 100(1–alpha)%。

示例

全部折叠

计算均值为 mu 和标准差为 sigma 的对数正态分布在 p 中的概率值处的逆 cdf 值。

p = 0.005:0.01:0.995;
mu = 1;
sigma = 0.5;
x = logninv(p,mu,sigma);

绘制逆 cdf。

plot(p,x)
grid on
xlabel('p');
ylabel('x');

Figure contains an axes object. The axes object with xlabel p, ylabel x contains an object of type line.

计算对数正态分布参数的最大似然估计 (MLE),然后计算对应逆 cdf 值的置信区间。

从参数为 5 和 2 的对数正态分布生成 1000 个随机数。

rng('default') % For reproducibility
n = 1000; % Number of samples
x = lognrnd(5,2,[n,1]);

使用 mle 计算分布参数(对数值的均值和标准差)的 MLE。

phat = mle(x,'distribution','LogNormal')
phat = 1×2

    4.9347    1.9969

muHat = phat(1);
sigmaHat = phat(2);

使用 lognlike 估计分布参数的协方差。如果您传递 MLE 和用于估计 MLE 的样本,则函数 lognlike 返回渐近协方差矩阵的逼近。

[~,pCov] = lognlike(phat,x)
pCov = 2×2

    0.0040   -0.0000
   -0.0000    0.0020

计算在 0.5 处的逆 cdf 值及其 99% 置信区间。

[x,xLo,xUp] = logninv(0.5,muHat,sigmaHat,pCov,0.01)
x = 139.0364
xLo = 118.1643
xUp = 163.5953

x 是使用参数为 muHatsigmaHat 的对数正态分布的逆 cdf 值。考虑到使用 pCovmuHatsigmaHat 的不确定性,区间 [xLo,xUp] 是在 0.5 处计算的逆 cdf 值的 99% 置信区间。99% 置信区间意味着 [xLo,xUp] 包含真实逆 cdf 值的概率为 0.99。

输入参数

全部折叠

用于计算 cdf 的逆函数 (icdf) 的概率值,指定为标量值或标量值组成的数组,其中每个元素都在范围 [0,1] 内。

如果您指定 pCov 来计算置信区间 [xLo,xUp],则 p 必须为标量值。

要在多个值处计算 icdf,请使用数组指定 p。要计算多个分布的 icdf,请使用数组指定 musigma。如果输入参数 pmusigma 中的一个或多个是数组,则数组大小必须相同。在这种情况下,logninv 将每个标量输入扩展为与数组输入大小相同的常量数组。x 中的每个元素是基于 p 中对应元素计算的由 musigma 中对应元素指定的分布的 icdf 值。

示例: [0.1,0.5,0.9]

数据类型: single | double

对数正态分布的对数值的均值,指定为标量值或由标量值组成的数组。

如果您指定 pCov 来计算置信区间 [xLo,xUp],则 mu 必须为标量值。

要在多个值处计算 icdf,请使用数组指定 p。要计算多个分布的 icdf,请使用数组指定 musigma。如果输入参数 pmusigma 中的一个或多个是数组,则数组大小必须相同。在这种情况下,logninv 将每个标量输入扩展为与数组输入大小相同的常量数组。x 中的每个元素是基于 p 中对应元素计算的由 musigma 中对应元素指定的分布的 icdf 值。

示例: [0 1 2; 0 1 2]

数据类型: single | double

对数正态分布的对数值的标准差,指定为正标量值或正标量值数组。

如果您指定 pCov 来计算置信区间 [xLo,xUp],则 sigma 必须为标量值。

要在多个值处计算 icdf,请使用数组指定 p。要计算多个分布的 icdf,请使用数组指定 musigma。如果输入参数 pmusigma 中的一个或多个是数组,则数组大小必须相同。在这种情况下,logninv 将每个标量输入扩展为与数组输入大小相同的常量数组。x 中的每个元素是基于 p 中对应元素计算的由 musigma 中对应元素指定的分布的 icdf 值。

示例: [1 1 1; 2 2 2]

数据类型: single | double

musigma 估计值的协方差,指定为 2×2 矩阵。

如果指定 pCov 来计算置信区间 [xLo,xUp],则 pmusigma 必须为标量值。

您可以使用 mle 估计 musigma 的最大似然估计值,使用 lognlike 估计 musigma 的协方差。有关示例,请参阅逆对数正态 cdf 值的置信区间

数据类型: single | double

置信区间的显著性水平,指定为范围 (0,1) 内的标量。置信水平是 100(1–alpha)%,其中 alpha 是置信区间不包含 true 值的概率。

示例: 0.01

数据类型: single | double

输出参数

全部折叠

p 中的概率值处计算的 icdf 值,以标量值或标量值数组的形式返回。在经过任何必要的标量扩展后,x 的大小与 pmusigma 相同。x 中的每个元素是基于 p 中对应元素计算的由 musigma 中对应元素指定的分布的 icdf 值。

x 的置信边界下限,以标量值或标量值数组的形式返回。xLo 的大小与 x 相同。

x 的置信边界上限,以标量值或标量值数组的形式返回。xUp 的大小与 x 相同。

详细信息

全部折叠

对数正态分布

对数正态分布是一种概率分布,其对数具有正态分布。

根据对数正态 cdf,对数正态逆函数定义为

x=F1(p|μ,σ)={x:F(x|μ,σ)=p}

其中

p=F(x|μ,σ)=1σ2π0x1texp{(logtμ)22σ2}dt,forx>0.

算法

  • 函数 logninv 使用逆补余误差函数 erfcinvlogninverfcinv 的关系为

    logninv(p,0,1)=exp(2erfcinv(2p)).

    逆补余误差函数 erfcinv(x) 定义为 erfcinv(erfc(x))=x,补余误差函数 erfc(x) 定义为

    erfc(x)=1erf(x)=2πxet2dt.

  • logninv 函数使用 delta 方法计算 x 的置信边界。log(logninv(p,mu,sigma)) 等效于 mu + sigma*log(logninv(p,0,1))。因此,logninv 函数通过 delta 方法使用 musigma 的协方差矩阵来估计 mu + sigma*log(logninv(p,0,1)) 的方差,并使用此方差的估计值来计算置信边界。当您从大样本中估计 musigmapCov 时,计算的界限会给出所需的大致置信水平。

替代功能

  • logninv 是对数正态分布特有的函数。Statistics and Machine Learning Toolbox™ 还提供泛型函数 icdf,它支持各种概率分布。要使用 icdf,请创建一个 LognormalDistribution 概率分布对象,并将该对象作为输入参量传递,或指定概率分布名称及其参数。请注意,分布特有的函数 logninv 比泛型函数 icdf 的执行速度要快。

参考

[1] Abramowitz, M., and I. A. Stegun. Handbook of Mathematical Functions. New York: Dover, 1964.

[2] Evans, M., N. Hastings, and B. Peacock. Statistical Distributions. Hoboken, NJ: Wiley-Interscience, 2000. pp. 102–105.

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出