Algoritmo di Metropolis-Hastings: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m robot Aggiungo: ko:메트로폴리스 해스팅스 알고리즘 |
mNessun oggetto della modifica |
||
Riga 1:
L''''algoritmo di Metropolis-Hastings''' serve a generare dei numeri x<sub>1</sub>, x<sub>2</sub>, .., x<sub>n</sub> che presentano una [[distribuzione di probabilità|distribuzione]] ''p(x)'' fissata a priori.
Il metodo si basa sulla generazione di numeri di 'test' che vengono accettati o rigettati in modo da ottenere la distribuzione voluta. Il metodo sarà presentato nel caso di una sola [[variabile
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:
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.▼
▲2) Si calcola il rapporto w = <math> \frac{p(x^{*})}{p(x_i)} </math>;
Di conseguenza, essendo ''δ'' dipendente dalla forma di ''p(x)'', deve essere di volta in volta scelto
▲3) Se w ≥ 1, la probabilità che nella sequenza al valore x<sub>i</sub> segua il valore x<sup>*</sup> è pari ad uno per cui si accetta il nuovo valore x<sup>*</sup> = x<sub>i+1</sub>
Anche la scelta del valore iniziale è molto importante, in genere conviene partire da valori di ''x'' tali che ''p(x)'' assuma valori massimi in modo da avere una buona statistica nelle zone più probabili.▼
▲4) Se w < 1 il nuovo valore deve essere accettato con probabilità w. Si genera quindi un numero random r distribuito uniformemente nell'intervallo [0, 1);
▲5) Se r ≤ w si accetta il nuovo valore x<sup>*</sup> = x<sub>i+1</sub> ;
▲6) Se invece r > w il nuovo valore viene rigettato dal momento che x<sub>i+1</sub> = x<sub>i</sub>.
▲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.
▲Di conseguenza essendo δ dipendente dalla forma di p(x) deve essere di volta in volta scelto, per la sua stima si piò procedere per approssimazione successiva in modo che, fissato un delta, il numero di valori accettati sia un terzo del totale.
▲Anche la scelta del valore iniziale è molto importante, in genere conviene partire da valori di x tali che p(x) assuma valori massimi in modo da avere una buona statistica nelle zone più probabili.
== Voci correlate ==
*[[Nicholas Constantine Metropolis]]
== Bibliografia ==
Riga 36 ⟶ 25:
W.K Hastings, ''Monte Carlo sampling methods using Markov chains and their applications'',
Biometrikam, [[1970]]; 57: 97-109
[[Categoria:Algoritmi numerici]]
|