Gibbs prøveudtagning

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 6. juni 2019; verifikation kræver 1 redigering .

Gibbs sampling  er en algoritme til at generere en stikprøve af den fælles fordeling af et sæt tilfældige variabler . Det bruges til at estimere den fælles fordeling og til at beregne Monte Carlo integraler . Denne algoritme er et specialtilfælde af Metropolis-Hastings-algoritmen og er opkaldt efter fysikeren Josiah Gibbs .

Gibbs sampling er bemærkelsesværdig ved, at den ikke kræver en eksplicit fælles fordeling, men kun betingede sandsynligheder for hver variabel i fordelingen. Algoritmen ved hvert trin tager en tilfældig variabel og vælger dens værdi, forudsat at de andre er faste. Det kan vises, at sekvensen af ​​opnåede værdier danner en tilbagevendende Markov-kæde , hvis stabile fordeling kun er den ønskede fælles fordeling.

Gibbs sampling bruges i tilfælde, hvor den fælles fordeling af stokastiske variable er meget stor eller eksplicit ukendt, men de betingede sandsynligheder er kendte og har en simpel form. Gibbs sampling er særligt godt brugt til at håndtere posterior sandsynlighed i Bayesianske netværk , da de får alle de nødvendige betingede sandsynligheder.

Algoritme

Lad der være en fælles fordeling for stokastiske variable, og den kan være meget stor. Antag , at vi allerede har valgt en vis værdi på trinnet . Ved hvert trin udføres følgende handlinger:

  1. Indekset er valgt ).
  2. vælges efter fordelingen , og for de resterende indeks ændres værdien ikke: (j≠i).

I praksis vælges indekset normalt ikke tilfældigt, men sekventielt. Algoritmen er enkel og kræver ingen særlig viden og forudsætninger, hvorfor den er populær.

Eksempel

Lad der være en fælles fordeling af tre stokastiske variable, som hver er i området fra 0 til 10.

Vi antager, at startværdien af ​​vektoren, hvorfra den iterative proces starter, vil være .

Dernæst fikserer vi og , hvorefter vi beregner den betingede sandsynlighed ved hjælp af en på forhånd kendt formel , det vil sige , at få en graf over variablens sandsynlighedstæthed . Hvad vi oprindeligt satte lig med 5, glemmer vi, denne værdi vil ikke være nødvendig længere.

Nu skal du udføre prøveudtagning - generere en ny tilfældig værdi for i overensstemmelse med den opnåede sandsynlighedstæthed. Sampling kan for eksempel udføres i henhold til varians sampling -algoritmen . For at gøre dette genereres et tilfældigt tal med en ensartet fordeling fra 0 til 10, hvorefter dets sandsynlighed beregnes for dette genererede tal i henhold til sandsynlighedstæthedsgrafen .

Lad for eksempel et tilfældigt tal 4 genereres, og ifølge tæthedsgrafen er dets sandsynlighed 0,2. Derefter accepterer vi ifølge varianssamplingalgoritmen dette genererede tal med en sandsynlighed på 0,2. Og for dette genererer vi igen et tilfældigt tal fra 0 til 1 med en ensartet fordeling, og hvis der genereres et tal mindre end 0,2, accepterer vi tallet 4 som vellykket. Ellers gentager vi fra begyndelsen - vi genererer et andet tal (for eksempel falder 3 ud), for det finder vi sandsynligheden (for eksempel 0,3), for det genererer vi et andet tal fra 0 til 1 (for eksempel 0,1) og så accepterer vi det endelig ved denne iteration .

Dernæst skal du gentage alle ovenstående trin med værdien , og vi bruger allerede den "nye" - i vores eksempel lig med 3. Så vi beregner sandsynlighedstætheden , genererer igen et tilfældigt tal for rollen som en kandidat for en ny værdi , lav en prøve med en afvigelse og gentag den, hvis værdien "afvises".

På samme måde gentages handlingerne for med nye værdier og . Den første iteration af Gibbs samplingsalgoritme er afsluttet. Efter flere hundrede/tusinder af sådanne iterationer bør de tilfældige værdier nå et maksimum af deres tæthed, som kan placeres langt nok fra vores første tilnærmelse og samples i det område. Yderligere tusinde iterationer kan allerede bruges til det tilsigtede formål (for at søge efter den matematiske forventning , for eksempel) som et udsnit af værdierne af den ønskede fordeling, der ikke afhænger af den oprindelige vektor .

Se også

Links