Il campionamento del rifiuto funzionerà eccezionalmente bene quando c d≥ exp( 5 ) ed è ragionevole per c d≥ exp( 2 ) .
Per semplificare un po 'la matematica, lascia che , scrivi e nota chex = ak = c dx = a
f( x ) ∝ kXΓ ( x )dX
per . L'impostazione dàx = u 3 / 2x ≥ 1x = u3 / 2
f( u ) ∝ ku3 / 2Γ(u3/2)u1/2du
per te . Quando , questa distribuzione è estremamente vicina a Normale (e si avvicina man mano che diventa più grande). In particolare, puoik ≥ exp ( 5 )u≥1k≥exp(5)k
Trova numericamente la modalità di (usando, ad esempio, Newton-Raphson).f(u)
Espandi al secondo ordine sulla sua modalità.logf(u)
Ciò produce i parametri di una distribuzione Normale strettamente approssimativa. Ad alta precisione, questa Normale approssimativa domina tranne nelle code estreme. (Quando , potrebbe essere necessario aumentare leggermente il PDF normale per garantire il dominio.)k < exp ( 5 )f(u)k<exp(5)
Avendo svolto questo lavoro preliminare per un dato valore di e aver stimato un costante (come descritto di seguito), ottenere una variabile casuale è una questione di:M > 1kM>1
Disegna un valore dalla distribuzione Normale dominante .g ( u )ug(u)
Se o se una nuova variazione uniforme supera , tornare al passaggio 1.X f ( u ) / ( M g ( u ) )u<1Xf(u)/(Mg(u))
Impostare .x=u3/2
Il numero atteso di valutazioni di causa delle discrepanze tra e è solo leggermente superiore a 1. (Alcune valutazioni aggiuntive si verificheranno a causa di rifiuti di variate inferiori a , ma anche quando è basso quanto la frequenza di tale le occorrenze sono piccole.)g f 1 k 2fgf1k2
Questo grafico mostra i logaritmi di g ed f come funzione di u per . Poiché i grafici sono così vicini, dobbiamo esaminare il loro rapporto per vedere cosa sta succedendo:k=exp(5)
Visualizza il rapporto di registro ; il fattore di stato incluso per assicurare che il logaritmo sia positivo in tutta la parte principale della distribuzione; cioè, per assicurare salvo possibilmente in regioni di probabilità trascurabile. Rendendo sufficientemente grande, puoi garantire che domini in tutte le code tranne quelle più estreme (che comunque non hanno praticamente alcuna possibilità di essere scelte in una simulazione). Tuttavia, più grande è la , più spesso si verificheranno rigetti. Man mano che diventa grande, può essere scelto molto vicino aM = exp ( 0.004 ) M g ( u ) ≥ f ( u ) M M ⋅ g f M k M 1log(exp(0.004)g(u)/f(u))M=exp(0.004)Mg(u)≥f(u)MM⋅gfMkM1, che non comporta praticamente alcuna penalità.
Un approccio simile funziona anche per , ma potrebbero essere necessari valori abbastanza grandi di quando , perché è notevolmente asimmetrico. Ad esempio, con , per ottenere un ragionevolmente accurato dobbiamo impostare :M exp ( 2 ) < k < exp ( 5 ) f ( u ) k = exp ( 2 ) g M = 1k>exp(2)Mexp(2)<k<exp(5)f(u)k=exp(2)gM=1
La curva rossa superiore è il grafico di mentre la curva blu superiore è il grafico di . Il campionamento del rifiuto di rispetto a causerà il rifiuto di circa 2/3 di tutte le estrazioni di prova, triplicando lo sforzo: ancora non male. La coda destra ( o ) sarà sottorappresentata nel campionamento del rifiuto (perché non domina più lì), ma quella coda comprende meno di della probabilità totale.log ( f ( u ) ) f exp ( 1 ) g u > 10 x > 10 3 / 2 ~ 30 exp ( 1 ) g f exp ( - 20 ) ~ 10 - 9log(exp(1)g(u))log(f(u))fexp(1)gu>10x>103/2∼30exp(1)gfexp(−20)∼10−9
Riassumendo, dopo uno sforzo iniziale per calcolare la modalità e valutare il termine quadratico delle serie di potenze di attorno alla modalità, uno sforzo che richiede al massimo poche decine di valutazioni delle funzioni, è possibile utilizzare il campionamento del rifiuto a un costo previsto compreso tra 1 e 3 (circa) valutazioni per variabile. Il moltiplicatore di costi scende rapidamente a 1 quando aumenta oltre 5.k = c df(u)k=cd
Anche quando è necessaria una sola estrazione da , questo metodo è ragionevole. Si presenta da solo quando sono necessari molti sorteggi indipendenti per lo stesso valore di , poiché il sovraccarico dei calcoli iniziali viene ammortizzato in molti sorteggi.kfk
appendice
@Cardinal ha chiesto, abbastanza ragionevolmente, il supporto di alcune delle analisi che agitano a mano in avanti. In particolare, perché la trasformazione dovrebbe rendere la distribuzione approssimativamente normale?x=u3/2
Alla luce della teoria delle trasformazioni di Box-Cox , è naturale cercare una trasformazione del potere della forma (per una costante , si spera non troppo diversa dall'unità) che renderà "più" una distribuzione Normale. Ricordiamo che tutte le distribuzioni normali sono semplicemente caratterizzate: i logaritmi dei loro pdf sono puramente quadratici, con termine lineare zero e nessun termine di ordine superiore. Pertanto possiamo prendere qualsiasi pdf e confrontarlo con una distribuzione normale espandendo il suo logaritmo come una serie di potenze attorno al suo picco (più alto). Cerchiamo un valore di che renda (almeno) il terzo α αx=uαααil potere svanisce, almeno approssimativamente: questo è il massimo che possiamo ragionevolmente sperare che un singolo coefficiente libero realizzi. Spesso funziona bene.
Ma come gestire questa particolare distribuzione? Dopo aver effettuato la trasformazione del potere, il suo pdf è
f(u)=kuαΓ(uα)uα−1.
Prendi il suo logaritmo e usa l'espansione asintotica di Stirling di :log(Γ)
log(f(u))≈log(k)uα+(α−1)log(u)−αuαlog(u)+uα−log(2πuα)/2+cu−α
(per piccoli valori di , che non è costante). Questo funziona a condizione che sia positivo, cosa che supponiamo sia il caso (altrimenti non potremo trascurare il resto dell'espansione).cα
Calcolare la derivata terza (che, se diviso da , Sarà il coefficiente di terza potenza di nella serie potenza) e sfruttare il fatto che in corrispondenza del picco, la derivata prima deve essere zero. Questo semplifica notevolmente la terza derivata, dando (approssimativamente, perché stiamo ignorando la derivata di )u c3 !uc
−12u−(3+α)α(2α(2α−3)u2α+(α2−5α+6)uα+12cα).
Quando non è troppo piccola, sarà davvero grande al culmine. Poiché è positivo, il termine dominante in questa espressione è il potere , che possiamo impostare a zero facendo svanire il suo coefficiente:kuα2α
2α−3=0.
Ecco perché funziona così bene: con questa scelta, il coefficiente del termine cubico attorno al picco si comporta comeα=3/2 , che è vicino a. Una volta chesupera i 10 o giù di lì, puoi praticamente dimenticartene, ed è ragionevolmente piccolo anche perfino a 2. I poteri superiori, dal quarto in poi, svolgono sempre meno un ruolo man mano chediventa grande, perché i loro coefficienti crescono anche proporzionalmente più piccolo. Per inciso, gli stessi calcoli (basati sulla seconda derivata dial suo apice) mostrano che la deviazione standard di questa approssimazione normale è leggermente inferiore au−3exp(−2k)kkklog(f(u))23exp(k/6), con l'errore proporzionale a .exp(−k/2)