Semplice approssimazione della distribuzione cumulativa di Poisson nella coda lunga?


10

Voglio decidere la capacità di una tabella in modo che abbia probabilità residue inferiori a da traboccare per un dato , supponendo che il numero di voci segua una legge di Poisson con un dato aspettativa .2 - p p [ 40 120 ] E [ 10 310 12 ]C2pp[40120]E[1031012]

Idealmente, voglio il numero intero più basso Ctale che 1-CDF[PoissonDistribution[E],C] < 2^-pper dato pe E; ma sono contento di un Cpo 'più alto di quello. Mathematica va bene per il calcolo manuale, ma vorrei calcolare Cda pe Eal momento della compilazione, il che mi limita all'aritmetica a 64 bit di numeri interi.

Aggiornamento: In Mathematica (versione 7) e = 1000; p = 40; c = Quantile[PoissonDistribution[e], 1 - 2^-p]è 1231e sembra giusto (grazie a @Procrastinator); tuttavia il risultato per entrambi p = 50e lo p = 60è 1250, il che è sbagliato dal punto di vista della sicurezza (e conta: il mio esperimento si ripete per volte o più, e voglio chiaramente meno di probabilità complessive di fallimento). Voglio un po 'di approssimazione grezza ma sicura usando solo l'aritmetica di interi a 64 bit , come disponibile in C (++) al momento della compilazione. 2 - 30225230


1
Che ne dici C = Quantile[PoissonDistribution[E],1-2^p]?

1
Il termine principale della funzione di massa di probabilità del Poisson domina nella coda.
cardinale il

1
@Procrastinator: sì, funziona in Mathematica (eccetto per pproblemi di firma e precisione, nomi Ee Cche sono riservati). MA ho bisogno di una semplice approssimazione di ciò, possibilmente grezzo (ma sul lato sicuro) usando solo l'arityhmetic intero a 64 bit!
fgrieu,

3
Per quanto riguarda l'aggiornamento: Mathematica 8 restituisce 1262 per e 1290 per . Approssimazione normale (@Proc): non ci si può aspettare che funzioni bene nelle code, il che è cruciale per il calcolo. p = 60p=50p=60
whuber

1
Forse dovresti chiedere su StackOverflow. Non ho familiarità con i vincoli che hai. Non so cosa ti impedisce di utilizzare l'allocazione dinamica della memoria, o se puoi usare la ramificazione per decidere la dimensione dell'array, o quali sono i costi di definizione di un array che è il doppio delle dimensioni necessarie (e quindi non usare tutto di esso). Se alcune funzioni come (solo come esempio) hanno dato tu la risposta esatta, saresti in grado di implementare un'approssimazione sotto i tuoi vincoli o no? Sembra un problema di programmazione ora. μ+loglogμlogμμ+pμlogμ
Douglas Zare,

Risposte:


10

Una distribuzione di Poisson con media grande è approssimativamente normale, ma devi fare attenzione a voler un limite di coda e l'approssimazione normale è proporzionalmente meno accurata vicino alle code.

Un approccio usato in questa domanda MO e con le distribuzioni binomiali è riconoscere che la coda diminuisce più rapidamente di una serie geometrica, quindi puoi scrivere un limite superiore esplicito come una serie geometrica.

k=Dexp(μ)μkk!<k=Dexp(μ)μDD!(μD+1)kD=exp(μ)μDD!11μD+1<exp(μ)μD2πD(D/e)D11μD+1=exp(Dμ)(μD)DD+12πD(D+1μ)

La linea 2 linea 3 era correlata alla formula di Stirling. In pratica penso che tu voglia risolvere numericamente usando la ricerca binaria. Il metodo di Newton inizia con un'ipotesi iniziale didovrebbe anche funzionare.- p log 2 = log ( associato ) D = μ + c plog2=log(bound)D=μ+cμ.

Ad esempio, con e , la soluzione numerica che ottengo è 1384,89. Una distribuzione di Poisson con media assume i valori da a con probabilitàI valori da a verificano con probabilitàμ = 1000 1000 0 1384 1 - 1 / 2 100.06 . 0 1383 1 - 1 / 2 99.59 .p=100μ=100010000138411/2100.06.0138311/299.59.


1
+1. Un altro approccio mette in relazione le probabilità di coda di Poisson (a destra) con le probabilità di coda delle distribuzioni gamma (a sinistra), che possono essere attentamente (sovra) stimate con un'approssimazione a sella.
whuber

C'è una lunga strada da quella a qualcosa limitato all'aritmetica di numeri interi a 64 bit (senza exp, log, sqrt ..) ma ci lavorerò; ringrazia tutti!
fgrieu,

(+1) Fino all'invocazione dell'approssimazione di Stirling (che è irrilevante), questo è esattamente il limite che stavo (opacamente) facendo riferimento nel mio commento al PO. (Ad esempio, vedi qui .)
Cardinale

2

Yλ

G(x)=2(xlnxλ+λx)  sign(xλ).
Φk0
P(Y<k)Φ(G(k))P(Yk),
Φ(G(k1))P(Y<k)Φ(G(k))
k>0Φ(G(k+(1/2)))P(Yk)
Φ(G(k1/2))P(Y<k)Φ(G(k))
k>0


Se potessi scrivere l'equazione chiave (supponendo che ce ne siano solo una o due) sarebbe di aiuto nel caso in cui il collegamento si interrompesse in qualche momento.
jbowman
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.