Algoritm Metropolis-Hastings

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Algoritmul Metropolis-Hastings este o metodă MCMC utilizată pentru a genera valori care au o distribuție fixat în prealabil. Nu necesită această distribuție este cunoscut, este suficient ca o funcție să fie cunoscută proporțional cu Această cerință slabă ne permite să folosim algoritmul Metropolis-Hastings, în statistica bayesiană, pentru a preleva din distribuții a posteriori a căror integrală este prea dificilă sau imposibilă de calculat analitic.

Metoda a fost descrisă de Hastings în 1970 ca o generalizare a algoritmului Metropolis din 1953.

Algoritmul Metropolis

Pentru a înțelege algoritmul general este util să învățați mai întâi pe cel original, numit Metropolis.

Metoda se bazează pe generarea de valori „propuse” care sunt acceptate sau respinse pentru a converge la distribuție dorit. Are nevoie de o funcție și o distribuție de propuneri simetric, adică respectând proprietatea . Cele mai comune alegeri pentru distribuirea propunerilor sunt normale și uniforma , unde delta este un parametru care trebuie specificat înainte de începerea algoritmului.

Fiecare iterație a algoritmului Metropolis constă din următorii pași:

  1. se extrage o nouă valoare din distribuirea propunerii ;
  2. se calculează raportul ;
  3. de sine accepți noua valoare ;
  4. dacă în schimb noua valoare trebuie acceptată cu probabilitate . Apoi este generat un număr aleatoriu distribuite uniform în interval ;
    1. de sine accepți noua valoare ;
    2. în caz contrar, noua valoare este respinsă și apare .

Pentru a genera o succesiune de elementele repetă acești pași ori începând de la o valoare inițială ales în mod arbitrar.

Pentru a avea o estimare bună de este necesar să se genereze secvențe destul de lungi. Alegerea parametrului poate fi crucial, dacă este prea mare, doar o mică parte din valorile de testare propuse vor fi acceptate. Dacă, pe de altă parte, este prea mic, lanțul se va deplasa foarte încet și valorile vor fi extrem de autocorelate .

În consecință, fiind dependent de forma și scara de trebuie calibrat corect din când în când; pentru estimarea sa este posibil să se procedeze prin aproximare succesivă astfel încât, odată fixată o deltă, numărul valorilor acceptate să fie o treime din total. Alegerea valorii inițiale este, de asemenea, foarte importantă, în general, este mai bine să porniți de la valori de astfel încât asumă valori maxime pentru a avea o bună statistică în zonele cele mai probabile.

Caz multivariat

Algoritmul descris mai sus funcționează exact atât în ​​cazul unic, cât și în cazul multivariat, dar există o a doua abordare a cazului multivariant, deosebit de interesantă atunci când se studiază generalizarea Metropolis-Hastings. În loc să genereze un nou vector la fiecare iterație și pentru a-l accepta sau respinge în întregime, este posibil să se ia în considerare separat fiecare element al și generând separat o nouă valoare pentru fiecare dintre aceste elemente printr-o distribuție simetrică să accepte sau să respingi apoi această valoare individual, pentru a o defini

Algoritm Metropolis-Hastings

Algoritmul Metropolis necesită, pentru a garanta convergența sa limită, ca distribuția propunerii să fie simetrică. Această condiție limitează efectiv procesul care generează valorile propuse la domeniul plimbărilor aleatorii . Hastings (1970) a propus o generalizare a algoritmului Metropolis care permite alegerea oricărui tip de propunere.

Algoritmul Metropolis-Hastings continuă în același mod ca și predecesorul său, dar nu necesită simetria distribuției propunerii . Această relaxare a presupunerilor necesită o schimbare în definiția relației , care se redefinește ca fiind . Restul algoritmului rămâne neschimbat.

Timpuri caracteristice

Pentru ca algoritmul să piardă memoria datelor inițiale și să convergă către distribuția de eșantionat, este necesar să se efectueze un număr inițial de iterații: acest număr este definit ca timp de termalizare . În mod similar, în calculul erorilor este necesar să se ia în considerare un timp de corelație , care are în vedere autocorelația dintre două eșantionări succesive.

Bibliografie

Elemente conexe