È possibile integrare analiticamente moltiplicato per la funzione di densità di probabilità lognormale?


10

In primo luogo, con l'integrazione analitica, intendo, esiste una regola di integrazione per risolverlo rispetto alle analisi numeriche (come le regole trapezoidali, Gauss-Legendre o Simpson)?

Ho una funzione f(x)=xg(x;μ,σ) dove

g(x;μ,σ)=1σx2πe12σ2(log(x)μ)2
è la funzione di densità di probabilità di una distribuzione lognormale con parametri μ e σ . Di seguito, abbrevierò la notazione in g(x) e userò G(x) per la funzione di distribuzione cumulativa.

Ho bisogno di calcolare l'integrale

abf(x)dx.

Attualmente, lo sto facendo con l'integrazione numerica usando il metodo Gauss-Legendre. Perché devo eseguirlo molte volte, le prestazioni sono importanti. Prima di cercare di ottimizzare le analisi numeriche / altri pezzi, vorrei sapere se ci sono regole di integrazione per risolvere questo problema.

Ho provato ad applicare la regola di integrazione per parti e sono arrivato a questo, dove mi sono bloccato di nuovo,

  1. udv=uvvdu .

  2. u=xdu=dx

  3. dv=g(x)dxv=G(x)

  4. uvvdx=xG(x)G(x)dx

Sono bloccato, poiché non riesco a valutare G(x)dx .

Questo è per un pacchetto software che sto costruendo.


@Rosh, per intendi la densità di probabilità della distribuzione log-normale? lognormal
mpiktas,

1
Questo è espressibile come un tempo costante una differenza di due normali PDF. I normali cdf vengono calcolati in modo efficiente utilizzando l'approssimazione razionale di Chebyshev di W. Cody. Non dovresti aver bisogno e, senza dubbio, non dovresti preferire alternative di integrazione numerica a questo. Se hai bisogno di maggiori dettagli, posso pubblicarli.
cardinale il

@mpiktas, Sì, lognormal è la funzione di densità di probabilità e lognormalCDF è la funzione di densità cumulativa.
Rosh,

3
@Rosh ha una distribuzione lognormale significa che è normalmente distribuito. Quindi, sostituisci nel tuo integrale originale . L'integrando è un esponenziale il cui argomento è una funzione quadratica di . Il completamento del quadrato lo trasforma in un multiplo di un normale PDF, quindi la tua risposta è scritta in termini di CDF normale e di esponenziali degli endpoint originali. Esistono molte buone approssimazioni al normale CDF (un multiplo della funzione di errore). xlog(x)x=exp(y)y
whuber

1
Sì, @whuber e stavamo descrivendo la stessa cosa. Dovresti ottenere qualcosa come dove e e indica il normale cdf. Si noti che, a seconda dei valori di , , e , ci sono modi per riscrivere questa espressione per essere più numericamente stabili. eμ+12σ2(Φ(β)Φ(α))β=(log(b)(μ+σ2))/σα=(log(a)(μ+σ2))/σΦ()abμσ
cardinale il

Risposte:


15

Risposta breve : No, non è possibile, almeno in termini di funzioni elementari. Tuttavia, esistono algoritmi numerici molto buoni (e ragionevolmente veloci!) Per calcolare tale quantità e in questo caso dovrebbero essere preferiti a qualsiasi tecnica di integrazione numerica.

Quantità di interesse in termini di normale cdf

La quantità che ti interessa è in realtà strettamente correlata alla media condizionale di una variabile casuale lognormale. Cioè, se è distribuito come lognormale con parametri e , quindi, usando la tua notazione, Xμσ

abf(x)dx=ab1σ2πe12σ2(log(x)μ)2dx=P(aXb)E(XaXb).

Per ottenere un'espressione per questo integrale, effettuare la sostituzione . A prima vista questo può sembrare un po 'privo di motivazione. Tuttavia, nota che usando questa sostituzione, e semplicemente cambiando le variabili, otteniamo dove e .z=(log(x)(μ+σ2))/σx=eμ+σ2eσz

abf(x)dx=eμ+12σ2αβ12πe12z2dz,
α=(log(a)(μ+σ2))/σβ=(log(b)(μ+σ2))/σ

Quindi, dove è lo standard normale funzione di distribuzione cumulativa.

abf(x)dx=eμ+12σ2(Φ(β)Φ(α)),
Φ(x)=x12πez2/2dz

Approssimazione numerica

Si afferma spesso che non esiste alcuna espressione nota in forma chiusa per . Tuttavia, un teorema di Liouville dei primi del 1800 afferma qualcosa di più forte: non esiste un'espressione a forma chiusa per questa funzione . (Per la prova in questo caso particolare, vedi il commento di Brian Conrad .)Φ(x)

Quindi, ci resta da usare un algoritmo numerico per approssimare la quantità desiderata. Questo può essere fatto all'interno della virgola mobile IEEE a precisione doppia tramite un algoritmo di WJ Cody. È l' algoritmo standard per questo problema e, usando espressioni razionali di un ordine abbastanza basso, è anche abbastanza efficiente.

Ecco un riferimento che discute l'approssimazione:

WJ Cody, approssimazioni razionali di Chebyshev per la funzione di errore , matematica. Comp. , 1969, pagg. 631-637.

È anche l'implementazione utilizzata in MATLAB e , tra gli altri, nel caso in cui quelli rendano più semplice ottenere il codice di esempio.R

Ecco una domanda correlata, nel caso ti interessi.

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.