2つのiid対数正規確率変数の差


23

レッツと 2 iidrvのこと。分布を知りたい。X 2ログX 1ログX 2N μ σ X 1 - X 2X1X2log(X1),log(X2)N(μ,σ)X1X2

私ができる最善の方法は、両方のテイラー級数を取り、差が残りの項間の差の残りに加えて、2つの通常のrvと2つのカイ二乗rvの差の合計であることを取得することです。2つのiid対数正規rvの差の分布を取得するより簡単な方法はありますか?


関連する論文はこちらです。グーグルでより多くの論文を見つけるでしょう! papers.ssrn.com/sol3/papers.cfm?abstract_id=2064829
kjetil b halvorsen

1
私はその論文をざっと見ただけで、満足のいく方法で私の質問に答えているようには見えません。彼らは、相関した対数正規分布間の和/差の分布を見つけるというより難しい問題の数値近似に関係しているようです。私は、独立したケースに対してより簡単な答えがあることを望んでいました。
frayedchef

2
独立したケースではより単純な答えかもしれませんが、単純な答えではありません!対数正規型のケースは、有名なハードケースです---対数正規分布のモーメント生成関数は存在しません-つまり、ゼロを含む開区間に収束しません。したがって、簡単な解決策は見つかりません。
kjetil bハルヴォルセン

なるほど...それで、私が上で概説したアプローチは妥当でしょうか?(すなわち、場合Yi=log(Xi)X1X2(Y1Y2)+(Y12Y22)/2+...高次の用語について、またはそれらをどのようにバインドするのかを知っていますか?
frayedchef

1
難しさを説明するため---対数正規MGFのみで定義されている。saddlepoint方法によって差分布を近似するために、我々は、(K =キュムラントGF)が必要K S + K - S 、及びその合計は一点のみで定義されている、ゼロだから、仕事に思えるdoes notの和または平均は単純だろう。。!(,0]K(s)+K(s)
HalvorsenのはKjetil B

回答:


15

これは難しい問題です。最初に、対数正規分布のモーメント生成関数(の近似値)の使用について考えました。私が説明するように、それはうまくいきません。しかし、最初にいくつかの表記法:

ましょう標準正規密度とすることΦ対応する累積分布関数。我々は、ケースの対数正規分布を分析し、L N N 0 1 密度関数であり、 F X = 1ϕΦlnN(0,1) および累積分布関数 Fx=ΦlnxXYが上記の対数正規分布の独立したランダム変数で あると仮定します。D=XYの分布に興味があります。これは平均ゼロの対称分布です。ましょMtは=EETXの積率母関数であるXtに対してのみ定義されます

f(x)=12πxe12(lnx)2
F(x)=Φ(lnx)
XYD=XYM(t)=EetXX、そうゼロを含む開区間で定義されていないためモーメント発生機能。 Dがある M DT = E E T X - Y = E E T X E E - T Y = M t M t 。したがって、 Dのモーメント生成関数は t = 0に対してのみ定義されます。t(,0]DMD(t)=Eet(XY)=EetXEetY=M(t)M(t)Dt=0、あまり有用ではありません。

Dt0

P(Dt)=P(XYt)=0P(Xyt|Y=y)f(y)dy=0P(Xt+y)f(y)dy=0F(t+y)f(y)dy
t<0P(Dt)=1P(D|t|)

この式は、数値積分に使用したり、シミュレーションの基礎として使用したりできます。最初のテスト:

 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

XY

PrバツYt=PrログバツYログt=PrログバツログYログtN02σ2

アプリケーションによっては、これでニーズが満たされる場合があります。


3
しかし、log(X)-log(Y)の代わりにXYを見ていませんか?
セクストゥスエンピリカス

はい、もちろん。これは、2つの対数正規型変数が、必ずしも違いを必要とせずに互いにどのように異なるかを知りたい人がいる場合に備えています。だから私はそれが質問に答えていないとも言っています。
ヴィンセントトラーグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.