是否可以对


10

首先,我的意思是说,通过分析积分,可以解决积分问题,而不是像数值分析(例如梯形,Gauss-Legendre或Simpson规则)来解决这个问题?

我有一个函数f(x)=xg(x;μ,σ)其中

g(x;μ,σ)=1σx2πe12σ2(log(x)μ)2
是对数正态分布的概率密度函数,其中参数μσ。在下面,我将把符号缩写为g(x)并将G(x)用作累积分布函数。

我需要计算积分

abf(x)dx.

目前,我正在使用Gauss-Legendre方法进行数值积分。因为我需要多次运行,所以性能很重要。在研究优化数值分析/其他部分之前,我想知道是否有任何积分规则可以解决这个问题。

我尝试应用“按部分积分”规则,然后我又陷入了困境,

  1. udv=uvvdu

  2. u=xdu=dx

  3. dv=g(x)dxv=G(x)

  4. uvvdx=xG(x)G(x)dx

我陷入困境,因为我无法评估G(x)dx

这是针对我正在构建的软件包的。


@Rosh,通过表示概率密度?lognormal
mpiktas 2011年

1
这可以表示为两个正常cdfs之差的恒定乘积。使用W. Cody有理Chebyshev逼近可以有效地计算正常cdfs。您不需要,而且几乎毫无疑问不希望使用数字积分替代方案。如果您需要更多详细信息,我可以发布它们。
主教

@mpiktas,是的,对数正态是概率密度函数,对数正态CDF是累积密度函数。
Rosh

3
@Rosh具有对数正态分布,表示是正态分布。因此,替代在原来的积分。整数是一个指数,其参数是的二次函数。完成正方形后,它会变成普通PDF的倍数,因此您的答案将以普通CDF和原始端点的指数表示。正常CDF有很多很好的近似值(误差函数的倍数)。log x x = exp y yxlog(x)x=exp(y)y
whuber

1
是的,@ whuber和我正在描述同一件事。您应该得到类似,其中和和表示普通cdf。请注意,根据,,和,有一些方法可以重写此表达式以使其在数值上更稳定。β=日志b- μ+σ2/σα=日志- μ+σ2/σΦ一个bμσeμ+12σ2(Φ(β)Φ(α))β=(log(b)(μ+σ2))/σα=(log(a)(μ+σ2))/σΦ()abμσ
主教

Answers:


15

简短的回答:不,至少在基本功能方面是不可能的。但是,存在非常好的(且相当快!)数值算法来计算这样的数量,在这种情况下,它们应优于任何数值积分技术。

正常CDF感兴趣的数量

您感兴趣的数量实际上与对数正态随机变量的条件均值密切相关。也就是说,如果以参数和分布为对数正态分布,则使用您的符号 μ σ b 一个 ˚F X d X = b 一个 1Xμσ

abf(x)dx=ab1σ2πe12σ2(log(x)μ)2dx=P(aXb)E(XaXb).

要获得此积分的表达式,请代入。乍一看,这似乎没有任何动机。但是,请注意,使用此替换并通过简单地更改变量,我们得到 其中和。X = ë μ + σ 2 ë σ Ž b 一个 ˚F X d X = ë μ + 1z=(log(x)(μ+σ2))/σx=eμ+σ2eσzα = 日志- μ + σ 2/ σ β = 日志b - μ + σ 2/ σ

abf(x)dx=eμ+12σ2αβ12πe12z2dz,
α=(log(a)(μ+σ2))/σβ=(log(b)(μ+σ2))/σ

因此, 其中是标准正态累积分布函数。Φ X = X - 1

abf(x)dx=eμ+12σ2(Φ(β)Φ(α)),
Φ(x)=x12πez2/2dz

数值近似

人们通常说不存在已知封闭形式表达式。但是,从1800年代初期的Liouville定理可以得出更强的结论:此函数没有闭合形式的表达式。(有关这种特殊情况的证明,请参阅Brian Conrad的文章。)Φ(x)

因此,我们只能使用数值算法来近似所需的数量。可以通过WJ Cody's算法在IEEE双精度浮点内完成此操作。这是解决此问题标准算法,并且利用相当低阶的有理表达式,它也非常有效。

这里是讨论近似值的参考:

WJ Cody,误差函数的有理切比雪夫近似数学。比较 ,1969年,第631--637页。

它也是MATLAB和等中使用的实现,以防那些使得更容易获得示例代码的情况。R

如果您有兴趣,是一个相关的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.