Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen...

18
Technische Universität Dortmund Fakultät Statistik Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen Systemen eingereicht von: Jakob Richter ‹[email protected]eingereicht am: 18. April 2012 Dozentin: Prof. Dr. Christine Müller

Transcript of Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen...

Page 1: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Technische Universität Dortmund

Fakultät Statistik

Seminararbeit

Brownschen Bewegung und drei Methoden für dessen Simulation

im Seminar: Grundlagen der Simulation und Statistik von dynamischenSystemen

eingereicht von: Jakob Richter ‹[email protected]

eingereicht am: 18. April 2012

Dozentin: Prof. Dr. Christine Müller

Page 2: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Inhaltsverzeichnis

1 Einleitung 3

2 Stochastische Methoden 32.1 Wiener Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Pseudozufallszahlengenerator . . . . . . . . . . . . . . . . . . . . . . . 4

3 Brownsche Bewegung und deren Simulation 53.1 Zuwächse aus Normalverteilung . . . . . . . . . . . . . . . . . . . . . . 53.2 Random-Walk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3 Karhunen-Loève Approximation . . . . . . . . . . . . . . . . . . . . . . 73.4 Differenzierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.5 Kovarianz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Beispiele 94.1 Zuwächse aus Normalverteilung . . . . . . . . . . . . . . . . . . . . . . 104.2 Random-Walk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3 Karhunen-Loève Approximation . . . . . . . . . . . . . . . . . . . . . . 11

5 Zusammenfassung 12

Literatur 14

A Anhang 15A.1 R-Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Page 3: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 3

1 Einleitung

Die Brownsche Bewegung wurde unter anderem von dem Botaniker Robert Brown 1828entdeckt, als er die Bewegung von Pollen im Wasser unter dem Mikroskop betrachtete(vgl. Meintrup und Schäffler 2004, S. 341). Ursache dieser Bewegung waren, wie erst 1863von Christian Wiener nachgewiesen, die Bewegungen der Flüssigkeitsmoleküle. Daherwird die Brownsche Bewegung auch als Wiener Prozess bezeichnet. Die Moleküle prallenin einer Sekunde etwa 1021 mal mit den in der Flüssigkeit befindlichen mikroskopischkleinen Teilchen (wie etwa Pollen) zusammen und verursachen daher eine zufälligeBewegung der Partikel. Der so entstehende Bewegungspfad wird auch als RandomWalk bezeichnet. Ohne äußere Einflüsse ist die Bewegungsänderung in alle Richtungengleichwahrscheinlich, daher bleibt die Position des Teilchens bei längerer Betrachtungkonstant. In dieser Arbeit soll nur die eindimensionale Bewegung von Bedeutung sein.Anders also als in der Physik, wo auf ein Teilchen Kräfte aus allen Richtungen einwirken,wird hier lediglich ein Merkmal (eine Dimension) betrachtet. Der Wert des Merkmalskann sich also zufällig Erhöhen und Absenken. Im Allgemeinen wird dieser Fall auchals Wiener Prozess bezeichnet.

Um einen solchen Bewegungspfad über eine gewisse Zeitspanne zu simulieren, werden indrei verschiedene Verfahren vorgestellt, die dem Modell der Brownschen Bewegung genü-gen. Dazu werden zunächst in Kapitel 2 die Anforderungen spezifiziert, dann in Kapitel3 die Verfahren vorgestellt. Eine Variante beruht auf normalverteilten Zufallszahlen,die die Bewegung für ein festgelegtes Zeitintervall vorgeben. Die simulierte Bewegungin der zweiten Variante wird durch Zufälliges ziehen der Richtung hervorgerufen. Dabeiist Schrittweite und Zeitintervall für jede Bewegung gleich. Die dritte Simulation bautebenfalls auf normalverteilten Richtungsänderungen auf. Mit Hilfe der Karhunen-LoèveEntwicklung werden jedoch die Zufallszahlen so aufsummiert, dass sie einen „abgerun-deten“ Pfad bilden, der als gute Approximation eines tatsächlichen Random-Walksangesehen werden kann. Implementierungen der Simulationsmöglichkeiten in R undbeispielhafte Graphen der auf die verschiedenen Weisen simulierten Pfade werden Kapi-tel 4 gegeben. Kapitel 5 gibt eine Zusammenfassung und einen kurzen Vergleich dervorgestellten Varianten.

2 Stochastische Methoden

In diesem Abschnitt soll zunächst der Wiener Prozess, der die mathematische Grund-lage der Brownschen Bewegung bildet, definiert werden. Da für die Simulationen

Page 4: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 4

die Wahl des Zufallszahlengenerators und seine statistischen Eigenschaften von wich-tiger Bedeutung sind, wird der hier benutzte Mersenne-Twister auch kurz vorge-stellt.

2.1 Wiener Prozess

Der Wiener Prozess ist ein spezieller stochastischer Prozess. Ein Stochastischer Prozessist die mathematische Beschreibung von zeitlich geordneten, zufälligen Ereignissen undnach Meintrup und Schäffler (2004, S. 268) definiert als eine Familie von ZufallsvariablenW = (W (t), t ∈ Γ) auf dem Wahrscheinlichkeitsraum (Ω,F ,P) und Γ ⊂ [0,∞) alsIndexmenge. Die Zufallsvariablen W sind messbare Abbildungen: W : Ω× Γ→ S. S istdabei der Zustandsraum und im Falle des Wiener Prozesses die Reellen Zahlen, alsoS = R. Im stetigen Fall des Wiener Prozesses gilt Γ = [0,∞) ⊂ R. Γ bezeichnet dieZeitachse. Der PfadW des Wiener Prozesses wird durch die Punktemenge W (t), t > 0bezeichnet, die nach Meintrup und Schäffler (2004, S. 342) und Iacus (2008, S. 18) durchfolgende Voraussetzungen definiert ist:

1. W (0) = 0 fast sicher: P (W (0) = 0) = 1

2. W hat auf disjunkten Zeitabschnitten unabhängige Zuwächse: ∀ 0 ≤ t1 < t2 ≤t3 < t4 : W (t2)−W (t1) und W (t4)−W (t3) sind stochastisch unabhängig.

3. Die Zuwächse sind Normalverteilt: ∀ 0 ≤ s < t : W (t)−W (s) ∼ N(0, t− s)

2.2 Pseudozufallszahlengenerator

Da die Simulation der Brownschen Bewegung nahezu komplett von den erzeugten Pseu-dozufallszahlen abhängt, ist es wichtig die statistischen Eigenschaften des verwendetenAlgorithmus zu kennen. Die Verwendung des in R (R Development Core Team 2012)implementierten und als Standard eingestellten Mersenne-Twister stellt sicher, dassdie erzeugten Pseudozufallszahlen gleichverteilt und durch entsprechende Transforma-tion auch Normalverteilt sind. Ebenfalls sind die erzeugten Pseudozufallszahlen in623 Dimensionen gleichverteilt. Dies sichert eine extrem kleine Korrelation zwischenaufeinanderfolgenden Werten und ist somit von Bedeutung für die Unabhängigkeitsvor-aussetzung für die Zuwächse des Wiener Prozesses. Die Periodenlänge – also die Anzahlder erzeugbaren Pseudozufallszahlen bis eine Wiederholung der Zahlen auftritt – beträgt219937−1 ≈ 4, 3 ·106001. Eine Wiederholung des Musters in einem durch die Simulationerzeugtem Pfad ist also nicht zu erwarten. Nur um eine grobe Vorstellung zu bekommen:

Page 5: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 5

Wenn für jede Millisekunde eine Zufallszahl gezogen würde, würde sich das Muster desPfades erst nach ca. 1, 4 · 105991 Jahren wiederholen.

3 Brownsche Bewegung und derenSimulation

Für die Simulation des Pfades W der Brownschen Bewegung wird ein fester Zeitzuwachs∆t > 0 verwendet. Für jeden Zeitpunkt t = k · ∆t , k ∈ N wird ein neuer Zustandvon W (t) aufbauend auf dem Wert von W (t − ∆t) simuliert. Ausgehend von derVoraussetzung 1 der Definition des Wiener Prozesses auf Seite 4 gilt dabei für jedeSimulationsvariante W (0) = 0.

3.1 Zuwächse aus Normalverteilung

Basierend auf Voraussetzung 3 können die Zuwächse von W durch normalverteilteZufallszahlen mit der Varianz ∆t simuliert werden (vgl. Iacus 2008, S. 18). Für denZeitintervall [0, T ] wird die Zeitachse in gleichmäßige Schritte ∆t = T

Neingeteilt. Das

N gibt an, wie viele Punkte simuliert werden sollen, wie fein die Simulation werdensoll. Die Punkte des Pfades W lassen sich nach Iacus (2008, S. 19) somit wie folgtgenerieren:

Der Algorithmus startet bei k = 0 undW (k·∆t) = W (0) = 0.

1. Ziehe Zufallszahl z aus der Standardnormalverteilung.

2. Setze W ((k + 1) ·∆t) = W (k ·∆t) + z ·√

∆t.

3. k = k + 1

4. Wenn k ≤ N , wiederhole von Schritt 1 an.

Daraus folgt unmittelbar, dass die Voraussetzungen für den Wiener Prozess, mit derEinschränkung des festen Zeitintervalls ∆t erfüllt sind.

1. P (W (0) = 0) = 1: Gegeben durch Algorithmus.

2. ∀ k1 < k2 ≤ k3 < k4 , k1, k2, k3, k4 ∈ 0, . . . , N : W (k2 ·∆t) −W (k1 ·∆t) undW (k4 ·∆t)−W (k3 ·∆t) sind stochastisch unabhängig: Diese Bedingung wird durchden Pseudozufallszahlengenerator hinreichend erfüllt.

Page 6: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 6

3. ∀ 0 ≤ k1 < k2 , k1, k2 ∈ 0, . . . , N : W (k2 ·∆t)−W (k1 ·∆t) ∼ N(0, (k2−k1) ·∆t)ist offensichtlich Erfüllt, da mit Sn := W (k2 ·∆t)−W (k1 ·∆t) = Xk1+1 + . . .+Xk2

und Xi i ∈ 1, . . . , N unabhängig identisch N(0,∆t)-Verteilt gilt: E(Sn) = 0 undV ar(Sn) = ∑k2

i=k1+1 V ar(Xi) = (k2 − k1) ·∆t.

3.2 Random-Walk

Eine substantiellere Methode den Pfad einer Brownschen Bewegung zu simulieren beruhtauf dem Ursprung eben dieser Bewegung. Wie bereits in der Einleitung angesprochen,ist die Ursache für die Brownsche Bewegung das Einwirken von Kräften aus allen Rich-tungen. Dies führt zu dem hier dargestellten Ansatz für den eindimensionalen Fall, dassein Wert sich entweder um einen konstanten Wert erhöht oder absenkt. Sei X1, . . . , XN

eine Reihe von Bernoulli-verteilten Zufallsvariablen mit den gleich wahrscheinlichenAusprägungen −1√

Nund +1√

N(vgl. Iacus 2008, S. 20).

Wie auch im vorherigen Verfahren startet der Algorithmus bei k = 0 und W (k ·∆t) =W (0) = 0 mit konstantem ∆t = T

N.

1. Wähle zufällig z = −1 oder z = +1 mit gleicher Wahrscheinlichkeit.

2. Setze W ((k + 1) ·∆t) = W (k ·∆t) + z ·√

∆t. 1

3. k = k + 1

4. Wenn k ≤ N , wiederhole von Schritt 1 an.

Dass dieser Algorithmus die Voraussetzungen für den Wiener Prozess erfüllt, folgt fürsehr große N aus dem Zentralen Grenzwertsatz.

1. P (W (0) = 0) = 1: Gegeben durch Algorithmus.

2. ∀ k1 < k2 ≤ k3 < k4 , k1, k2, k3, k4 ∈ 0, . . . , N : W (k2 ·∆t) −W (k1 ·∆t) undW (k4 ·∆t)−W (k3 ·∆t) sind stochastisch unabhängig: Diese Bedingung wird durchden Pseudozufallsgenerator hinreichend erfüllt.

3. ∀ 0 ≤ k1 < k2 , k1, k2 ∈ 0, . . . , N : W (k2 ·∆t)−W (k1 ·∆t) ∼ N(0, (k2−k1) ·∆t):Dies gilt asymptotisch, wenn n := k2−k1 sehr groß ist, da dann für die Summe derentsprechenden Zufallsvariablen Sn = Xk1+1 +. . .+Xk2 der Zentrale Grenzwertsatzgilt. Unter Verwendung von Z = 1√

∆t·X ergibt sich zunächst folgendes:

1Der in Iacus (2008, S. 20) dargestellte Algorithmus ist nur für den Fall T = 1 gültig.

Page 7: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 7

P (Z = z) =

0, 5 für z = −1

0, 5 für z = +1

E(Z) = 0, 5 · (−1 + 1) = 0⇒ E(X) = 0

⇒ E(Sn) = 0

V ar(Z) = E(Z2) + E(Z)2 = 0, 5 · (−1)2 + 0, 5 · (+1)2 = 1

⇒ V ar(X) = V ar(√

∆t · Z) = ∆t

⇒ V ar(Sn) = V ar(k2∑

i=k1+1Xi) =

k2∑i=k1+1

V ar(Xi) = (k2 − k1) ·∆t

Sn − E(Sn)√V ar(Sn)

= Sn√(k2 − k1) ·∆t

n→∞∼ N(0, 1)

⇒ Sn = W (k2 ·∆t)−W (k1 ·∆t) ∼ N(0, (k2 − k1) ·∆t)

3.3 Karhunen-Loève Approximation

Die Simulation des Wiener Prozesses basierend auf Karhunen-Loève-Entwicklung nach Ia-cus (2008, S. 22) bietet eine Approximation an einen Wiener Prozess. Dabei ist dieAbweichung der Karhunen-Loève-Entwicklung von einem Wiener Prozess im Sinnedes mittleren quadratischen Fehlers kleiner, als bei anderen Entwicklungen mit glei-cher Anzahl an generierten Zufallszahlen (vgl. Jahn und Reulke 2009, S. 130). Eswerden also weniger Zufallszahlen benötigt um eine gute Approximation zu erhalten.Aus rechnerischer Sicht ist es jedoch langsamer, da nicht nur Zufallszahlen gezogenund aufsummiert, sondern auch die Winkelfunktionen genutzt werden. Die PunkteW (t) des Pfades der Brownschen Bewegung berechnen sich unter Verwendung vonN unabhängig identisch standardnormalverteilten Zufallsvariablen X1, . . . , XN wiefolgt:

W (t) =N∑

i=0Xiφi(t), 0 ≤ t ≤ T (1)

mit φi(t) = 2√

2T(2i+ 1)π · sin

((2i+ 1)πt

2T

)(2)

Auf einen Nachweis der Erfüllung der Voraussetzungen wird hier verzichtet.

3.4 Differenzierbarkeit

Da es eine Hauptcharakteristikum der Brownschen Bewegung ist, dass alle Zuwächseunabhängig voneinander sind – die Bewegung also jederzeit in eine andere Richtung

Page 8: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 8

gehen kann, fällt es nicht schwer daraus zu schließen, dass der Pfad der BrownschenBewegung in keinem Punkt differenzierbar ist. In anderen Worten: An keinem Punktist der Pfad durch eine lineare Funktion approximierbar. Ein mathematisch exakterBeweis findet sich in Klenke (2008, S. 459). Hier soll ein experimenteller Weg unterVerwendung der simulierten Brownschen Bewegung durch normalverteilte Zuwächsezum Nachweis genügen (vgl. Iacus 2008, S. 242).

Wäre der Pfad differenzierbar, so hätte der Differentialquotient einen festen Grenzwert−∞ < g < +∞. Jedoch gilt für 0 ≤ t ≤ T :

lim∆t→0

|W (t+ ∆t)−W (t)|∆t ' lim

∆t→0

√∆t

∆t = +∞ ,

da sich die Zuwächse |W (t+ ∆t)−W (t)| wie√

∆t verhalten. Dafür spricht auch, dassdie Zuwächse W (t+ ∆t)−W (t) mit einer Standardabweichung von

√∆t normalverteilt

sind. Damit folgt für die Wahrscheinlichkeit P (|W (t+ ∆t)−W (t)| > l ·∆t) = P (X <

−l · ∆t ∨ X > l · ∆t) ∆t→0−−−→ 1 für alle t ∈ [1,∞) und X ∼ N(0,∆t), wie auchAbbildung 1 verdeutlicht. Dies zeigt, dass der Zähler des Differentialquotienten mitgegen 1 gehender Wahrscheinlichkeit um ein beliebiges Vielfaches l größer sein kann alsder Nenner, wenn ∆t klein genug gewählt wird. Daraus lässt sich auch der Grenzwert+∞ schließen.

t

P

0.0

0.2

0.4

0.6

0.8

0e+00 2e−04 4e−04 6e−04 8e−04 1e−03

l

2

4

8

16

32

64

128

256

512

1024

Abbildung 1: Grafischer Nachweis, dass der Zähler des Differentialquotienten für ein beliebig kleines∆t mit hoher Wahrscheinlichkeit um einen beliebig großen Faktor l größer ist als derNenner.

2Lediglich die dort vorgestellte Idee wird hier genutzt. Das Codebeispiel im Buch enthält jedoch einenProgrammierfehler und ist auch von der Grundidee falsch, da die dort genutzte Karhunen-LoèveApproximation durchaus differenzierbar ist.

Page 9: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 9

Um dieses Verhalten zu simulieren betrachten wir eine sehr feine Simulation in einemkleinen Zeitabschnitt. Es wird der Differentialquotient an der Stelle t = 0 betrachtetund für die Simulation der Wert ∆t von 10−4 bis 10−7 verkleinert. Dies führt zu einemzwar schwankenden aber Richtung t ↓ 0 steigenden Wert des Differentialquotienten, wieauch in Abbildung 2 zu erkennen ist.

0e+00 2e−05 4e−05 6e−05 8e−05 1e−04

050

010

0015

00

∆t

Diff

eren

tialq

uotie

nt

Abbildung 2: Grafischer Nachweis, dass der Pfad der Brownschen Bewegung nicht differenzierbar ist.Hier am Punkt t = 0 mit kleiner werdendem ∆t

3.5 Kovarianz

Eine weitere Eigenschaft des Wiener Prozesses ist, dass die Kovarianz zweier Zufallsva-riablen W (t) und W (s) genau dem kleineren Wert von t und s entspricht. Der Nachweiserfolgt schnell mit der Annahme, dass o.B.d.A. gilt: s < t.

Cov(W (s),W (t)) = Cov(W (s),W (s) + (W (t)−W (s)))

= Cov(W (s),W (s)) + Cov(W (s)−W (0),W (t)−W (s))

(mit (2) (S. 4) folgt) = V ar(W (s)) + 0

= V ar(W (s)−W (0))

(mit (3) (S. 4) folgt) = s

4 Beispiele

Die in den folgenden Abschnitten dargestellten Simulationen wurden mit R (R Develop-ment Core Team 2012) durchgeführt. In dieser Sprache liegen auch die Codebeispiele vor,

Page 10: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 10

die mit kleinen Änderungen und Korrekturen Iacus (2008) entnommen sind. Die Grafikenwurden mit dem Paket ggplot (Wickham 2009) erstellt.

4.1 Zuwächse aus Normalverteilung

Hier nun eine beispielhafte Implementierung, wie solche normalverteilten Zuwächse mitR simuliert und geplottet werden können.

1 T <- 1; N <- 100 # Zeitintervall und Feinheit

Delta <- T/N # Zeitschritte

3 t <- seq (0,T, length .out=N+1) #Zeit -Achse

S <- cumsum (sqrt(Delta) * rnorm(N))

5 # Simulation und Aufsummierung der Zuwaechse

W <- c(0, S) #0 als ersten Wert.

7 plot(t,W, type="l") # Linienplot

Mit etwas mehr Code (siehe Anhang S. 15) wurde eine Simulation für verschiedene Ndurchgeführt. Das Ergebnis ist in Abbildung 3 zu sehen.

−1.0

−0.5

0.0

0.0 0.2 0.4 0.6 0.8 1.0t

W

N

10

100

1000

Abbildung 3: Simulierter Pfad der Brownschen Bewegung durch N normalverteilte Zuwächse

Zu beachten ist dabei, dass durch das Plotten als Liniengraf eine lineare Interpolationzwischen den einzelnen Punkten von W erzeugt wurde.

4.2 Random-Walk

Die Simulation des Wiener Prozesses durch den Random-Walk lässt sich in R ähnlichimplementieren.

Page 11: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 11

1 T <- 1; N <- 100 # Zeitintervall und Feinheit

Delta <- T/N # Zeitschritte

3 t <- seq (0,T, length .out=N+1) #Zeit -Achse

S <- cumsum ( sample (x=c(-1,1),size=n, replace =T) * sqrt(Delta

))

5 # Simulation und Aufsummierung der Zuwaechse

W <- c(0,S) #0 als ersten Wert.

7 plot(t,W, type="l") # Linienplot

Auch hier wurde eine lineare Interpolation gewählt, doch ist in Abbildung 4 deutlich zusehen, dass es eine größere Anzahl an simulierten Zuwächsen benötigt um einen Pfad zuerhalten, der einen Wiener Prozess approximativ wiedergeben kann. Der zur Erzeugungverwendete R-Code ist im Anhang auf Seite 15 zu finden.

t

W

−0.5

0.0

0.5

1.0

0.0 0.2 0.4 0.6 0.8 1.0

N

10

100

1000

Abbildung 4: Simulierte Pfade der Brownschen Bewegung durch jeweils N Bernoulli-verteilte Zufalls-variablen. Die Punkte markieren die Stellen, an denen eine neue Bewegung simuliertwurde.

4.3 Karhunen-Loève Approximation

Für die Simulation des Pfades wird zunächst die Implementierung der Funktion φi(t)(siehe S. 7 (2)) benötigt.

1 phi <- function (i,t,T)

(2 * sqrt (2*T)) / ((2*i+1)*pi) * sin (((2*i+1)*pi*t)

/(2*T))

3

Page 12: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 12

Nun kann mit Hilfe dieser Funktion und N normalverteilter Zufallszahlen die Approxi-mation simuliert werden.

1 Gen <- N*10 # Feinheit des Plots

t <- seq (0,T, length .out=Gen +1) # Zeitachse

3 Z <- rnorm(N) # Zufallszahlenerzeugung

W <- numeric (Gen +1) # Initialisierung der y-Achse

5 for(i in 2:( Gen +1))

W[i] <- sum(Z* sapply (1:n, function (x) phi(x,t[i],T)))

7 #Wende fuer jeden t-Wert die Formel an.

9 plot(t,W, type="l") # Linienplot

Für verschiedene N erzeugt der Code auf Seite 15 die in Abbildung 5 zu sehendensimulierten Pfade.

−0.4

−0.2

0.0

0.2

0.4

0.0 0.2 0.4 0.6 0.8 1.0t

W

N

10

50

100

Abbildung 5: Simulierte Pfade der Brownschen Bewegung durch die Karhunen-Loève Approximationmit N Zufallszahlen.

5 Zusammenfassung

Es wurde eine kurze Einführung gegeben welchen Ursprung die Brownsche Bewegunghat und drei verschiedene Möglichkeiten diese in der eindimensionalen Variante mitR zu simulieren. Als einfachste Variante wurden die Zuwächse aus normalverteiltenZufallszahlen generiert. Diese Variante erfüllt unmittelbar die Voraussetzungen, die aneinen Pfad des Wiener Prozesses gestellt werden. Die zweite Methode nutzt leichter zuerzeugende Zufallszahlen. So kann der Pfad nur um einen konstanten Wert steigen oder

Page 13: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 13

fallen und es muss nur zufällig entschieden werden ob Erhöhung oder Absenkung. Dafürwerden sehr viele Zufallszahlen benötigt, damit der zentrale Grenzwertsatz anwendbarist und die Voraussetzungen erfüllt werden. Die dritte vorgestellte Variante nutzt dieKarhunen-Loève-Entwicklung um aus bereits einer kleinen Zahl an erzeugten normal-verteilten Zufallszahlen eine „glatte“ Approximation an einen Wiener Prozess zu liefern.Für die Simulation sind die ersten beiden Varianten am schnellsten zu berechnen. Zwarbenötigt die zweite Methode sehr viele Zufallszahlen um ausreichend gute Ergebnisse zuliefern, dies stellt jedoch mit modernen Rechnern kein Problem dar. Die Karhunen-Loève-Approximation benötigt besonders für die Interpolation viel Rechenleistung, liefert aberfür alle Punkte auf dem Pfad eine gute Approximation.

Anwendung können solche Simulationen in Gebieten der Finanzwissenschaften findenund ebenso in allen anderen Bereichen in denen über eine Zeitspanne eine zufälligeEntwicklung stattfindet. So können Fragen untersucht werden, ob ein rein zufälligerungerichteter Prozess einen Schwellenwert überschreitet, der weitere Mechanismen inGang setzt. Es können die Resultate und der Verlauf chemischer Prozesse simuliertwerden, da auch dort der Zufall eine Entwicklung in die eine oder andere Richtungbegünstigen kann. Ebenso kann untersucht werden, ob eine rein zufällige Aktienmarkt-entwicklung dazu führt, dass ein Börsenalgorithmus bereits weit greifende „Entschei-dungen“ trifft. Hier macht insbesondere die Abbildung 3 auf Seite 10 deutlich, dassdie Börsenkurse eines Tages durchaus auch nur Ergebnis eines Wiener Prozesses seinkönnten.

Page 14: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 14

Literatur

Iacus, Stefano M. (2008). Simulation and Inference for Stochastic Differential Equations.Springer. isbn: 978-0-387-75838-1.

Jahn, H. und R. Reulke (2009). Systemtheoretische Grundlagen OptoelektronischerSensoren. John Wiley & Sons. isbn: 978-3-527-62591-8. url: http://books.google.d

e/books?id=EEbr0mkAOnYC.

Klenke, A. (2008). Wahrscheinlichkeitstheorie. Springer-Lehrbuch Masterclass. Springer.isbn: 978-3-540-76317-8. url: http://books.google.de/books?id=bmy89K9VjHIC.

Meintrup, D. und Stefan Schäffler (2004). Stochastik: Theorie Und Anwendungen.Statistik Und Ihre Anwendungen. Springer. isbn: 978-3-540-21676-6. url: http://boo

ks.google.de/books?id=hnrIogMA6aQC.

R Development Core Team (2012). R: A Language and Environment for StatisticalComputing. Wien: R Foundation for Statistical Computing. isbn: 3-900051-07-0. url:http://www.R-project.org/.

Wickham, H. (2009). ggplot2: elegant graphics for data analysis. New York: Springer.isbn: 978-0-387-98140-6. url: http://had.co.nz/ggplot2/book.

Mit meiner Unterschrift versichere ich, dass ich den Bericht eigenständigverfasst, nur die angegebenen Quellen genutzt sowie alle Zitate korrektgekennzeichnet habe.

Jakob Richter

Page 15: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 15

A Anhang

A.1 R-Code

1 # Brownsche Prozesse

#Jakob Richter

3

library ( ggplot2 )

5 # #####################

# Aus Normalverteilung

7 # #####################

set.seed (44147)

9 T <- 1 # Zeitintervall

Ns <- c(10 ,100 ,1000)

11

plotres <- lapply (Ns , function (N)

13 Delta <- T/N # Zeitschritte

W <- c(0, cumsum ( sqrt(Delta) * rnorm (N)))

15 t <- seq (0,T, length .out=N+1)

res <- cbind.data.frame (W=W,t=t,N=N)

17 return (res)

)

19

plotres <- do.call("rbind",plotres )

21 plotres <- as.data. frame ( plotres )

plotres $N <- as. factor ( plotres $N)

23

pdf(" normal .pdf",width =9, height =5)

25 g <- ggplot (plotres ,aes(x=t,y=W,color=N))

g + geom_line(size =0.7)

27 dev.off ()

29 # ############

# Random Walk

31 # ############

set.seed (44137)

33 T <- 1

ns <- c(10 ,100 ,1000)

35

randres <- lapply (ns , function (n)

Page 16: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 16

37 t <- seq (0,T, length .out=n+1)

S <- cumsum ( sample (x=c(-1,1),size=n, replace =T))

39 W <- c(0,S)

W <- W * sqrt(T/n) #hier liegt ein Fehler im Buch

vor.

41 cbind .data. frame (W=W,t=t,N=n)

)

43

randres <- do.call("rbind",randres )

45 randres <- as.data. frame ( randres )

randres $N <- as. factor ( randres $N)

47

pdf("limit.pdf",width =9, height =5)

49 h <- ggplot (randres ,aes(x=t,y=W,color=N))

h <- h + geom_line(size =1)

51

# Punkte an den Sprungstellen fuer kleine N

53 datpoints <- randres [as. vector ( randres $N) <=100 ,]

h + geom_ point(data=datpoints ,aes(x=t,y=W,color=N),size =3)

55 dev.off ()

57 pdf("limit_step.pdf",width =9, height =5)

h <- ggplot ( steprandres ,aes(x=t,y=W,color=N))

59 h + geom_step(size =0.7)

dev.off ()

61

# #########################

63 # Karhunen -Loeve expansion

# #########################

65 set.seed (44137)

67 phi <- function (i,t,T)

(2 * sqrt (2*T)) / ((2*i+1)*pi) * sin (((2*i+1)*pi*t)

/(2*T))

69

71 T <- 1

ns <- c(10 ,50 ,100) # sollten vielfache voneinander sein.

73 Zs <- rnorm(max(ns))

Page 17: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 17

75 karres <- lapply (ns , function (n)

Gen <- n*10

77 t <- seq (0,T, length .out=Gen +1)

# Waehlen immer die mittlere Zufallszahl aus.

79 mitte <- ceiling (seq(from=max(ns)/(2*n), to=max(ns)

, by=max(ns)/n))

Z <- Zs[mitte]

81 W <- numeric (Gen +1)

for(i in 2:( Gen +1))

83 W[i] <- sum(Z* sapply (1:n, function (x) phi(x

,t[i],T)))

85 cbind .data. frame (W=W,t=t,N=n)

)

87

karres <- do.call("rbind",karres )

89 karres <- as.data. frame ( karres )

karres $N <- as. factor ( karres $N)

91

pdf(" karhunen .pdf",width =9, height =5)

93 i <- ggplot (karres ,aes(x=t,y=W,color=N))

i + geom_line(size =1)

95 dev.off ()

97 # ####################

# Differenzierbarkeit

99 # ####################

set.seed (123)

101 N <- 1000

T <- 0.0001

103

Delta <- T/N # time increment

105 W <- c(0, cumsum ( sqrt(Delta) * rnorm(N)))

t <- seq (0,T, length .out=N+1)

107 quot <- abs(W[-1]-W[1])/abs(t[-1]-t[1])

pdf(" diffquot .pdf",width =9, height =5)

109 plot(t[-1],quot , type="l",ylab=" Differentialquotient ",xlab=

expression (Delta *t))

dev.off ()

111 pdf(" diffquot _bsp.pdf",width =9, height =5)

Page 18: Seminararbeit - TU Dortmund€¦ · Seminararbeit Brownschen Bewegung und drei Methoden für dessen Simulation im Seminar: Grundlagen der Simulation und Statistik von dynamischen

Brownschen Bewegung und drei Methoden für dessen Simulation - Jakob Richter 18

plot(t,W,type="l",xlab= expression (Delta *t),ylab="W(t)")

113 abline (h=0, col=rgb (0 ,0 ,0 ,0.5))

itms <- c(10 ,50 ,100 ,200 ,400 ,800)

115 points (c(0,t[itms ]) ,c(0,W[itms ]),pch =19, col="red")

for(i in itms)

117 lines (x=c(0,t[i]),y=c(0,W[i]),col="red",lty =2)

119 dev.off ()

121 fac <- 2^(1:10)

dt <- seq (0.001 ,1e-12, length .out =100)

123 res <- lapply (fac , function (l)

ps <-sapply (dt , function (x) 1-( pnorm (l*x,sd=sqrt(x))

-pnorm (-l*x,sd=sqrt(x))))

125 cbind .data. frame (P=ps ,l=l,t=dt)

)

127 res <-do.call("rbind",res)

res$l <- as. factor (res$l)

129

pdf("pgt.pdf",width =9, height =5)

131 g <- ggplot (data=res ,aes(x=t,y=P,color=l))

g + geom_line ()

133 dev.off ()

135 pdf(" pgtsml .pdf",width =6, height =4)

g + geom_line(size =0.5)

137 dev.off ()