Différence de deux variables aléatoires log-normales iid

23

Soit X1 et deux iidrv où . Je voudrais connaître la distribution pour .X2log(X1),log(X2)N(μ,σ)X1X2

Le mieux que je puisse faire est de prendre la série Taylor des deux et de faire en sorte que la différence soit la somme de la différence entre deux VR normaux et deux RV chi carré en plus du reste de la différence entre les autres termes. Existe-t-il un moyen plus simple d'obtenir la distribution de la différence entre 2 VR log-normaux iid?

frayedchef
la source
Voici un article pertinent. Vous trouverez plus d'articles en recherchant sur Google! papers.ssrn.com/sol3/papers.cfm?abstract_id=2064829
kjetil b halvorsen
1
J'ai jeté un coup d'œil rapide à ce document, et il ne semble pas répondre à ma question de manière satisfaisante. Ils semblent s'intéresser aux approximations numériques du problème plus difficile de trouver la distribution de la somme / différence entre les VR lognormaux corrélés . J'espérais qu'il y aurait une réponse plus simple pour le cas indépendant.
frayedchef
2
Ce pourrait être une réponse plus simple dans le cas indépendant, mais pas simple! Le cas lognormal est un cas dur bien connu --- la fonction de génération de moment de la distribution lognormal n'existe pas --- c'est-à-dire qu'elle ne converge pas sur un intervalle ouvert contenant zéro. Vous ne trouverez donc pas de solution simple.
kjetil b halvorsen
Je vois ... L'approche décrite ci-dessus serait-elle donc raisonnable? (c.-à-d., si , X 1 - X 2( Y 1 - Y 2 ) + ( Y 2 1 - Y 2 2 ) / 2 +Yi=log(Xi)Savons-nous quoi que ce soit sur les termes d'ordre supérieur, ou comment les lier? X1X2(Y1Y2)+(Y12Y22)/2+...
frayedchef
1
Pour illustrer la difficulté --- le mgf lognormal est uniquement défini sur . Pour approximer la distribution de différence par les méthodes de point de selle, nous avons besoin de (K = cumulant gf) K ( s ) + K ( - s ) , et cette somme n'est définie qu'en un point, zéro. Donc, cela ne semble pas fonctionner. La somme ou la moyenne serait plus simple!(,0]K(s)+K(s)
kjetil b halvorsen

Réponses:

15

C'est un problème difficile. J'ai d'abord pensé à utiliser (une approximation de) la fonction de génération de moment de la distribution lognormale. Cela ne fonctionne pas, comme je vais l'expliquer. Mais d'abord une notation:

Soit la densité normale standard et Φ la fonction de distribution cumulative correspondante. Nous n'analyserons que la distribution log-normale des cas l n N ( 0 , 1 ) , qui a une fonction de densité f ( x ) = 1ϕΦlnN(0,1) et fonction de distribution cumulative F(x)=Φ(lnx) Supposons queXetYsont des variables aléatoires indépendantes avec la distribution log-normale ci-dessus. Nous nous intéressons à la distribution deD=X-Y, qui est une distribution symétrique à zéro moyen. SoitM(t)=EetXest la fonction de génération de moment deX. Il est défini uniquement pourt

f(x)=12πxe12(lnx)2
F(x)=Φ(lnx)
XYD=XYM(t)=EetXX , donc non défini dans un intervalle ouvert contenant zéro. La fonction de génération de moment pour D est M D ( t ) = E e t ( X - Y ) = E e t X E e - t Y = M ( t ) M ( - t ) . Ainsi, la fonction de génération de moment pour D n'est définie que pour t = 0t(,0]DMD(t)=Eet(XY)=EetXEetY=M(t)M(t)Dt=0, donc pas très utile.

Cela signifie que nous aurons besoin d' une approche plus directe pour trouver des approximations pour la distribution de . Supposons que t 0 , calculez P ( D t )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<0 est résolu par symétrie, on obtient P(t)=1-P(|t|)).

Cette expression peut être utilisée pour l'intégration numérique ou comme base de simulation. D'abord un test:

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

ce qui est clairement correct. Enveloppons cela dans une fonction:

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)

qui donne:

cumulative distribution function found by numerical integration

On peut alors trouver la fonction de densité en se différenciant sous le signe intégral, en obtenant

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)
}

que nous pouvons tester:

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

Et en traçant la densité que nous obtenons:

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

density function found by numerical integration

J'ai également essayé d'obtenir une approximation analytique, mais jusqu'à présent, je n'ai pas réussi, ce n'est pas un problème facile. Mais l'intégration numérique comme ci-dessus, programmée en R est très rapide sur du matériel moderne, c'est donc une bonne alternative qui devrait probablement être beaucoup plus utilisée.

kjetil b halvorsen
la source
1

Cela ne répond pas strictement à votre question, mais ne serait-il pas plus facile de regarder le rapport X et Oui? Vous arrivez alors simplement à

Pr(XYt)=Pr(log(XY)log(t))=Pr(log(X)log(Y)log(t))N(0,2σ2)

Depending on your application, this may serve your needs.

Vincent Traag
la source
3
But aren't we looking at X-Y instead of log(X) - log(Y) ?
Sextus Empiricus
Yes, of course. This is just in case somebody would be interested in knowing how two lognormal variables differ from each other without it necessarily needing to be a difference. That's why I also say it doesn't the answer the question.
Vincent Traag