レッツと 2 iidrvのこと。分布を知りたい。X 2ログ(X 1)、ログ(X 2)〜N (μ 、σ )X 1 - X 2
私ができる最善の方法は、両方のテイラー級数を取り、差が残りの項間の差の残りに加えて、2つの通常のrvと2つのカイ二乗rvの差の合計であることを取得することです。2つのiid対数正規rvの差の分布を取得するより簡単な方法はありますか?
レッツと 2 iidrvのこと。分布を知りたい。X 2ログ(X 1)、ログ(X 2)〜N (μ 、σ )X 1 - X 2
私ができる最善の方法は、両方のテイラー級数を取り、差が残りの項間の差の残りに加えて、2つの通常のrvと2つのカイ二乗rvの差の合計であることを取得することです。2つのiid対数正規rvの差の分布を取得するより簡単な方法はありますか?
回答:
これは難しい問題です。最初に、対数正規分布のモーメント生成関数(の近似値)の使用について考えました。私が説明するように、それはうまくいきません。しかし、最初にいくつかの表記法:
ましょう標準正規密度とすることΦ対応する累積分布関数。我々は、ケースの対数正規分布を分析し、L N N (0 、1 )密度関数であり、 F (X )= 1 および累積分布関数 F(x)=Φ(lnx)XとYが上記の対数正規分布の独立したランダム変数で あると仮定します。D=X−Yの分布に興味があります。これは平均ゼロの対称分布です。ましょM(tは)=EETXの積率母関数であるX。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でプログラムされた上記の数値積分は、最新のハードウェアでは非常に高速であるため、おそらくより多く使用されるべき優れた代替手段です。
アプリケーションによっては、これでニーズが満たされる場合があります。