Avvisningsprøve - Rejection sampling

I numerisk analyse og beregningsstatistikk er avvisningsprøvetaking en grunnleggende teknikk som brukes til å generere observasjoner fra en distribusjon . Det kalles også vanligvis aksept-avvisning-metoden eller "aksepter-avvis algoritme" og er en type eksakt simuleringsmetode. Metoden fungerer for enhver distribusjon med en tetthet .

Avvisningsprøvetaking er basert på observasjonen at for å prøve en tilfeldig variabel i en dimensjon, kan man utføre en jevnt tilfeldig prøvetaking av den todimensjonale kartesiske grafen, og beholde prøvene i regionen under grafen for dens tetthetsfunksjon. Vær oppmerksom på at denne egenskapen kan utvides til N -dimensjonsfunksjoner.

Beskrivelse

For å visualisere motivasjonen bak avvisningsprøvetaking, forestill deg å tegne tetthetsfunksjonen til en tilfeldig variabel på et stort rektangulært brett og kaste dart mot den. Anta at dartene er jevnt fordelt rundt brettet. Fjern nå alle pilene som er utenfor området under kurven. De resterende pilene vil bli fordelt jevnt innenfor området under kurven, og x-posisjonene til disse pilene vil bli fordelt i henhold til den tilfeldige variablens tetthet. Dette er fordi det er mest rom for dartene å lande der kurven er høyest og dermed er sannsynlighetstettheten størst.

Visualiseringen som nettopp beskrevet tilsvarer en bestemt form for avvisningsprøvetaking der "forslagsfordelingen" er jevn (derav grafen er et rektangel). Den generelle formen for avvisningsprøvetaking forutsetter at brettet ikke nødvendigvis er rektangulært, men er formet i henhold til tettheten til noen forslagsdistribusjon som vi vet hvordan vi skal prøve fra (for eksempel ved å bruke inversjonsprøvetaking ), og som er minst like høy ved hver punkt som fordelingen vi vil prøve fra, slik at førstnevnte omslutter sistnevnte helt. (Ellers ville det være deler av det buede området vi vil prøve fra som aldri kunne nås.)

Avvisningsprøver fungerer som følger:

  1. Prøv et punkt på x-aksen fra forslagets fordeling.
  2. Tegn en vertikal linje på denne x-posisjonen, opp til maksimal y-verdi av sannsynlighetstetthetsfunksjonen til forslagsfordelingen.
  3. Prøve jevnt langs denne linjen fra 0 til maksimum for sannsynlighetstetthetsfunksjonen. Hvis den samplede verdien er større enn verdien av ønsket fordeling på denne vertikale linjen, avviser du x-verdien og går tilbake til trinn 1; ellers er x-verdien en prøve fra ønsket fordeling.

Denne algoritmen kan brukes til å prøve fra området under en hvilken som helst kurve, uavhengig av om funksjonen integreres til 1. Faktisk har skalering av en funksjon med en konstant ingen effekt på de samplede x-posisjonene. Dermed kan algoritmen brukes til å prøve fra en fordeling hvis normaliseringskonstant er ukjent, noe som er vanlig i beregningsstatistikk .

Teori

Avvisningsprøvetakingsmetoden genererer samplingsverdier fra en målfordeling med vilkårlig sannsynlighetstetthetsfunksjon ved å bruke en forslagsfordeling med sannsynlighetstetthet . Tanken er at man kan generere en prøveverdi fra ved i stedet å sampler fra og godta prøven fra med sannsynlighet , gjenta trekningene fra til en verdi er akseptert. her er en konstant, endelig begrenset til sannsynlighetsforholdet , tilfredsstillende over støtten til ; med andre ord, M må tilfredsstille for alle verdier av . Vær oppmerksom på at dette krever at støtten til må omfatte støtte fra - med andre ord, når som helst .

Valideringen av denne metoden er konvoluttprinsippet: ved simulering av paret produserer man en jevn simulering over subgrafen til . Godta bare par slik at det produseres par jevnt fordelt over undergrafen til og dermed marginalt en simulering fra

Dette betyr at med nok replikater genererer algoritmen en prøve fra ønsket fordeling . Det er en rekke utvidelser til denne algoritmen, for eksempel Metropolis -algoritmen .

Denne metoden vedrører det generelle feltet for Monte Carlo -teknikker, inkludert Markov -kjede Monte Carlo -algoritmer som også bruker en proxy -distribusjon for å oppnå simulering fra målfordelingen . Det danner grunnlaget for algoritmer som Metropolis -algoritmen .

Den ubetingede aksept -sannsynligheten er andelen foreslåtte prøver som godtas, dvs.

hvor , og verdien for hver gang genereres under tetthetsfunksjonen til forslagsfordelingen .

Antall prøver som kreves fra for å oppnå en akseptert verdi følger således en geometrisk fordeling med sannsynlighet , som har gjennomsnitt . Intuitivt er det forventede antallet iterasjoner som er nødvendig, som et mål på algoritmens beregningskompleksitet.

Skriv om ligningen ovenfor,

Vær oppmerksom på at på grunn av formelen ovenfor, er det en sannsynlighet som bare kan ta verdier i intervallet . Når blir valgt nærmere en, er den ubetingede aksept -sannsynligheten høyere jo mindre forholdet varierer, siden er den øvre grensen for sannsynlighetsforholdet . I praksis foretrekkes en verdi på nærmere 1, ettersom det innebærer færre avviste prøver i gjennomsnitt og dermed færre iterasjoner av algoritmen. I denne forstand foretrekker man å ha så liten som mulig (mens den fortsatt er tilfredsstillende , noe som antyder at den generelt bør ligne på en eller annen måte. Vær imidlertid oppmerksom på at den ikke kan være lik 1: slikt vil antyde at det vil si at mål- og forslagfordelinger er faktisk den samme fordelingen.

Avvisningsprøvetaking brukes oftest i tilfeller der formen for gjør prøvetaking vanskelig. En enkelt iterasjon av avvisningsalgoritmen krever prøvetaking fra forslagsfordelingen, tegning fra en jevn fordeling og evaluering av uttrykket. Avvisningsprøvetaking er dermed mer effektiv enn noen annen metode når M ganger kostnaden for disse operasjonene - som er den forventede kostnaden for å få en prøve med avvisningsprøve - er lavere enn kostnaden for å få en prøve ved hjelp av den andre metoden.

Algoritme

Algoritmen (brukt av John von Neumann og datert tilbake til Buffon og hans nål ) for å få en prøve fra distribusjon med tetthet ved hjelp av prøver fra distribusjon med tetthet er som følger:

  • Skaff en prøve fra distribusjonen og en prøve fra (den jevne fordelingen over enhetsintervallet).
  • Sjekk om ikke .
    • Hvis dette holder, godta som en prøve trukket fra ;
    • hvis ikke, avvis verdien av og gå tilbake til prøvetakingstrinnet.

Algoritmen vil ta et gjennomsnitt av iterasjoner for å få en prøve.

Fordeler fremfor prøvetaking ved bruk av naive metoder

Avvisningsprøving kan være langt mer effektiv sammenlignet med de naive metodene i noen situasjoner. For eksempel gitt et problem som prøvetaking betinget av gitt sett , dvs. noen ganger enkelt kan simuleres ved hjelp av naive metoder (f.eks. Ved invers transform -sampling ):

  • Prøv uavhengig, og la de tilfredsstillende
  • Produksjon:

Problemet er at denne prøvetakingen kan være vanskelig og ineffektiv, hvis . Det forventede antallet iterasjoner vil være , som kan være nær uendelig. Selv når du bruker prøvetakingsmetoden for avvisning, er det dessuten alltid vanskelig å optimalisere grensen for sannsynlighetsforholdet. Oftere enn ikke er den stor og avvisningsraten er høy, algoritmen kan være svært ineffektiv. Den naturlige eksponentielle familien (hvis den eksisterer), også kjent som eksponentiell vipping, gir en klasse med forslagsfordelinger som kan senke beregningskompleksiteten, verdien av og fremskynde beregningene (se eksempler: arbeide med naturlige eksponentielle familier).

Eksempler: arbeid med naturlige eksponentielle familier

Gitt en tilfeldig variabel , er målfordelingen. Anta for enkelheten at tetthetsfunksjonen eksplisitt kan skrives som . Velg forslaget som

hvor og . Det er tydelig at den er fra en naturlig eksponentiell familie . Videre er sannsynlighetsforholdet
Merk at det innebærer at det faktisk er en logg-
øyeblikksgenereringsfunksjon , det vil si . Og det er lett å utlede loggmomentgenereringsfunksjonen til forslaget og derfor forslagets øyeblikk.
Som et enkelt eksempel, anta etter , med . Målet er å prøve , . Analysen går som følger.
  • Velg formen på forslagsfordelingen , med loggmomentgenererende funksjon som , noe som videre innebærer at det er en normalfordeling .
  • Bestem godt valgt for forslaget distribusjon. I dette oppsettet er den intuitive måten å velge å sette , det vil si
  • Skriv eksplisitt ut målet, forslaget og sannsynlighetsforholdet
  • Utled bundet til sannsynlighetsforholdet , som er en avtagende funksjon for dermed
  • Kriterium for prøvetaking av avslag: for , if
    holder, aksepterer verdien av ; hvis ikke, fortsett prøvetaking av nytt og nytt inntil det er godtatt.

For eksemplet ovenfor, som måling av effektiviteten, er det forventede antallet iterasjoner den NEF-baserte avvisningsmetoden for prøvetaking av rekkefølge b, det vil si , mens under den naive metoden er det forventede antallet iterasjoner , som er langt mer ineffektiv.

Generelt løser eksponentiell vipping, en parametrisk klasse med forslagsdistribusjon, optimaliseringsproblemene enkelt, med sine nyttige egenskaper som direkte karakteriserer fordelingen av forslaget. For denne typen problemer, for å simulere betinget på , blant klassen med enkle distribusjoner, er trikset å bruke NEF -er, noe som bidrar til å få litt kontroll over kompleksiteten og øke hastigheten på beregningen betraktelig. Det er faktisk dype matematiske grunner for bruk av NEF.

Ulemper

Avvisningsprøvetaking kan føre til at mange uønskede prøver tas hvis funksjonen som samples er svært konsentrert i et bestemt område, for eksempel en funksjon som har en pigg på et eller annet sted. For mange distribusjoner kan dette problemet løses ved hjelp av en adaptiv forlengelse (se adaptiv avvisningsprøvetaking ), eller med en passende endring av variabler med metoden for forholdet mellom uniformer . I tillegg, etter hvert som dimensjonene på problemet blir større, har forholdet mellom det innebygde volumet og "hjørnene" av innebyggingsvolumet en tendens til å være null, og dermed kan mange avslag finne sted før en nyttig prøve genereres, og dermed lage algoritmen ineffektiv og upraktisk. Se dimensjonalitetens forbannelse . I høye dimensjoner er det nødvendig å bruke en annen tilnærming, typisk en Markov -kjede Monte Carlo -metode som Metropolis -prøvetaking eller Gibbs -prøvetaking . (Imidlertid kan Gibbs-prøvetaking, som bryter ned et flerdimensjonalt prøvetakingsproblem til en serie lavdimensjonale prøver, bruke avvisningsprøvetaking som et av trinnene.)

Adaptiv avvisningsprøve

For mange distribusjoner er det vanskelig å finne en forslagsdistribusjon som inkluderer den gitte fordelingen uten mye bortkastet plass. En forlengelse av avvisningsprøvetaking som kan brukes til å overvinne denne vanskeligheten og effektivt prøve fra et bredt spekter av distribusjoner (forutsatt at de har log-konkav tetthetsfunksjoner, noe som faktisk er tilfelle for de fleste vanlige fordelingene-selv de hvis tetthet funksjoner er ikke konkav selv!) er kjent som adaptiv avvisningssampling (ARS) .

Det er tre grunnleggende ideer til denne teknikken som til slutt ble introdusert av Gilks ​​i 1992:

  1. Hvis det hjelper, kan du definere konvoluttfordelingen i loggområdet (f.eks. Logg-sannsynlighet eller loggtetthet) i stedet. Det vil si jobbe med i stedet for direkte.
    • Ofte har distribusjoner som har algebraisk rotete tetthetsfunksjoner rimelig enklere loggtetthetsfunksjoner (dvs. når det er rotete, kan være lettere å jobbe med eller i det minste nærmere stykkevis lineær).
  2. I stedet for en ensartet konvoluttetthetsfunksjon, bruk en stykkevis lineær tetthetsfunksjon som konvolutten din i stedet.
    • Hver gang du må avvise en prøve, kan du bruke verdien av den du evaluerte, for å forbedre den tilnærmede tilnærmingen i stykker . Dette reduserer derfor sjansen for at ditt neste forsøk vil bli avvist. Asymptotisk bør sannsynligheten for å måtte avvise prøven konvergere til null, og i praksis ofte veldig raskt.
    • Som foreslått, hver gang vi velger et punkt som blir avvist, strammer vi konvolutten med et annet linjesegment som tangerer kurven på punktet med samme x-koordinat som det valgte punktet.
    • En stykkevis lineær modell av forslagsloggfordelingen resulterer i et sett med stykkevis eksponentielle fordelinger (dvs. segmenter av en eller flere eksponensielle fordelinger, festet ende til ende). Eksponensielle fordelinger er veloppdragen og godt forstått. Logaritmen til en eksponentiell fordeling er en rett linje, og derfor innebærer denne metoden i hovedsak å omslutte logaritmen til tettheten i en serie linjesegmenter. Dette er kilden til den logk-konkave begrensningen: hvis en fordeling er log-konkav, er dens logaritme konkav (formet som en opp-ned-U), noe som betyr at et linjesegment som er tangent til kurven alltid vil passere over kurven.
    • Hvis du ikke jobber i tømmerplass, kan en stykkevis lineær tetthetsfunksjon også samples via trekantfordelinger
  3. Vi kan dra enda mer fordel av kravet til (logg) konkavitet, for å potensielt unngå kostnadene ved å evaluere når prøven din
blir akseptert.
  • Akkurat som vi kan konstruere en stykkevis lineær øvre grense ("konvolutten" -funksjonen) ved hjelp av verdiene vi måtte evaluere i den nåværende avvisningskjeden, kan vi også konstruere en stykkevis lineær nedre grense ("klem" -funksjonen) ved hjelp av også disse verdiene.
  • Før vi evaluerer (den potensielt dyre) for å se om prøven din vil bli akseptert, kan vi
allerede vite om den vil bli akseptert ved å sammenligne den (ideelt sett billigere) (eller i dette tilfellet) klemmefunksjonen som er tilgjengelig.
  • Dette klemtrinnet er valgfritt, selv når det er foreslått av Gilks. I beste fall sparer det deg for bare en ekstra evaluering av din (rotete og/eller dyre) måltetthet. Imidlertid kan dette antagelig for spesielt dyre tetthetsfunksjoner (og forutsatt at konvergensen av avvisningsfrekvensen går mot null) gjøre en betydelig forskjell i den ultimate kjøretiden.
  • Metoden innebærer i hovedsak å bestemme en konvolutt av segmenter med rette linjer som tilnærmet logaritmen bedre og bedre mens den fortsatt er over kurven, med et fast antall segmenter (muligens bare en enkelt tangentlinje). Prøvetaking fra en avkortet eksponentiell tilfeldig variabel er grei. Bare ta loggen over en ensartet tilfeldig variabel (med passende intervall og tilsvarende avkortning).

    Dessverre kan ARS bare brukes fra prøvetaking fra log-konkav måltetthet. Av denne grunn har flere utvidelser av ARS blitt foreslått i litteratur for å håndtere ikke-log-konkave målfordelinger. Videre har forskjellige kombinasjoner av ARS og Metropolis-Hastings-metoden blitt designet for å oppnå en universell prøvetaker som bygger en selvjusterende forslagstetthet (dvs. et forslag som er automatisk konstruert og tilpasset målet). Denne metorklassen kalles ofte som Adaptive Rejection Metropolis Sampling (ARMS) algoritmer . De resulterende adaptive teknikkene kan alltid brukes, men de genererte prøvene er korrelert i dette tilfellet (selv om korrelasjonen forsvinner raskt til null etter hvert som antallet iterasjoner vokser).

    Se også

    Referanser

    • Robert, CP og Casella, G. "Monte Carlo Statistical Methods" (andre utgave). New York: Springer-Verlag, 2004.
    • J. von Neumann, "Ulike teknikker brukt i forbindelse med tilfeldige sifre. Monte Carlo -metoder", Nat. Bureau Standards, 12 (1951), s. 36–38.