两个iid对数正态随机变量的差


23

令和为2个iidrv,其中。我想知道的分布。X 2日志X 1日志X 2Ñ μ σ X 1 - X 2X1X2log(X1),log(X2)N(μ,σ)X1X2

我所能做的最好是将二者的泰勒级数取整,得出的差值是两个法线rv和两个卡方rv的差之和,以及其余各项之间的差。是否有更直接的方法来获取2个iid对数正态rv之间的差异的分布?


这是一篇相关的论文。您可以通过谷歌搜索找到更多论文! papers.ssrn.com/sol3/papers.cfm?abstract_id=2064829
kjetil b halvorsen

1
我粗略浏览了一下该论文,它似乎并没有以令人满意的方式回答我的问题。他们似乎与数值逼近有关,这是为找到相关对数正态rv 之间的和/差的分布的较难问题的数值近似。我希望对独立案件有一个更简单的答案。
frayedchef 2015年

2
在独立情况下,这可能是一个简单的答案,但不是一个简单的答案!对数正态情况是一个著名的硬情况-对数正态分布的矩生成函数不存在-也就是说,它不收敛于包含零的开放区间。因此,您将找不到简单的解决方案。
kjetil b halvorsen

我知道了...那么我上面概述的方法是否合理?(即,如果Yi=log(Xi)X1X2(Y1Y2)+(Y12Y22)/2+..我们是否知道有关高阶术语的任何知识,或者如何对其进行约束?
frayedchef 2015年

1
为了说明的难度---对数正态分布MGF仅在定义为了接近通过鞍点方法的不同分布,我们需要(K =累积GF)。ķ 小号+ ķ - 小号,和该总和仅定义为一个点,零。所以,似乎不起作用,总和或平均值会更简单!(,0]K(s)+K(s
kjetil b halvorsen

Answers:


15

这是一个难题。我首先考虑过使用(近似)对数正态分布的矩生成函数。正如我将要解释的那样,这是行不通的。但首先要注意的是:

为标准正态密度,而Φ为相应的累积分布函数。我们将只分析的情况下的对数正态分布Ñ Ñ 0 1 ,它具有密度函数 ˚F X = 1ϕΦññ01个 和累积分布函数 Fx=Φlnx 假设XY是具有上述对数正态分布的独立随机变量。我们对D=X-Y的分布感兴趣,它是均值为零的对称分布。让中号=ÈËX是瞬间发生的功能X。它仅针对t

FX=1个2πXË-1个2lnX2
F(x)=Φ(lnx)
XYD=XY中号Ť=ËËŤXX,所以没有在包含零开区间定义的时刻生成函数。 d中号d= È È X - Ý = È Ë X ë ë - ÿ = M t M t 。因此,仅在 t = 0时定义 D的力矩生成函数Ť-0]d中号dŤ=ËËŤX-ÿ=ËËŤXËË-Ťÿ=中号Ť中号-ŤdŤ=0,所以不是很有用。

这意味着我们将需要一些更直接的方法来找到分布的近似值。假设0,计算 P d dŤ0(与壳体<0是由对称解决,我们得到Pd=1-Pd||)。

PdŤ=PX-ÿŤ=0PX-ÿŤ|ÿ=ÿFÿdÿ=0PXŤ+ÿFÿdÿ=0FŤ+ÿFÿdÿ
Ť<0PdŤ=1个-Pd|Ť|

该表达式可用于数值积分或作为仿真的基础。首先进行测试:

 integrate(function(y) plnorm(y)*dlnorm(y), lower=0,  upper=+Inf)
  0.5 with absolute error < 2.3e-06

这显然是正确的。让我们将其包装在一个函数中:

pDIFF  <-  function(t) {
    d  <-  t
    for (tt in seq(along=t)) {
        if (t[tt] >= 0.0) d[tt] <- integrate(function(y) plnorm(y+t[tt])*dlnorm(y),
                                         lower=0.0,  upper=+Inf)$value else
                          d[tt] <- 1-integrate(function(y) plnorm(y+abs(t[tt]))*dlnorm(y),
                                         lower=0.0, upper=+Inf)$value
    }
    return(d)
}

> plot(pDIFF,  from=-5,  to=5)

这使:

通过数值积分发现累积分布函数

然后我们可以通过对整数符号进行微分来求出密度函数,得到

dDIFF  <-  function(t) {
       d  <- t; t<- abs(t)
       for (tt in seq(along=t)) {
           d[tt]  <-  integrate(function(y) dlnorm(y+t[tt])*dlnorm(y),
                                lower=0.0,  upper=+Inf)$value
       }
       return(d)
}

我们可以测试:

> integrate(dDIFF,  lower=-Inf,  upper=+Inf)
0.9999999 with absolute error < 1.3e-05

绘制密度,我们得到:

plot(dDIFF,  from=-5,  to=5)

通过数值积分发现密度函数

我也曾尝试获得一些解析近似值,但是到目前为止没有成功,这不是一个容易的问题。但是,用R编程的上述数值积分在现代硬件上非常快,因此是一个很好的选择,应该更多地使用它。


1

Xÿ

XÿŤ=日志Xÿ日志Ť=日志X-日志ÿ日志Ťñ02σ2

根据您的应用程序,这可能满足您的需求。


3
但是我们不是看XY而不是log(X)-log(Y)吗?
Sextus Empiricus

当然是。这只是为了防止有人想知道两个对数正态变量彼此之间如何不同而不必一定有所不同。这就是为什么我也说这不能解决问题。
文森特·特拉格
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.