Differenza di due variabili casuali lognormali iid


23

Sia X1 e X2 2 iidrv dove log(X1),log(X2)N(μ,σ) . Mi piacerebbe conoscere la distribuzione per X1-X2 .

Il meglio che posso fare è prendere la serie di Taylor di entrambi e capire che la differenza è la somma della differenza tra due camper normali e due camper chi-quadrati oltre al resto della differenza tra il resto dei termini. Esiste un modo più diretto per ottenere la distribuzione della differenza tra 2 iid log-normal rv's?


Ecco un documento pertinente. Troverai più articoli su Google! papers.ssrn.com/sol3/papers.cfm?abstract_id=2064829
kjetil b halvorsen

1
Ho dato un'occhiata superficiale a quel documento e non sembra rispondere alla mia domanda in modo soddisfacente. Sembrano preoccuparsi delle approssimazioni numeriche al problema più difficile di trovare la distribuzione per la somma / differenza tra camper lognormali correlati . Speravo che ci sarebbe stata una risposta più semplice per il caso indipendente.
frayedchef,

2
Potrebbe essere una risposta più semplice nel caso indipendente, ma non semplice! Il caso lognormale è un caso noto noto - la funzione generatrice del momento della distribuzione lognormale non esiste - cioè non converge su un intervallo aperto contenente zero. Quindi, non troverai una soluzione facile.
kjetil b halvorsen,

Capisco ... Quindi l'approccio che ho descritto sopra sarebbe ragionevole? (cioè se , X 1 - X 2( Y 1 - Y 2 ) + ( Y 2 1 - Y 2 2 ) / 2 +Yio=log(Xio)Sappiamo qualcosa sui termini di ordine superiore o su come vincolarli? X1-X2(Y1-Y2)+(Y12-Y22)/2+...
frayedchef,

1
Per illustrare la difficoltà --- il logfale mgf è definito solo su . Per approssimare la distribuzione della differenza con metodi a sella, abbiamo bisogno di (K = gf cumulativo) K ( s ) + K ( - s ) , e tale somma è definita solo in un punto, zero, quindi non sembra funzionare. La somma o la media sarebbero più semplici!(-,0]K(S)+K(-S)
kjetil b halvorsen

Risposte:


15

Questo è un problema difficile Ho pensato prima di usare (qualche approssimazione di) la funzione generatrice del momento della distribuzione lognormale. Non funziona, come spiegherò. Ma prima un po 'di notazione:

Sia la densità normale standard e Φ la corrispondente funzione di distribuzione cumulativa. Analizzeremo solo la distribuzione lognormale del caso l n N ( 0 , 1 ) , che ha la funzione di densità f ( x ) = 1φΦlnN(0,1) e funzione di distribuzione cumulativa F(x)=Φ(lnx) Supponiamo cheXeYsiano variabili casuali indipendenti con la distribuzione lognormale sopra. Siamo interessati alla distribuzione diD=X-Y, che è una distribuzione simmetrica con zero medio. LetM(t)=EetXla funzione generatrice dei momenti diX. È definito solo pert

f(X)=12πXe-12(lnX)2
F(X)=Φ(lnX)
XYD=X-YM(t)=EetXX , quindi non definito in un intervallo aperto contenente zero. La funzione di generazione del momento per D è M D ( t ) = E e t ( X - Y ) = E e t X E e - t Y = M ( t ) M ( - t ) Quindi, la funzione di generazione del momento per D è definita solo per t = 0t(-,0]DMD(t)=Eet(X-Y)=EetXEe-tY=M(t)M(-t)Dt=0, quindi non molto utile.

Dt0

P(Dt)=P(X-Yt)=0P(X-yt|Y=y)f(y)dy=0P(Xt+y)f(y)dy=0F(t+y)f(y)dy
t<0P(Dt)=1-P(D|t|)

Questa espressione può essere utilizzata per l'integrazione numerica o come base per la simulazione. Prima un test:

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

che è chiaramente corretto. Cerchiamo di concludere questo in una funzione:

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)

che dà:

funzione di distribuzione cumulativa trovata per integrazione numerica

Quindi possiamo trovare la funzione di densità differenziando sotto il segno integrale, ottenendo

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

che possiamo testare:

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

E tracciando la densità otteniamo:

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

funzione di densità rilevata dall'integrazione numerica

Ho anche cercato di ottenere un'approssimazione analitica, ma finora non ci sono riuscito, non è un problema facile. Ma l'integrazione numerica come sopra, programmata in R è molto veloce su hardware moderno, quindi è una buona alternativa che probabilmente dovrebbe essere usata molto di più.


1

XY

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

A seconda dell'applicazione, questo può soddisfare le tue esigenze.


3
Ma non stiamo guardando XY invece di log (X) - log (Y)?
Sesto Empirico

Sì, naturalmente. Questo è nel caso in cui qualcuno fosse interessato a sapere come due variabili lognormali differiscono l'una dall'altra senza che sia necessariamente necessario fare la differenza. Ecco perché dico anche che non risponde alla domanda.
Vincent Traag,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.