Differenze tra le versioni di "Algoritmo di Metropolis-Hastings"

Annullata la modifica 54633748 di 62.98.95.173 (discussione)
(Annullata la modifica 54633748 di 62.98.95.173 (discussione))
L'algoritmo di [[Nicholas Constantine Metropolis|Metropolis]] è realizzabile utilizzando un generatore di numeri casuali con [[variabile casuale uniforme continua|distribuzione uniforme]] in ''[0, 1]''. La procedura è la seguente:
 
# Preso, per convenzione, l'ultimo valore x<sub>i</sub> della variabile random nella sequenza si sceglie un valore di prova x<sup>*</sup> diverso da x<sub>i</sub> tra tutti i valori possibili della variabile random. Nel caso delle variabili random continue si può prendere x<sup>*</sup> = x<sub>i</sub> +δx dove δx è un numero distribuito uniformemente nell'intervallo ''[−δ, δ]'';
# Si calcola il rapporto w = <math> \frac{p(x^{*})}{p(x_i)} </math>;
# Se ''w ≥ 1'' si accetta il nuovo valore x<sup>*</sup> = x<sub>i+1</sub>
# Se invece ''w < 1'' il nuovo valore deve essere accettato con probabilità w. Si genera quindi un numero random r distribuito uniformemente nell'intervallo [0, 1);
# Se ''r ≤ w'' si accetta il nuovo valore x<sup>*</sup> = x<sub>i+1</sub> ;
# Se invece ''r > w'' il nuovo valore viene rigettato edal simomento tornache all'iniziox<sub>i+1</sub> della procedura sorteggiando un nuovo= x<supsub>*i</supsub> .
 
Per generare una sequenza di ''N'' elementi basta ripetere queste operazioni ''N'' volte a partire da un valore iniziale x<sub>0</sub>. Per avere una buona stima della ''p(x)'' è necessario generare sequenze molto lunghe. La scelta del valore di ''δ'' può essere cruciale, se è troppo grande solo una piccola parte dei valori di prova proposti verrà accettato. Se invece il valore di ''δ'' è troppo piccolo quasi tutti i valori di prova proposti saranno accettati.
Utente anonimo