Kopplungsalgorithmen und perfekte Simulation

Werbung
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  minn   : 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 * : minn : 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 : maxm   : 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
Herunterladen