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(ln⁡X)2
F(X)=Φ(ln⁡X)
XYD=X-YM(t)=E⁡etXX , 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)=E⁡et(X-Y)=E⁡etXE⁡e-tY=M(t)M(-t)Dt=0, quindi non molto utile.

Dt≥0

P(D≤t)=P(X-Y≤t)=∫0∞P(X-y≤t|Y=y)f(y)dy=∫0∞P(X≤t+y)f(y)dy=∫0∞F(t+y)f(y)dy
t<0P(D≤t)=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(XY≤t)=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.