Seminar stochastische Geometrie und räumliche Statistik Kopplungsalgorithmen und perfekte Simulation I Daniel Wolfmüller Juni 2002 Inhalt: 1. Grundproblematik 2. Coupling 2.1 Forward Coupling 3. Der Propp-Wilson-Algorithmus 3.1 Sandwiching 3.2 Propp-Wilson mit read-once randomness 4. Literatur 1. Grundproblematik der MCMC-Simulation Zur Erinnerung: (n ) - Verteilung zur Zeit n einer irreduziblen und aperiodischen MarkovKette (in fixem Zustand gestartet) - stationäre Verteilung (n ) n (n ) Im Allgemeinen gilt: (n ) Häufig reicht es jedoch bei Anwendungen, eine Verteilung betrachten, für die dTV ( (n ) , ) 0 gilt. zu dTV ( (n ) , ) : 1 2 k | i(n ) i | i 1 - (n ) total variation distance zwischen und weiteres Problem: Einfluss des Anfangszustandes auf die Grenzverteilung ein neuer Ansatz: coupling 2. Coupling Motivation: Beispiel 1: Urnen-Beispiel 0,5 0,5 1. Urne 00 2. Urne 1 Mit Wahrscheinlichkeit 2 wird eine der beiden Urnen ausgewählt, ein Ball (sofern vorhanden) entnommen und in die andere Urne gelegt. X n - Anzahl der Bälle in der ersten Urne nach dem n-ten Ziehvorgang, n 0 . (X n )n - Markov-Kette mit dem Zustandsraum S 0,1, 2,3,4 und Übergangsmatrix 12 12 0 0 0 1 1 2 0 2 0 0 P 0 12 0 12 0 0 0 12 0 12 1 1 0 0 0 2 2 Pij - Wahrscheinlichkeit, mit der sich bei i in der ersten Urne befindlichen Bällen nach dem Ziehvorgang j Bälle in dieser befinden Wie groß ist nun die erwartete Anzahl A von Bällen in der ersten Urne nach sehr langer Zeit? (1) Lösung eines LGS Grenzverteilung mit P 1 1 1 1 1 Als Lösung ergibt sich ( 5 , 5 , 5 , 5 , 5 ) . A lim EX n 2 . n Nicht praktikabel für große Zustandsräume. (2) Simulation Man simuliert Aˆ : 1 s s s Schritte der Markov-Kette (X n )n und verwendet X n als Schätzer für A . n 1 Problem: Wahl der Anfangsverteilung; diese ist laut Problemstellung nicht bekannt. Idee: Wenden Coupling-Technik an, um eine Neutralisierung des Einflusses der Anfangsverteilung zu erreichen. Start einer Markov-Kette für jeden möglichen Anfangszustand. Simulieren solange, bis sich alle Ketten in einem Zustand treffen. Dieser ist die Ausgabe der Simulation. Definition: Wird bei der Simulation zweier Markov-Ketten (X n )n (Yn )n auf dieselbe Folge von iid Zufallsvariablen U 1 , U 2 , U 1 ~ U [0,1] und dieselbe update-Funktion zurückgegriffen, X n (X n 1 ,U n ) und Yn (Yn 1 ,U n ) , n , so nennt man Kopplung oder Coupling der Markov-Ketten (X n )n und (Yn )n . und ..., d.h. dies Die update-Funktion aus dem obigen Beispiel: min(i 1,4) ; x [0, 12 ] (i , x ) 1 max( i 1 , 0 ) ; x ( ,1] 2 Bei jeder Markov-Kette Verwendung derselben Folge iid Zufallsvariablen (U n )n , U i ~ U [0,1] : X n (i ) (X n 1 (i ),U n ) , X 0 (i ) i , n , i S Die update-Funktion ist monoton in i . Dies ist ein Spezialfall: nicht für alle Zustände müssen Markov-Ketten simuliert werden. 2.1 Forward Coupling Aufgabe: Finde Zeitpunkt, an dem der Einfluss des Anfangszustandes eliminiert ist forward coupling Zustandsraum S 1, 2,..., m X n (i ) beschreibt Zustand der Kette mit Startzustand i zum Zeitpunkt n Starte Markov-Kette für jeden Startzustand Simulation so lange, bis der Zustand sämtlicher Ketten übereinstimmt Zeitpunkt T des Zusammenfließens aller Pfade: T minn : X n (1) ... X n (m ) Gilt nun X T (1) ~ ? Die Antwort: NEIN! Gegenbeispiel: Beispiel 2: (X n )n Markov-Kette mit Zustandsraum S 0,1 und Übergangsmatrix 12 12 P 1 0 gegeben. 0,5 0,5 0 1 1 2 1 Es gilt X T 0 , d.h. X T ist nicht gemäß der Grenzverteilung ( 3 , 3 ) der Markov-Kette verteilt. Der Grund des Scheiterns des forward-couplings: Zeitpunkt der Erhebung der Stichprobe nicht deterministisch anderer Ansatz: coupling from the past 3 Propp-Wilson-Algorithmus (perfekte Simulation) Jim Propp/David Wilson (1996) Vorteile: Ausgabe, die exakt der stationären Verteilung entspricht Stoppt bei Erreichung von Idee: Zur Simulation werden mehrere Markov-Ketten mit allen möglichen Startzuständen herangezogen. Start zu einem (virtuellen) Zeitpunkt in der Vergangenheit, läuft bis zum Zeitpunkt 0. Der Algorithmus: Sei S s 1 ,...,s k Zustandsraum. Zu finden: reversible, irreduzible und aperiodische Markov-Kette mit Zustandsraum S und stationärer Verteilung Sei P die Übergangsmatrix und : S [0,1] S eine gültige updateFunktion. Sei N1 , N 2 ,... Folge aufsteigender natürlicher Zahlen und U 0 , U 1 , U 2 ,... eine Folge von iid Zufallsvariablen mit U 0 ~ U [0,1] . 1. Setze m : 1 2. Simuliere s s 1 ,...,s k eine Markov-Kette mit Startzustand s vom Zeipunkt N m bis zum Zeitpunkt 0. Verwende update-Funktion und die Zufallszahlen U N 1 , U N 2 ,..., m m U 1 ,U 0 . Greife dabei bei den Übergängen N m 2 N m 3,...,1 0 auf die in den vorangegangenen Durchläufen generierten Zufallszahlen zurück. ~ 3. Enden alle Ketten aus Schritt 2 zum Zeitpunkt 0 im selben Zustand s STOPP. Sonst: setze m : m 1 und gehe zu Schritt 2. Bemerkung: Aus Performance-Gründen: meist nicht Wahl der Folge (N1 , N 2 , N 3 , N 4 ...) (1,2,3,4,...) , sondern der Folge (N1 , N 2 , N 3 , N 4 ...) (1,2,4,8,...); denn sei N * : minn : Ketten , die zum Zeitpunkt n starten und zum Zeitpunkt 0 zusammentr effen . Gesamtzahl der zu simulierenden Zeitintervalle im Falle der Verwendung von (N1 , N 2 , N 3 , N 4 ...) (1,2,3,4,...): 1 2 3 ... N * N * (N * 1) 2 Bei Folge (N1 , N 2 , N 3 , N 4 ...) (1,2,4,8,...): nur linearer Aufwand. Fragen: Terminiert der Algorithmus immer? Entspricht die vom Propp-Wilson-Algorithmus tatsächlich der gesuchten Grenzverteilung? gelieferte Verteilung Die Antworten auf beide Fragen sind: JA! Theorem: Voraussetzung: Sei P Übergangsmatrix einer irreduziblen und aperiodischen Markov-Kette mit endlichem Zustandsraum S s 1 ,...,s k und stationärer Verteilung (1 ,..., k ) . Sei zulässige update-Funktion für P . Verwende o.B.d.A. den Propp-Wilson-Algorithmus wie oben mit (N1 , N 2 , N 3 , N 4 ...) (1,2,4,8,...). Behauptung: (a) Der Propp-Wilson-Algorithmus terminiert mit Wahrscheinlichkeit 1 (b) Die Ausgabe des Algorithmus’ ist die Realisierung einer Zufallsvariable X mit X ~ , wobei die stationäre Grenzverteilung ist. Beweis: (a) siehe Literatur [Thönnes] (b) Sei Y die Ausgabe des Algorithmus’. Sei s i S beliebig. 0 ist zu zeigen: (a) M : | P (Y s i ) i | P (der Al gorithmus muss nicht vor N M gestartet werden) 1 () Lassen nun Markov-Kette mit Startzustand vom Zeitpunkt N M bis zur Zeit 0 laufen. ~ Y - Zustand dieser Kette zum Zeitpunkt 0. ~ stationär Y ~ ~ P ( Y Y ) () Dann gilt: ~ P (Y s i ) i P (Y s i ) P (Y s i ) ~ P (Y s i ,Y s i ) ~ P (Y Y ) und ~ i P (Y s i ) P (Y s i ) P (Y s i ) ~ P (Y s i ,Y s i ) ~ P (Y Y ) Probleme: hohe Laufzeiten durch die Vielzahl der Simulationen bei großem Zustandsraum großer Speicherbedarf durch Speicherung der in den vorangegangenen Schritten generierten Zufallszahlen Der Algorithmus funktioniert nicht, falls beim Start der Simulation zu einem beliebigen Zeitpunkt jeweils neue Zufallszahlen für die nachfolgenden Schritte generiert werden. Beispiel 3: Betrachte Zustandsraum und Übergangsmatrix aus Beispiel 2. Verwenden den Propp-Wilson-Algorithmus mit (N1 , N 2 , N 3 , N 4 ...) (1,2,4,8,...) und die update-Funktion 0 für x [0, 12 ) (0, x ) 1 1 für x [ ,1] , 2 (1, x ) 0 Sei Y die Ausgabe des modifizierten Algorithmus’. Z : maxm : zur Zeit N m gestartete , vom Al gorithmus ausgeführt e Markov Kette Es ergibt sich: P (Y 0) P (M m ,Y 0) m 1 P (M 1,Y 0) P (M 2,Y 0) P (M 1)P (Y 0 | M 1) P (M 2)P (Y 0 | M 2) 1 2 1 38 23 3 4 2 3 Grenzverteilung von Y ( 23 , 13 ) 3.1 Sandwiching Anwendbar nur, falls: (1) Markov-Kette bestimmte Monotonieeigenschaften besitzt und (2) Zustandsraum über gewisse Ordnung verfügt. Beispiel 4: ladder walk Zustandsraum S 1,..., k , k P1,1 P1,2 12 , Pk ,k Pk ,k 1 12 Übergangsmatrix P mit: und Pi ,i 1 Pi ,i 1 12 , Update-Funktion: 1 für x [0, 12 ) (1, x ) 1 , 2 für x [ , 1 ] 2 i 2,...,k 1 . und k 1 für x [0, 12 ) (k , x ) 1 k für x [ ,1] 2 i 1 für x [0, 12 ) (i , x ) 1 , i 1 für x [ 2 ,1] i , j S mit i j und x [0,1] gilt: i 2,...,k 1 (i , x ) ( j , x ) Das Zusammentreffen der beiden Markov-Ketten mit Startzustand 1 bzw. Startzustand k ist gleichbedeutend mit dem Verschmelzen sämtlicher (!) Ketten. Die Simulation dieser beiden Ketten ist also ausreichend. n -1 n 0 -2 -1 0 n -4 -3 -2 -1 0 3.2 Propp-Wilson mit read-once randomness Zweiter Nachteil des Propp-Wilson-Algorithmus’: hoher Bedarf Speicherplatz für die in jedem Schritt generierten Zufallszahlen. an Modifikation: Wilson’s modification des Propp-Wilson-Algorithmus’ (David Wilson) Version eines coupling-in-the-future-Prozesses Die Simulation stoppt jedoch nicht beim Verschmelzen der Markov-Ketten, sondern läuft darüber hinaus noch eine gewisse zufällige Zeit weiter. Betrachte zunächst coupling-from-the-past-Variante. Sei nun N1 N 2 ... zufällig ausgewählte Folge ansteigender natürlicher Zahlen. Sei m so, dass alle Markov-Ketten, gestartet zur Zeit N m , zur Zeit 0 verschmelzen. Ausgabe zur Zeit 0 ändert sich nicht, falls Start zur Zeit N k , k m Wähle (N1 , N 2 ,...) mit: N 1 N 1* N 2 N 1* N 2* N 3 N 1* N 2* N 3* * * wobei (N 1 , N 2 ,...) eine Folge von iid Zufallsvariablen mit Werten in . N i* ’s ~ N mit N : n N : erstes Verschmelz en der Ketten zum Zeitpunkt n beim forward coupling Ansatz: Behauptung: Die Wahrscheinlichkeit, dass die Ketten des Propp-Wilson* Algorithmus - gestartet zum Zeitpunkt N 1 N 1 - im Zeitpunkt 0 1 verschmelzen, ist 2 . Beweis: M i : m : erstes Zusammentreffen aller Ketten zum Zeipunkt m bei Start des Al gorithmus ' in N i , i * M ~ N i i i * M i , N i unabhängig P (M 1 N 1* ) P (M 1 N 1* ) Außerdem gilt: P (M1 N 1* ) P (M1 N 1* ) 1 P (M1 N 1* ) 1 P (M1 N 1* ) 2 P (M1 N 1* ) 2 1 1 Allgemein: Die bedingte Wahrscheinlichkeit, mit der die Markov-Ketten eines * * zum Zeipunkt N j (N 1 ... N j ) gestarteten Algorithmus’ vor dem Zeitpunkt N j 1 verschmelzen, beträgt mindestens 1 2 . Definition: Tritt bei einem Start zum Zeitpunkt N j der Markov-Ketten vor dem Zeitpunkt N j 1 Verschmelzung ein, so nennen wir den j . Neustart des Propp-Wilson-Algorithmus’ erfolgreich. Zur Vereinfachung: Arbeiten mit einer Wahrscheinlichkeit, die genau 1 2 beträgt. * P ( M N Führen dazu für den Fall j j ) einen sogenannten tie-breaker ein. Hierzu werfen wir eine faire Münze. Das j . Ergebnis heißt nun *-erfolgreich, falls gilt: M j N j* * M N oder j j und der entsprechende Münzwurf ergibt „Kopf“. Andernfalls nennen wir das j . Ergebnis nicht-*-erfolgreich. jeder Neustart ist mit Wahrscheinlichkeit 1 2 *-erfolgreich Generiere bei dieser Variante des Propp-Wilson-Algorithmus’ Startzeiten N1 ,N 2 ,... und lasse so lange laufen, bis ein Neustart *-erfolgreich ist. Y : Anzahl der nicht * erfol greichen Neustart , bis ein Neustart * erfol greich ist Y ~ Geo ( 12 ) Lasse nun zuerst die Ketten vom Zeitpunkt NY 1 zum Zeitpunkt NY , dann von NY bis NY 1 usw. bis zum Zeitpunkt 0 laufen. Entwicklung der Markov-Kette vom Zeitpunkt NY 1 zum Zeitpunkt NY kann simuliert werden als ein sogenannter twin run. Bestimmen Anzahl der nicht-*-erfolgreichen Neustarts durch Simulation mit Y . Falls Y 0 NY 0 Falls Y 1 : Bestimme den Zustand der Markov-Ketten in NY durch einen twin run. Den Übergang von NY nach NY 1 simuliere mit einem twin run; die Entwicklung der Ketten verhalte sich gemäß des Verlierers. Fahre fort bis zur Zeit 0. Diese Ausgabe enspricht exakt der Ausgabe des normalen Propp-WilsonAlgorithmus’. Aber: Kein Rückgriff auf zuvor generierte Zufallszahlen notwendig 4 Literatur O. Häggström (2001): Finite Markov Chains and Algorithmic Applications S. M. Ross (1997): Introduction to Probability Models, Academic Press E. Thönnes: A Primer on Perfect Simulation