În statistică, eșantionarea Gibbs (în ) este un algoritm de tip (MCMC) utilizat pentru a genera eșantioane dintr-o de probabilitate atunci când eșantionarea directă din distribuția comună este dificilă, dar eșantionarea din este mai practică. Această secvență de eșantioane poate fi folosită pentru a aproxima distribuția comună (de exemplu, prin construirea unei histograme), pentru a aproxima ale unor variabile (de exemplu, parametrii necunoscuți sau ) sau pentru a calcula o integrală (precum a unei variabile). În mod obișnuit, unele variabile corespund observațiilor cunoscute și nu necesită eșantionare.
Eșantionarea Gibbs este frecvent utilizată în , în special în inferență bayesiană. Este un (adică utilizează ) și reprezintă o alternativă la algoritmi deterministici de inferență statistică, precum (EM).
Ca și alte algoritme MCMC, eșantionarea Gibbs generează un lanț Markov de eșantioane, fiecare fiind cu eșantioanele apropiate. În consecință, trebuie acordată atenție dacă se doresc eșantioane independente. Eșantioanele de la începutul lanțului (perioada de ardere sau în ) pot să nu reprezinte corect distribuția dorită și sunt, de regulă, eliminate.
Introducere Eșantionarea Gibbs poartă numele fizicianului Josiah Willard Gibbs, făcând referire la analogia dintre acest algoritm de eșantionare și fizica statistică. Algoritmul a fost descris de frații și în 1984, la aproximativ opt decenii după moartea lui Gibbs, și a devenit popular în comunitatea statistică pentru calculul distribuțiilor marginale, în special al distribuției a posteriori.
În forma sa de bază, eșantionarea Gibbs este un caz particular al . Totuși, în variantele sale extinse, poate fi privită ca un cadru general pentru eșantionarea dintr-un set mare de variabile, prin eșantionarea succesivă a fiecărei variabile (sau a unor grupuri de variabile), putând încorpora algoritmul Metropolis–Hastings sau alte metode (precum ) pentru anumite etape.
Eșantionarea Gibbs este aplicabilă atunci când distribuția comună nu este cunoscută explicit sau este dificil de utilizat direct, dar distribuțiile condiționale ale variabilelor sunt cunoscute și ușor de eșantionat. Algoritmul generează succesiv valori pentru fiecare variabilă, condiționat de valorile curente ale celorlalte variabile. Se poate demonstra că secvența de eșantioane formează un lanț Markov, iar distribuția staționară a acestuia coincide cu distribuția comună dorită.
Eșantionarea Gibbs este deosebit de potrivită pentru determinarea în cadrul unui model bayesian, deoarece astfel de modele sunt definite în mod natural prin distribuții condiționale.
Implementare În forma sa de bază, eșantionarea Gibbs este un caz particular al algoritmului Metropolis–Hastings. Ideea centrală este că, pentru o , este mai simplu să se eșantioneze din distribuțiile condiționale decât să se obțină distribuțiile marginale prin integrare asupra distribuției comune. Presupunem că dorim să obținem eșantioane ale unui vector aleator -dimensional . Procedura este iterativă:
Se pornește de la o valoare inițială . Dat fiind un eșantion , următorul eșantion se obține prin eșantionarea fiecărei componente din distribuția condițională a lui , condiționat de celelalte componente:
Proprietăți Dacă procedura de mai sus este aplicată, rezultă următoarele:
Eșantioanele aproximează distribuția comună a tuturor variabilelor. Distribuțiile marginale ale unor submulțimi de variabile pot fi obținute analizând doar eșantioanele corespunzătoare. a unei variabile poate fi estimată prin media eșantioanelor.
În practică:
Valorile inițiale pot fi alese aleator sau prin alte metode (de exemplu, ). Este obișnuit să se ignore un număr de eșantioane inițiale (perioada de ardere), după care se utilizează doar fiecare al -lea eșantion pentru estimare. Aceasta se datorează faptului că lanțul Markov are nevoie de timp pentru a ajunge la , iar eșantioanele succesive sunt corelate.
Pentru reducerea autocorelației, se folosesc tehnici precum (), eșantionarea Gibbs colapsată (), eșantionarea Gibbs blocată () sau suprarelaxarea ordonată ().
Relația dintre distribuția condițională și distribuția comună Distribuția condițională a unei variabile, condiționat de toate celelalte, este proporțională cu distribuția comună. Mai precis, pentru orice valori posibile ale lui :
Prin „proporțional” se înțelege că numitorul nu depinde de și este același pentru toate valorile acestuia; el face parte din a distribuției lui . În practică, pentru a determina forma distribuției condiționale a unei variabile , este convenabil să se factorizeze distribuția comună în funcție de distribuțiile condiționale definite de asociat variabilelor, să se elimine factorii care nu depind de , iar la final să se reintroducă constanta de normalizare, dacă este necesar. În practică, aceasta înseamnă:
Dacă distribuția este discretă, se calculează probabilitățile pentru toate valorile posibile ale lui și se normalizează. Dacă distribuția este continuă și de formă cunoscută, constanta de normalizare este de asemenea cunoscută. În alte cazuri, constanta de normalizare poate fi adesea ignorată, deoarece majoritatea metodelor de eșantionare nu necesită cunoașterea acesteia.
Inferență Eșantionarea Gibbs este frecvent utilizată în (de exemplu, pentru estimarea valorii unui parametru, precum numărul de persoane care ar putea face cumpărături într-un magazin într-o anumită zi sau preferința de vot a unui alegător). Ideea este de a incorpora datele observate în procesul de eșantionare prin introducerea unor variabile corespunzătoare fiecărei observații și fixarea acestora la valorile observate. Distribuția variabilelor rămase devine astfel o condiționată de date.
Valoarea cea mai probabilă a unui parametru () poate fi estimată prin selectarea valorii care apare cel mai frecvent în eșantioane, ceea ce corespunde unei estimări de tip . Mai frecvent, se utilizează a eșantioanelor, care constituie un și utilizează informația completă din distribuție, spre deosebire de metodele de tip (EM), care furnizează doar o estimare punctuală.
Deși unele variabile corespund parametrilor de interes, altele sunt variabile auxiliare („”) introduse pentru a modela relațiile dintre variabile. Acestea pot fi eliminate prin atunci când se calculează estimări.
Metodele de , și pot fi tratate în mod unitar, fixând variabilele observate și eșantionând restul.
În cazul datelor observate, există de obicei câte o variabilă pentru fiecare observație, nu pentru statistici agregate precum media sau varianța eșantionului. În schimb, există variabile pentru parametrii necunoscuți (de exemplu, media și varianța reale), iar valorile acestora sunt estimate implicit prin eșantionare.
Modelele de tip pot fi, în anumite cazuri, tratate prin eșantionare Gibbs. De exemplu, poate fi implementată astfel, datorită existenței unor . În schimb, nu permite o astfel de abordare directă; în practică se utilizează metode precum .
Fundamente matematice Fie un eșantion dintr-o distribuție dependentă de un vector de parametri de dimensiune , cu distribuție a priori . Dacă este mare, pentru obținerea distribuțiilor marginale devine costisitoare. O alternativă este construirea unui lanț Markov pe spațiul prin:
Alegerea aleatorie a unui indice ; Generarea unei noi valori pentru din distribuția condițională corespunzătoare.
Acești pași definesc un cu distribuția invariantă dorită.
În practică, indicii sunt parcurși ciclic, nu aleatoriu, ceea ce produce un proces Markov nestaționar la nivel de pași individuali, dar cu distribuția staționară corectă la nivel global.
Eșantionarea Gibbs în inferența bayesiană și teoria informației Fie observațiile generate din distribuția , iar distribuția a priori. Un obiectiv central al este aproximarea distribuției a posteriori
,
unde este verosimilitatea marginală. miniatura|500x500px|O descriere ilustrată a algoritmului de eșantionare Gibbs miniatura|500x500px|Descrierea schematică a egalității informaționale asociate cu eșantionatorul Gibbs la pasul i dintr-un ciclu Presupunem că spațiul parametrilor se descompune ca produs cartezian
.
Algoritmul Gibbs constă în eșantionarea succesivă a distribuțiilor condiționale complete
.
Aceasta definește un lanț Markov a cărui distribuție staționară este distribuția a posteriori.
Se pot defini și mărimi din teoria informației, precum și entropia condițională, care cuantifică dependențele dintre componentele vectorului de parametri și transferul de informație între pașii algoritmului.
Variații și extensii Există numeroase variante ale eșantionării Gibbs, având ca scop reducerea dintre eșantioane și îmbunătățirea eficienței algoritmului.
Eșantionare Gibbs blocată Un eșantion Gibbs blocat grupează două sau mai multe variabile și eșantionează din condiționată de celelalte variabile, în loc să le eșantioneze individual. De exemplu, într-un , un eșantion Gibbs blocat poate eșantiona simultan toate ale lanțului Markov, utilizând .
Eșantionare Gibbs colapsată Un eșantion Gibbs colapsat integrează () una sau mai multe variabile atunci când eșantionează o altă variabilă. De exemplu, pentru variabilele A, B și C, un eșantion Gibbs simplu ar eșantiona succesiv din p(A|B,C), p(B|A,C) și p(C|A,B). Un eșantion colapsat poate înlocui pasul pentru A cu eșantionare din distribuția marginală p(A|C), eliminând variabila B. Alternativ, B poate fi eliminată complet, eșantionând doar p(A|C) și p(C|A).
Distribuția rezultată prin eliminarea unei variabile părinte se numește . Eșantionarea din aceasta este de obicei eficientă atunci când variabila eliminată este un , în special dacă variabilele aparțin .
Implementare
Eliminarea distribuțiilor Dirichlet În cu , precum și alte modele din prelucrarea limbajului natural, este frecventă eliminarea utilizate ca . Aceasta introduce dependențe între variabilele categorice dependente de același prior, iar distribuția comună devine o .
Distribuția condițională rezultată are o formă simplă: Eliminarea afectează doar nodul prior și descendenții săi. Introduce dependențe doar între variabilele dependente de același prior. Probabilitatea unei valori este proporțională cu suma dintre hiperparametrul corespunzător și frecvența acelei valori în celelalte variabile dependente. Dacă există variabile dependente de ordin superior, probabilitatea trebuie ajustată cu distribuțiile condiționale ale acestora.
Eliminarea altor priori conjugate În general, orice prior conjugat poate fi eliminat dacă descendenții săi sunt conjugați. De exemplu: Eliminarea unei pentru varianță într-un model conduce la o . Eliminarea unui prior într-un model conduce la o .
În aceste cazuri, distribuțiile condiționale rezultate coincid cu .
Dacă distribuția compusă nu are o formă cunoscută, eșantionarea poate deveni dificilă, deoarece aceasta nu aparține de regulă și nu este .
Eșantionare Gibbs cu suprarelaxare ordonată Un eșantion Gibbs cu suprarelaxare ordonată generează un număr impar de valori candidate pentru , le sortează împreună cu valoarea precedentă , apoi selectează valoarea simetrică în ordonare. Această tehnică reduce comportamentul de tip .
Alte extensii Eșantionarea Gibbs poate fi extinsă prin combinarea cu alte metode. De exemplu, dacă distribuția condițională este dificil de eșantionat, se poate utiliza sau . De asemenea, pot fi incluse variabile determinate în mod din alte variabile, cum este cazul unor .
Moduri de eșec Eșantionarea Gibbs poate eșua în două moduri principale:
Dacă spațiul stărilor conține „insule” de probabilitate mare fără conexiuni între ele, lanțul Markov poate rămâne blocat într-o singură regiune. Chiar și atunci când toate stările au probabilitate nenulă, convergența poate fi extrem de lentă în spații de dimensiune mare (un efect al ).
În astfel de cazuri, eșantionarea blocată sau alte tehnici pot îmbunătăți performanța.
Software — software pentru analiză bayesiană utilizând MCMC. — program GPL pentru modele bayesiene ierarhice.