Main Content

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

logncdf

对数正态累积分布函数

说明

p = logncdf(x) 返回标准对数正态分布的累积分布函数 (cdf),在 x 中的值处计算函数值。在标准对数正态分布中,对数值的均值和标准差分别为 0 和 1。

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

示例

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

示例

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

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

示例

___ = logncdf(___,'upper') 返回在 x 中的值处计算的 cdf 的补函数值,它使用可更精确计算极端上尾概率的算法。'upper' 可以跟在上述语法中的任何输入参数组合之后。

示例

全部折叠

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

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

绘制 cdf。

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

Figure contains an axes object. The axes object with xlabel x, ylabel p 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 值及其 95% 置信区间。

[p,pLo,pUp] = logncdf(0.5,muHat,sigmaHat,pCov)
p = 0.0024
pLo = 0.0016
pUp = 0.0037

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

确定标准对数正态分布中的观测值落入 [exp(10),Inf] 区间的概率。

p1 = 1 - logncdf(exp(10))
p1 = 0

logncdf(exp(10)) 接近 1,因此 p1 变为 0。指定 'upper' 以便 logncdf 更准确地计算极端上尾概率。

p2 = logncdf(exp(10),'upper')
p2 = 7.6199e-24

您还可以使用 'upper' 计算右尾 p 值。

输入参数

全部折叠

用于计算 cdf 的值,指定为正标量值或正标量值数组。

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

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

示例: [-1,0,3,4]

数据类型: single | double

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

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

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

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

数据类型: single | double

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

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

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

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

数据类型: single | double

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

如果指定 pCov 来计算置信区间 [pLo,pUp],则 xmusigma 必须为标量值。

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

数据类型: single | double

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

示例: 0.01

数据类型: single | double

输出参数

全部折叠

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

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

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

详细信息

全部折叠

对数正态分布

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

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

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

算法

  • logncdf 函数使用补余误差函数 erfclogncdferfc 之间的关系是

    logncdf(x,0,1)=12erfc(logx2).

    补余误差函数 erfc(x) 定义为

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

  • logncdf 函数使用 delta 方法计算 p 的置信边界。参数为 musigmalog(x) 的正态分布 cdf 值等效于参数为 0 和 1 的 (log(x)–mu)/sigma 的 cdf 值。因此,logncdf 函数通过 delta 方法使用 musigma 的协方差矩阵来估计 (log(x)–mu)/sigma 的方差,并使用此方差的估计值来计算 (log(x)–mu)/sigma 的置信边界。然后,该函数将边界转换为 p 的尺度。当您从大样本中估计 musigmapCov 时,计算的界限会给出所需的大致置信水平。

替代功能

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

  • 使用 Probability Distribution Function 为概率分布创建累积分布函数 (cdf) 或概率密度函数 (pdf) 的交互图。

参考

[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. 2nd ed., Hoboken, NJ: John Wiley & Sons, Inc., 1993.

扩展功能

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

版本历史记录

在 R2006a 之前推出