Come campionare dalla distribuzione discreta sugli interi non negativi?


10

Ho la seguente distribuzione discreta, dove sono costanti conosciute:α,β

p(x;α,β)=Beta(α+1,β+x)Beta(α,β)for x=0,1,2,

Quali sono alcuni approcci per campionare in modo efficiente da questa distribuzione?

Risposte:


9

Questa è una distribuzione binomiale beta negativa , con il parametro nel tuo caso, usando la notazione di Wikipedia. Chiamò anche la distribuzione Beta-Pascal quando è un numero intero. Come hai notato in un commento, questa è una distribuzione predittiva nel modello binomiale negativo bayesiano con un coniugato Beta prima della probabilità di successo.r=1r

Quindi puoi campionarlo campionando una variabile quindi campionando una variabile binomiale negativa (con nel tuo caso, cioè per dire una distribuzione geometrica).Beta(α,β)uNB(r,u)r=1

Questa distribuzione è implementata nel pacchetto R brr. Il campionatore ha nome rbeta_nbinom, pmf ha nome dbeta_nbinom, ecc. Le notazioni sono , , . Dai un'occhiata:a=rc=αd=β

> Alpha <- 2; Beta <- 3
> a <- 1
> all.equal(brr::dbeta_nbinom(0:10, a, Alpha, Beta), beta(Alpha+a, Beta+0:10)/beta(Alpha,Beta))
[1] TRUE

Guardando il codice, si può vedere che in realtà chiama la ghyperfamiglia (ipergeometrica generalizzata) di distribuzioni del SuppDistspacchetto:

brr::rbeta_nbinom
function(n, a, c, d){
  rghyper(n, -d, -a, c-1)
}

Ineed, la distribuzione BNB è nota come distribuzione ipergeometrica generalizzata di tipo IV . Vedi l'aiuto di ghypernel SuppDistspacchetto. Credo che ciò si possa trovare anche nel libro Univariate Discrete Distributions di Johnson & al .


Questa risposta è ottima, ma sarebbe ancora meglio se dimostrassi che la densità OP postata è la stessa della densità binomiale negativa.
Sycorax dice Ripristina Monica il

1
@ user777 Penso che l'autore dell'OP lo abbia dimostrato lui stesso, alla luce del suo commento alla risposta di Xian (distribuzione predittiva posteriore nel modello binomiale negativo con un coniugato Beta precedente).
Stéphane Laurent,

10

Dato che sta diminuendo con , suggerisco di generare una variazione uniforme e calcolo delle somme cumulate fino a La realizzazione è quindi uguale al corrispondente . Da

Beta(α+1,β+x)Beta(α,β)=αα+β+xβ+x1α+β+x1βα+β
xuU(0,1)
Sk=x=0kBeta(α+1,β+x)Beta(α,β)
Sk>u
k
Rx=Beta(α+1,β+x)Beta(α,β)=αα+β+xβ+x1α+β+x1βα+β=α+β+x1α+β+xβ+x1α+β+x1Rx1=β+x1α+β+xRx1
e il calcolo può evitare di usare del tutto le funzioni gamma.
Sk=Sk1+Rk

1
(+1) L'uso di accelererà notevolmente il lavoro. Sk=1Γ(a+b)Γ(b+k+1)Γ(b)Γ(a+b+k+1)
whuber

1
Per quanto riguarda la modifica: sospetto che lo sfruttamento delle funzioni Gamma sarà comunque utile per risolvere in termini di , e . Ad esempio, si potrebbe trovare un'approssimazione iniziale usando la formula di Stirling nella valutazione di e e poi lucidatura che con pochi Newton-Raphson passi. Quelli hanno bisogno di una valutazione del log Gamma e dei suoi derivati. Ovviamente se e sono entrambi integrali, la soluzione è la radice di un polinomio, ma anche in questo caso l'utilizzo di Gamma potrebbe essere ancora la strada da percorrere. kuαβuΓ(b+k+1)Γ(a+b+k+1)αβ
whuber

1
Bella risposta! Ho accettato la risposta data da SL perché ha portato alla mia attenzione un punto chiave (non parte della domanda originale), che il campionamento dal predittivo posteriore equivale al campionamento del parametro dal posteriore, quindi al campionamento dei dati dalla probabilità. In particolare, la funzione di distribuzione sopra è la previsione posteriore di un dato geometrico con Beta precedente al parametro . p
jII
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.