Seminar Numerik stochastischer Modelle

Werbung
Seminar Numerik stochastischer Modelle
Low-Discrepancy Folgen (Low-Discrepancy Sequences)
und die quasi Monte Carlo Methode
Mathematisch-Naturwissenschaftlichen Fakultät I
Humboldt-Universität zu Berlin
von
Hermann Schwarz
Inhaltsverzeichnis
1 Einführung
1
2 Koksma-Hlawka Ungleichung [3]
2
3 Folgen kleiner Diskrepanz
3.1 Halton Folge [3] . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Van der Corput, Basis 2 . . . . . . . . . . . . . . . . . . . . .
3.3 Faure Folge . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Simulation [3] . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Vergleich der Monte Carlo und Quasi-Monte Carlo Methoden .
6
6
7
7
9
9
i
Kapitel 1
Einführung
Als erstes möchte ich, dass wir uns an die Monte Carlo Mathode erinnern.
Es handelt sich hierbei um eine Methode zur numerischen Integration mit
Hilfe einer Folge von Zufallszahlen:
Z1
0
N
1 X
f (ξi )
f (u)du ≈
N i=1
(1.1)
Die Funktion f ist eine bekannte Funktion, deren Integral wir approximieren möchten. Dafür wird die Summe der Funktionswerte dieser Funktion in
den zufällig gewählten Punkten, multipliziert mit einem N-tel, berechnet. N
ist dabei die Anzahl der zufälligen Punkte, und ξ1 , ..., ξN sind diese zufällig
gewählte Punkte aus dem Intervall [0, 1].
Wenn die Punkte mit Hilfe folgender Regel gewählt werden: ξi = Ni heißt
die Methode Trapezregel. Wenn die Punkte randomisiert oder pseudorandomisiert ausgewählt werden, handelt es sich um die Monte Carlo Methode.
Wenn die Punkte aber aus der sogenannten Low-Discrepancy Folgen ausgewählt werden, wird die Methode als quasi-Monte Carlo Methode bezeichnet.
Es wird heute also wieder um die Monte Carlo Methode gehen, allerdings in
einer speziellen Form.
Welche Motivation steckt hinter der quasi-Monte Carlo Methode? Die Folgen
kleiner Diskrepanz, die auch quasi-random Folgen genannt werden, erlauben
in vielen Fällen eine Verbesserung der Performanz der Monte Carlo Methode,
also Kürzere Rechenzeiten und auch größere Genauigkeit. Die Genauigkeit
der Berechnung des Integrals wird dadurch erhöht, dass eine Folge kleiner
Diskrepanz gleichmäßiger über das Intervall zerstreut ist, über dem Integral
berechnet werden soll.
1
Kapitel 2
Koksma-Hlawka Ungleichung [3]
Diese Ungleichung ist ein bemerkenswertes Ergebnis, das uns zeigt, dass der
Fehler, der bei der Verwendung der quasi Monte Carlo Methoden auftritt
begrenzt ist, und zwar durch das Produkt zweier Terme. Einer der beiden
Terme ist von der Funktion f abhängig, deren Intergral wir mit Hilfe der quasi Monte Carlo Methode approximieren. Der andere Term ist die Diskrepanz
der Menge ξ1 , ..., ξN .
Bevor ich die Ungelichung zeige, muss definiert werden, was eine Funktion
endlicher Variation ist.
Notation
Für x ∈ [0, 1]s bezeichnen wir mit x̌ den Punkt, der sich symmetrisch bzgl.
zum Zentrum vom Hyperwürfel [0, 1]s . Wenn eine Funktion auf diesem Hyperwürfel definiert ist, f : [0, 1]s → R, bezeichnen wir mit fˇ den Funktionswert
dieser Funktion im Punkt x̌ (fˇ(x) = f (x̌)).
Definition (Funktionen endlicher Variation)
Eine Funktion f : [0, 1]s → R besitzt endliche Variation, falls ein Maß µ
auf der σ-Algebra der Borelmengen des Intervalls [0, 1]s mit dem Träger in
[0, 1]s \ 0 existiert, so dass
fˇ(x) = fˇ(0) + µ[[0, x]] ∀x ∈ [0, 1]s
Die Norm dieses Masses ||µ|| wird als Variation von f bezeichnet und wird
mit V (f ). Da ich den Begriff der Diskrepanz einer Folge mehrmals verwenden
werde, möchte ich ihn nochmal formulieren:
2
3
Definition (Diskrepanz) [2]
Diskrepanz ist ein Maß dafür, wie weit die durch Folge ξ1 , ..., ξN gegebene
empirische Verteilung von der Gleichverteilung auf [0, 1] entfernt ist.
Formal:
∗
(ξ, N ) = sup |
D∞
R∈J ∗
A(R; ξ)
− λs (R)|
N
(2.1)
wo ξ die Folge ξ1 , ..., ξN ist, λs ist s-dimensionales Lebesgue Maß, A(R; ξ) ist
die Anzahl der Punkte aus ξ, die in R liegen.
J ∗ ist die Menge der Intervalle der Form:
s
Q
[0, ui ) , wobei ui im halboffenen Intervall [0, 1) liegt.
i=1
Definition (Koksma-Hlawka Ungleichung) [3]
Sei f eine Funktion mit endlicher Variation auf [0, 1]s und sei ξ = (ξn ) eine
Folge in [0, 1]s , dann gilt für irgendein N
Z
N
X
1
∗
f (ξn ) ≤ V (f ) · D∞
(ξ, N )
(2.2)
f (u)du −
N n=1
[0,1]s
Bevor wir diesen Satz Beweisen, müssen wir folgendes Lemma voraussetzen:
Wir Bezeichnen mit µ̌ die Abbildung µ(x̌), wobei x̌ der bezüglich des Zentrums des Einheitswürfels [0, 1]s symmetrische Punkt ist.
Lemma
Sei µ ein Maß auf [0, 1]s , mit Verteilungsfunktion F . Dann gilt mit der Bezeichnung aus dem ersten Vortrag:
Z
Z
π(x)dµ̌(x) = F (x)dx
(2.3)
Der Beweis der Koksma-Hlawka Ungleichung:
Wir bezeichnen F := fˇ − fˇ(0)
Dann
Z
Z
N
N
1 X
1 Xˇ ˇ
f (ξn ) − f (x)dx =
f (ξn ) − f (x̌)dx =
N n=1
N n=1
!
Z
Z
N
N
X
1 X
1
F (ξˇn ) − F (x̌)dx =
1 ˇ − π(x) dµ̌(x) =
N n=1
N n=1 x̌≤ξn
4
Z
!
N
1 X
1ξ ≤x − π(x) dµ̌(x)
N n=1 n
Daraus folgt:
Z
N
1 X
∗
∗
f (ξn ) − f (x)dx ≤ D∞
(ξ, N )||µ̌|| = D∞
(ξ, N )||µ||
N
n=1
Diese Ungleichung stellt die Basis für die Überlegenheit der Quasi-Monte
Carlo gegenüber der Monte Carlo Methode, weil der Fehler der Berechnung
)s
des Integrals gegen Null strebt, und zwar mit Geschwindigkeit O( (logN
).
N
Allerdings, wie in einem Paper von zwei Japanischen Mathematikern Hozumi
Morohoshi und Masanori Fushimi über Fehlerabschätzung von quasi-Monte
Carlo Methode beschrieben wurde, ist es fast unmöglich, Fehlerabschätzung
mit Hilfe dieser Ungleichung zu machen, weil die Berechnung der Variation
der Funktion f normalerweise unmöglich ist. Für die Fehlerabschätzung der
quasi-Monte Carlo Methode gibt es deswegen Methoden, die für die Praxis
mehr geeignet sind [1].)
Für den Fall, wenn es doch möglich ist, die Variation der Funktion auszurechnen, kann man zur Erleichterung der Berechnung folgende Ungleichungen
benutzen [3]. Sie können versuchen, diese Ungleichungen zu beweisen:
Seien f, g : [0, 1]s → R, und sei λ ∈ R
Dann gilt:
V (f + g) ≤ V (f ) + V (g)V (λf ) = |λ|V (f )||f ||∞ ≤ |f (1)| + V (f )
Man kann auch folgende Eigenschaft der Variation benutzen:
Seien f : [0, 1]s → R, f ∈ Cs
Dann gilt:
δ s f V (f ) = δx1 ....δxs 1
An der Ungleichung sieht man, dass die Größe des Fehlers von der Diskrepanz abhängt. Um den Fehler zu minimieren ist es also sinnvoll, Mengen von
Punkten zu konstruieren, die möglichst gleichverteilt sind, d.h. mit möglichst
kleiner Diskrepanz. Allerdings ist es unmöglich, die Diskrepanz beliebig klein
5
zu halten. Sie hat eine untere Schranke, die vom einem britischen Mathematiker Klaus Friedrich Roth entdeckt wurde:
Theorem von Roth [3]
Sei s ≥ 2 und sei ξ eine Folge aus dem Intervall [0, 1]s .
∀N ≥ 1 gilt:
(s−1)
(logN ) 2
≥
> C(s)
N
wo C(s) > 0 eine Konstante ist, die nur von s abhängt.
∗
D∞
(ξ, N )
D2∗ (ξ, N )
(2.4)
Falls s ≥ 1
∀N ≥ 1 gilt:
∗
D∞
(ξ, N )
(logN )
> C (s)
N
1
(s)
2
(2.5)
Bemerkung
Für die Logaritmen zur Basis 2, die beiden Ungleichungen sind gültig mit
s−1
C(s) = (22s+4 (s − 1) 2 )−1 und
C 1 (s) = C(s + 1) − Kapitel 3
Folgen kleiner Diskrepanz
3.1
Halton Folge [3]
Sei p ≥ 2 eine natürliche Zahl. Wenn nun
n = a0 + a1 p + ... + ak pk die p-adische Entwicklung von n ∈ N ist,
wobei ai ∈ {0, ...., p − 1}, i = 0, ...., k (k+1 ist die Anzahl der Stellen der
benutzten Zahl unter benutzten Basis). Dann ist die Zahl ϕp (n), eine Komponente eines Elements der Halton Folge, folgendermassen definiert:
ak
ϕp (n) = ap0 + ap21 + ... + pk+1
Die Halton Folge x1 , ..., xN mit xn ∈ [0, 1]s ist dann definiert durch:
xn = (ϕp1 (n), ....., ϕps (n))
Die Zahlen p1 bis ps sind natürliche Zahlen größer Eins und paarweise relativ
prim.
Wir erhalten also N Folgenglieder, die s-dimensionale Vektore sind.
Beispiel:
wir möchten das 15. Glied der Halton Folge in einem 3-dimensionalen Raum
ausrechnen.
Wählen wir als erstes die Zahlen p1 , p2 und p3 aus. Da sie paarweise relativ
prim sein müssen, können wir z.B. 2,3 und 5 nehmen.
p-adische Entwicklungen von 15 mit Basen 2,3 und 5:
Basis 2: 15 = 1 · 20 + 1 · 21 + 1 · 22 + 1 · 23 = 11112
Basis 3: 15 = 0 · 30 + 2 · 31 + 1 · 32 = 1203
Basis 5: 15 = 0 · 50 + 3 · 51 = 305
6
7
Nun berechnen wir die drei Komponenten des 15. Gliedes der Halton Folge:
ϕ2 (15) = 12 + 212 + 213 + 214 = 0.11112 = 15
16
ϕ3 (15) =
0
3
+
2
32
+
ϕ5 (15) =
0
5
+
3
52
= 0.035 =
1
33
= 0.0213 =
7
27
3
25
Diese drei Komponenten kann man auch als Spiegelung der Darstellung von
der Zahl n (in unserem Fall die 15) in Basis p (in unserem Beispiel 2,3 und
5) am Komma bezeichnen.
Das 15. Glied der Haltonfolge:
15 7 3
, 27 , 25 )
x15 = (ϕp1 (15), ϕp2 (15), ϕp3 (15)) = (ϕ2 (15), ϕ3 (15), ϕ5 (15)) = ( 16
Die Beschränkung der Diskrepanz:
!
s
s
Y
1 X
(pi − 1)
∗
s
D∞ (x, N ) ≤
(3.1)
pi + (2 log N )
N i=1
logpi
i=1
s
∗
(x, N ) = O( (logNN ) )
Kurz geschrieben: D∞
Was man vielleicht noch zu Halton Folge sagen könnte, dass bei den Folgen ab der Dimension 14 klare Strukturen zu erkennen sind.
3.2
Van der Corput, Basis 2
Die eindimensionale Haltonfolge mit Basis 2 hat einen eigenen Namen, van
der Corput Folge und gilt als die elementare Folge kleiner Diskrepanz und
wird als Baustein für viele andere Folgen kleiner Diskrepanz verwendet. Da
die Folge eindimensional ist, möchte ich mit Hilfe dieser Folge veranschaulichen, nach welchem Prinzip sie und die Halton Folge sich in einem Intervall
bzw. in einem s-dimensionalen Würfel verteilen.
(an der Tafel die ersten 8 Elemente der folge zeigen, als eine Übung anbieten,
die ersten 8 Elemente auszurechnen )
3.3
Faure Folge
Bei der Erzeugung der Faure Folgen, wie auch bei vielen anderen, wie z.B.
Hammerslay Folgen, wird die Spiegelung der Darstellung von der Zahl n in
8
Basis p benutzt, wenn wir das n-te Glied einer Folge kleiner Diskrepanz ausrechnen möchten.
Faure Folgen sind also den Halton Folgen sehr ähnlich, und haben mit denen
nur zwei Unterschiede. Erstens für die Konstruktion dieser Folge wird nur eine Basis für alle Dimensionen verwendet. Und zweitens werden hier für jede
Dimension durch Permutationen gebildet.
Sei s ≥ 1 und wir wählen eine Primzahl p ≥ s. Sei ∆p Menge der p-adischen
Entwicklungen rationaler Zahlen aus dem Intervall [0, 1[
Wir definieren eine Abbildung Cp : ∆p → ∆p , die die Menge der p-adischen
Entwicklungen rationaler Zahlen auf sich selbst abbildet.
Hier ist noch einmal die p-adische Entwicklung der rationalen Zahl n:
ak
ϕpi (n) = ap0i + ap21 + ... + pk+1
i
i
Diese Entwicklung, wie wir schon wissen, ist die Darstellung der i-ten Komponente eines Elements der Halton Folge.
k
k
k
P
P
P
(ki )ai mod p
(0i )ai mod p
(1i )ai mod p
i=0
i=1
i=k
Cp (ϕp (n)) =
+
+ ... +
p
p2
pk+1
Wenn wir die Abbildung Ci j-mal Anwenden, setzen wir sie gleich Null,
wir schreiben Cij = 0, falls
j>i≥0
j
i
Falls i ≥ j ≥ 0, Ci = j
Die Abbildung Cp ist injektiv und es gilt: (Cp )p = Id, wenn man also die
Abbildung p-mal anwendet, bildet man die p-adische Entwicklung einer rationaler Zahl auf sich selbst ab.
Es gilt auch (Cp )−1 = (Cp )p−1 .
Sei nun s ≥ 2 und p ≥ 3 ist eine Primzahl, so dass p ≥ s.
Die Faure Folge x1 , ..., xN mit xn ∈ [0, 1]s ist dann definiert durch: xn =
(ϕp (n), Cp (ϕp (n)), Cp2 (ϕp (n)), ....., Cps−1 (ϕp (n)))
Die Basis der Faure Folge ist also die kleinste Primzahl, die größer gleich der
Dimensionzahl ist. Das erweist sich als vorteilhaft bei Problemen mit großer
Dimensionszahl. Z.B. wenn das Problem Dimensionsgröße 50 hat, würden wir
für die 50. Dimension eines Elements der Halton Folge die 50. Primzahl verwenden, nämlich 229. Für die Faure Folge müssten wir aber an dieser Stelle
die Primzahl 53 nehmen. Damit werden die leeren Stellen mit Faure besser
als mit Halton Folgen ausgefüllt, wenn das Problem hochdimensional ist.
Die Diskrepanz wird vom folgenden Term begrenzt:
s
1 1 p−1
s
s−1
∗
(log N ) + O((log N ) )
D∞ (x, N ) ≤
N s! 2 log p
(3.2)
9
3.4
Simulation [3]
Angenommen, X ist eine gleichverteilte Zufallsvariable auf [0, 1]s und f ist
eine Riemann-integrierbare Funktion definiert auf disem s-dimensionalen Intervall [0, 1]s . Anstatt nun den Erwartungswert folgendermassen zu berechnen:
N
1 X
f (Un )f.s.
(3.3)
E [f (X)] = lim
N →∞ N
n=1
wo (Un ) Folge von Borelmengen in [0, 1]s , können wir nun (Un ) durch die
gleichverteilte Folge (xn ) in [0, 1]s ersetzen.
Der Vorteil dieser Methode ist, dass sie schneller ist, vorausgesetzt, die Folge (xn ) ist geeignet und die Funktion f ist nicht zu irregulär. Außerdem
gibt es ein deterministisches Abbruchkriterium der Berechnung, und zwar
die Koksma-Hlawka ungleichung.
3.5
Vergleich der Monte Carlo und Quasi-Monte
Carlo Methoden
Die Benutzung der pseudo-zufälligen Zahlen (damit sind die Zahlen gemeint,
die mit Zufalsgeneratoren erzeugt werden) für Berechnung von Erwartungswerten ist eine ziemlich gängige Methode (Monte Carlo). Es funktioniert
aber mit einer Durchschnittlichen Fehlerfreiheit. Exaktheit des Ergebnisses
ist aber ein sehr wichtiger Aspekt, wenn beispielsweise Ingenieure die wahrscheinlichkeitstheoretischen Modelle benutzen.
Wir müssen trotzdem e inige Punkte im Kopf behalten:
1. Für keine Folge, die explizit angegeben werden kann, kann bewiesen
werden, dass sie wirklich zufälligen Charakter haben. Es gibt tiefliegende theoretische Gründe dafür. (unter anderem von Donald Knuth,
in seinem Lebenswerk „The Art of Computer Programming“ beschrieben).
2. Wir können nicht verlangen, dass jede Eigenschaft aus der Mengentheorie von der Folge erfüllt ist, die wir konstruiert haben, aber wenigstens
die wichtigsten Eigenschaften, wie Eigenschaft einer Normalen Folge
im Sinne von Borel (wenn die Teilfolgen gleicher Länge sich mit gleicher Frequenz wiederholen), oder χ Quadrat Regel (zeigt, wie gut eine
10
statistisches Modell (unsere Folge) der erwartete Folge entspricht). Allerdings gibt es viele Folgen, die diese Eigenschaften erfüllen, aber in
wirklichkeit keine guten pseudo-zufälligen Folgen sind.
3. In der Praxis bekommt man die pseudo-zufälligen Folgen auf folgende
Weise:
Familien von Zufallsgeneratoren werden durch statistische Tests überprüft und die erzeugten Folgen, die nicht so gut sind, werden eliminiert.
Es gibt eine breite Vielfalt an Tests. (Beschrieben unter anderem von
D.Knuth). Dadurch erhält man Folgen, die als brauchbar angesehen
werden können. Die meisten von ihnen sind endlich (z.B. periodische
Folgen), aber es ist auch möglich unendliche Folgen zu konstruieren.
Die gleichverteilten Folgen, die in der quasi-Monte Carlo Methode verwendet werden, sind anders in ihrer Natur als die pseudozufälligen Folgen in der Monte Carlo Methode. Über diese gleichverteilten Folgen
kann man sagen, dass ihre Eigenschaft der gleichverteilung bleibt bestehen.
4. Was man noch bei beiden Methoden vergleichen kann, sind die Geschwindigkeiten der Berechnung. Dieser Vergleich wurde von Sarkar
und Prasad (USA) 1987 gemacht. Die beiden Mathematiker haben gezeigt, dass für alle zur Zeit bekannten Folgen kleiner Diskrepanz, die auf
einem s-dimensionalen Intervall [0, 1]s definiert sind, wächst die Anzahl
der benötigten Simulationen in Abhängigkeit von s sehr schnell, wenn
sich die Genauigkeit der quasi-Monte Carlo Methode von der Genauigkeit der Monte Carlo Methode nicht unterscheiden soll. Daher nutzt
man die quasi-Monte Carlo Methode eher für Probleme kleiner Dimension.
Literaturverzeichnis
[1] Hozumi Morohosi, Masanori F.: A Practical Approach to the Error
Estimation of Quasi-Monte Carlo Integrations. (1998). – URL http:
//www.keisu.t.u-tokyo.ac.jp/Research/METR/1998/METR98-10.pdf
[2] Kainhofer, Reinhold:
Quasi-Monte Carlo Methoden.
(2005).
– URL http://reinhold.kainhofer.com/Papers/Kainhofer_Talk_
QMC_Wissenswertes_20-06-2005.pdf
[3] N. Bouleau, D. L.: Numerical Methods for Stochastic Processes. New
York : Wiley, 1994. – Kapitel 2C S
11
Herunterladen