Rejection sampling: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Elimino wikilink da parametri editore, città, anno di {{Cita libro}} come da manuale |
m Bot: numeri di pagina nei template citazione |
||
(3 versioni intermedie di un altro utente non mostrate) | |||
Riga 1:
In [[analisi numerica]] e in [[statistica computazionale]], '''rejection sampling''' è una tecnica di base utilizzata per generare osservazioni da una [[Variabile casuale#Distribuzione di probabilità|distribuzione]] . È anche comunemente chiamato il '''metodo di acceptance-rejection''' o "algoritmo di '''accept-rejection'''".
Rejection sampling si basa sul fatto che, per campionare una [[variabile casuale]] in una dimensione, si può eseguire un campionamento uniformemente casuale del grafico cartesiano bidimensionale e mantenere i campioni nella '''regione''' sotto il grafico della sua funzione di densità.<ref>{{Cita libro|autore=Casella|nome=George|autore2=Robert|nome2=Christian P.|nome3=Martin T.|autore3=Wells|titolo=Generalized Accept-Reject sampling schemes|url=https://archive.org/details/bub_gb_wnXtK_LRbO0C|anno=2004|editore=Institute of Mathematical Statistics|pp=[https://archive.org/details/bub_gb_wnXtK_LRbO0C/page/n360 342]–347|ISBN=9780940600614|DOI=10.1214/lnms/1196285403}}</ref><ref name="radford03">{{Cita pubblicazione|autore=Neal|nome=Radford M.|anno=2003|titolo=Slice Sampling|url=https://archive.org/details/sim_annals-of-statistics_2003-06_31_3/page/705|rivista=[[Annals of Statistics]]|volume=31|numero=3|pp=
== Descrizione ==
Riga 14:
Questo algoritmo può essere utilizzato per campionare dall'area sotto qualsiasi curva, indipendentemente dal fatto che l'integrale della funzione abbia valore 1. In effetti, il ridimensionamento di una funzione con una costante non ha alcun effetto sulle posizioni x campionate. Pertanto, l'algoritmo può essere utilizzato per campionare da una distribuzione la cui [[Normalizzazione (matematica)|costante di normalizzazione]] è sconosciuta, che è comune nella [[statistica computazionale]].
Come semplice esempio geometrico, supponiamo di voler generare un punto casuale all'interno del cerchio unitario. Il primo step è generare un punto candidato
Un esempio più complicato utilizzato per generare in modo efficiente [[Numeri pseudo-casuali|numeri pseudocasuali]] [[Distribuzione normale|normalmente distribuiti]] è l'[[algoritmo ziggurat]].
== Algoritmo ==
L'algoritmo di rejection sampling genera valori di campionamento da una distribuzione target <math>X </math> con [[funzione di densità di probabilità]] arbitraria <math>f(x) </math> utilizzando una [[proposal distribution]] <math>Y </math> con densità di probabilità <math>g(x) </math>.
L'algoritmo (usato da [[John von Neumann]] e risalente a Buffon e al [[Ago di Buffon|suo ago]]) per ottenere un campione dalla distribuzione <math>X </math> con densità <math>f(x)</math> utilizzando campioni dalla distribuzione <math>Y </math> con densità <math>g(x) </math> è il seguente:
* Campiona <math display="inline">y</math> dalla distribuzione <math>Y </math>e un campione <math display="inline">u </math> a partire da <math>\mathrm{Unif}(0,1)</math> (distribuzione uniforme sull'intervallo <math>[0,1]</math>).
|