Zufall in mathematischen Modellen

Werbung
ZUFALL IN DER MODELLIERUNG
GERTRUD DESCH
1. Wo Zufall eine Rolle spielen kann
1.1. Zufälligkeiten, die den Ablauf eines Prozesses beeinflussen.
Zum Beispiel:
(1) Entwicklung sehr kleiner Populationen, bei denen der Zufall zwischen Aussterben und Überleben entscheiden kann.
(2) Eintreffen von Schadensfällen in Versicherungen.
(3) Zufällige Schwankungen von Aktienkursen.
1.2. Zufälligkeiten, die die Beobachtung des Systems beeinträchtigen.
Zum Beispiel:
(1) Messdaten sind mit zufälligen Fehlern behaftet.
(2) Wenn eine Erhebung durch Untersuchung einer Stichprobe vorgenommen
wird, ist die Auswahl der Stichprobe zufällig.
(3) Dunkelziffern bei Auftreten von Krankheiten.
(4) Verhaltensbeobachtungen an Tieren in Gruppen, die für die Beobachterin
nicht zu jeder Zeit vollständig überblickbar sind.
1.3. Parameter, die innerhalb einer Population variieren.
Zum Beispiel:
(1) Verteilung verschiedener Genotypen innerhalb einer Population.
(2) Unterschiedliche Resistenz gegen einen Giftstoff in einer Population von
Fischen derselben Art.
(3) Verteilung von Behandlungsdauern von Patienten mit der gleichen Diagnose.
2. Grundbegriffe der Wahrscheinlichkeit
2.1. Ereignis und Wahrscheinlichkeit.
Wir geben hier einen ganz knappen, kursorischen Einführungskurs in die Schreibweise der Wahrscheinlichkeitsrechnung. Mehr Details werden Sie in Statistik hören.
Die folgenden Definitionen sind durchaus naiv und halten einer mathematischen
Analyse nicht stand. Für unsere Zwecke sind sie aber durchaus ausreichend.
2.1. Definition. Ein Zufallsexperiment ist ein Vorgang, auf den die folgenden
Eigenschaften zutreffen:
(1) Er wählt aus einer vorgegebenen Menge von möglichen Ergebnissen genau
eines aus.
(2) Er ist (zumindest theoretisch) beliebig oft wiederholbar.
(3) Er folgt festen, reproduzierbaren Regeln.
1
2
G. DESCH
Wenn das Ergebnis eines Zufallsexperimentes eine Zahl ist, spricht man von einer
Zufallsvariablen.
Jede neue Durchführung des Zufallsexperimentes kann ein anderes Ergebnis bringen. Ein Ergebnis eines einzelnes Versuches heißt eine Realisierung des Zufallsexperimentes. Wenn durch das Zufallsexperiment (zumindest theoretisch) entschieden
werden kann , ob ein bestimmter Sachverhalt eintritt oder nicht, heißt dieser Sachverhalt ein Ereignis.
Das Ablesen des Thermometers im Wetterhäuschen im Stadtpark jeden Mittag ist ein Zufallsexperiment. Das Ergebnis ist die Mittagstemperatur, also eine
Zufallsvariable. Eine Zahl, die jeden Tag anders ausfällt, jeder Tag bringt eine
neue Realisierung. Die möglichen Ergebnisse sind der Temperaturbereich, den das
Thermometer anzeigen kann. Der Sachverhalt “Die heutige Mittagstemperatur liegt
zwischen 10◦ C und 15◦ C” ist ein Ereignis.
Die Auswahl einer Stichprobe von 100 PatientInnen für eine klinische Studie ist
ein Zufallsexperiment. Das Ergebnis ist eine Gruppe von 100 Personen. Mit jeder
neuen Stichprobe für eine neue Studie wird das Zufallsexperiment wieder realisiert.
Die folgenden Größen sind Zufallsvariablen: Das durchschnittliche Körpergewicht
innerhalb dieser Stichprobe, die Anzahl der für Heuschnupfen anfälligen Patienten
innerhalb der Stichprobe, der größte in der Stichprobe erhobene Blutzuckerwert.
Die folgenden Sachverhalte sind Ereignisse: Keine Person in der Stichprobe zeigt
Abhängigkeit von einem Schlafmittel. Mindestens 20% der Personen in der Stichprobe hatten irgendwann Keuchhusten.
Das folgende ist kein Ereignis: Mit einer Wahrscheinlichkeit von 30% befindet
sich in der Stichprobe von 100 PatientInnen mindestens eine hörbehinderte Person.
Ein Ereignis ist nach einem Zufallsexperiment entschieden: Die Stichprobe ist ausgewählt, und entweder befindet sich darin eine hörbehinderte Person oder nicht.
Bei der nächsten Realisierung des Zufallsexperimentes kann das Ergebnis natürlich
wieder anders sein.
2.2. Definition. Sei A ein Ereignis, dessen Eintreten durch bestimmtes Zufallsexperiment entschieden wird. Die Wahrscheinlichkeit von A ist eine Zahl zwischen
0 und 1, die angibt, in welchem Anteil aller Versuche das Ereignis eintritt, wenn
man das Zufallsexperiment sehr oft wiederholt.
Für die Wahrscheinlichkeit des Ereignisses A schreiben wir P(A).
2.3. Bemerkung. Mit dieser “Definition” habe ich meinen Ruf unter Mathematikern endgültig verspielt:
(1) Was heißt sehr oft? Viel zu vage für eine mathematische Definition!
(2) Muss sich bei einem Ereignis überhaupt ein solcher Mittelwert einspielen?
Es ist ja theoretisch absolut denkbar, dass man beliebig oft mit einem Würfel
würfelt, und jedesmal kommt eine Eins heraus.
(3) Was ist überhaupt ein Ereignis? Ist ein “Sachverhalt” ein mathematisches
Objekt?
(4) Und, und, . . .
Mathematiker definieren nicht, was Wahrscheinlichkeit ist, sondern welche Rechenvorschriften für Wahrscheinlichkeiten gelten.
Wenn Sie zweimal eine Münze werfen, wird es kein, einmal oder sogar zweimal Wappen geben, schwer vorhersagbar. Wenn Sie aber 40000 mal werfen (viel
Spaß!), wird die Anzahl der Wappen mit großer Wahrscheinlichkeit (nämlich mehr
als 99.7%) im Bereich um 20000 ± 3001 liegen. Zwar sind 300 Versuche nicht gerade
1Wie man zu dieser Schätzung kommt, werden Sie in Statistik lernen.
ZUFALL IN DER MODELLIERUNG
3
wenig, aber umgerechnet auf den Anteil bedeutet das 0.5 ± 0.015. Wenn Sie noch
mehr Versuche machen, wird sich mit höchster Wahrscheinlichkeit immer deutlicher
1
2 als Wahrscheinlichkeit von “Wappen” herauskristallisieren.
Fällt Ihnen auf, dass im obigen Absatz zwei verschiedene Wahrscheinlichkeiten
vorkommen?
(1) Die Wahrscheinlichkeit des Ereignisses “Wappen” bei einem einzelnen Wurf.
Das Zufallsexperiment besteht in einem Wurf, die Wahrscheinlichkeit von
“Wappen” ist 0.5.
(2) Die Wahrscheinlichkeit des Ereignisses “Anteil der Wappen im Bereich 0.5±
0.015”. Das Zufallsexperiment besteht in einer Serie von 40000 Münzwürfen.
Wenn man diese Serie oft und oft wiederholen würde, könnte man erwarten,
das in 99.7% der Versuchsserien der Anteil der Wappen im Bereich 0.5 ±
0.015 liegen wird.
2.4. Tipp. Wenn man mit Wahrscheinlichkeiten zu tun hat, tut man gut daran,
zunächst zu überlegen: Was ist das Zufallsexperiment, was ist das Ereignis, und in
welcher Weise spielt der Zufall mit?
2.5. Regel. Für das Rechnen mit Wahrscheinlichkeiten bestehen die folgenden
Grundregeln:
(1) Die Wahrscheinlichkeit eines Ereignisses A liegt immer zwischen (inklusive) 0 und 1. Wahrscheinlichkeit 0 bedeutet, dass A fast2 nie eintritt, Wahrscheinlichkeit 1 bedeutet, dass A fast immer eintritt.
(2) Es seien A1 , A2 , · · · , An Ereignisse, die einander paarweise ausschließen,
das heißt, dass keine zwei verschiedenen dieser Ereignisse zugleich eintreten
können, immer höchstens eines auf einmal. Dann gilt: Wie Wahrscheinlichkeit, dass (mindestens) eines der Ereignisse A1 , · · · , An eintritt, ist die
Summe der Wahrscheinlichkeiten der einzelnen Ereignisse Ai :
P(A1 oder A2 oder · · · oder An ) = P(A1 ) + P(A2 ) + · · · + P(An ) .
(3) Es sei A ein Ereignis. Die Wahrscheinlichkeit, dass A nicht eintritt, ist
P( nicht A) = 1 − P(A) .
Diese Regeln sind für den Hausverstand durchaus einleuchtend3, wie Sie am
folgenden Beispiel sehen:
Wir betrachten eine Population von Katzen in einem griechischen Dorf. 20%
der Katzen sind einfarbig grau, 40% sind einfarbig schwarz, und 10% sind einfarbig braun, dann gibt es noch gefleckte, getigerte und eine graugrüne Siamkatze. Wir greifen auf gut Glück eine Katze heraus. Die Wahrscheinlichkeit, dass sie
entweder einfarbig grau, oder einfarbig schwarz, oder einfarbig braun ist, beträgt
0.2+0.4+0.1=0.7. Die Wahrscheinlichkeit, dass sie nicht einfarbig grau ist, beträgt
1-0.2=0.8.
2.2. Bedingte Wahrscheinlichkeit, Unabhängigkeit.
2.6. Beispiel. In den Kindergärten der Stadt sind 40% der Kinder gegen eine
gewisse Krankheit geimpft. Eine Epidemie bricht aus. 70% der nicht geimpften
Kinder erkranken, und immerhin 20% der geimpften Kinder erkranken. Wieviel
Prozent der Kinder erkranken?
2“fast nie” heißt eben: So selten, dass wenn man viele viele Versuche macht, die Anzahl der
Versuche, bei denen A eintritt, im Vergleich zur Anzahl aller Versuche, verschwindend klein wird.
3Mathematiker drehen die Denkweise um und definieren damit den Begriff der Wahrscheinlichkeit: Eine Wahrscheinlichkeit ordnet den Ereignissen Zahlen zu, die gerade die Regel 2.5 erfüllen.
4
G. DESCH
Lösung: Die Rechnung ist ganz einfach: 40% aller Kinder sind geimpft, davon
erkranken 20%. Es gilt 20% von 40% sind 0.2 · 0.4 = 0.08, also 8% von allen
Kindern sind geimpft und trotzdem krank. Andererseits sind 60% aller Kinder nicht
geimpft, von diesen sind 70% krank, das ergibt 0.7 · 0.6 = 0.42, also sind 42% aller
Kinder nicht geimpft und erkrankt. Damit sind insgesamt 50% von allen Kindern
erkrankt.
¤
Wir wollen nun dieses Beispiel etwas strenger formalisieren:
Zunächst sehen wir die Angaben an.
• Wenn ich ein beliebiges Kind herausgreife, ist die Wahrscheinlichkeit, dass
es geimpft ist, 40%. Formal geschrieben:
P(geimpft) = 0.4 .
• Wenn ich ein beliebiges Kind herausgreife, und ich weiß, dass es geimpft ist,
so ist die Wahrscheinlichkeit, dass es erkrankt, 20%. Hier wird die Wahrscheinlichkeit angegeben, wenn ich bereits eine Information vorweg habe,
nämlich dass das Kind geimpft ist. Wir nennen das die bedingte Wahrscheinlichkeit dass das Kind krank wird, wenn bekannt ist, dass es geimpft
ist, und schreiben
P(krank | geimpft) = 0.2 .
• Ebenso ist die bedingte Wahrscheinlichkeit, dass ein Kind krank wird, wenn
bekannt ist, dass es nicht geimpft ist
P(krank | nicht geimpft) = 0.7 .
Nun betrachten wir, wie wir gerechnet haben:
• Der Anteil der nicht geimpften Kinder sind die 60%, die von den 40%
geimpften auf die Gesamtheit noch fehlen:
P(nicht geimpft) = 1 − P(geimpft) = 1 − 0.4 = 0.6 .
• Um unter allen Kindern den Anteil der geimpften und trotzdem kranken
Kinder festzustellen, nehmen wir den Anteil der geimpften unter allen, und
multiplizieren mit dem Anteil der kranken unter den geimpften. Formal
geschrieben:
P(geimpft und krank)
= P(geimpft) · P(krank | geimpft) = 0.4 · 0.2 = 0.08 .
Beachten Sie, dass die Wahrscheinlichkeit P(geimpft und krank) eine unbedingte Wahrscheinlichkeit ist. Wir wählen ein beliebiges Kind aus, von dem
wir noch gar nichts wissen, und schätzen, dass wir mit 8% Wahrscheinlichkeit ein geimpftes, krankes Kind finden.
• Ebenso ist die Wahrscheinlichkeit, ein nicht geimpftes, krankes Kind zu
finden
P(krank und nicht geimpft)
= P(nicht geimpft) · P(krank | nicht geimpft) = 0.6 · 0.7 = 0.42 .
• Die Gesamtheit der kranken Kinder setzt sich aus den kranken geimpften
und den kranken nicht geimpften zusammen. Wir addieren
P(krank)
= P(krank und geimpft) + P(krank und nicht geimpft)
= 0.08 + 0.42 = 0.50 .
Während wir in der Angabe bedingte Wahrscheinlichkeiten hatten, dass
ein Kind krank ist, wenn wir wissen, ob es geimpft ist oder nicht, haben
ZUFALL IN DER MODELLIERUNG
5
wir nun die unbedingte Wahrscheinlichkeit, dass ein blind aus der Gruppe
herausgegriffenes Kind krank ist.
2.7. Definition. Seien A, B zwei Ereignisse. Mit P(A | B) bezeichnen wir die
bedingte Wahrscheinlichkeit, dass A eintritt, wenn bekannt ist, dass B eintritt.
Anders ausgedrückt: Wenn das Zufallsexperiment sehr oft ausgeführt wird, befindet
sich unter den Versuchen, in denen B eintritt, der Anteil P(A | B) von Versuchen,
in denen zugleich auch A eintritt.
2.8. Tipp. Die Bedingung steht immer hinter dem senkrechten Strich, vor dem
Strich steht, wovon die Wahrscheinlichkeit geschätzt wird.
2.9. Regel. Seien A und B zwei Ereignisse. Es gelten die folgenden Regeln
P(A und B) =
P(A und B) =
P(A | B) =
P(A) · P(B | A) ,
P(B) · P(A | B) ,
P(A und B)
.
P(B)
Diese Regel wird genauso erklärt wie Beispiel 2.6. Die letzte Formel ergibt sich,
indem man die zweite Formel durch P(B) dividiert. Man versteht sie auch intuitiv
sehr leicht an Hand des Beispiels: P(krank und geimpft) ist der Anteil der Kinder,
die geimpft und trotzdem krank sind. P(geimpft) ist der Anteil aller geimpften
Kinder. Wenn wir unter den geimpften Kindern den Prozentsatz derer suchen, die
auch krank sind, erhalten wir das Verhältnis P(krank und geimpft)/P(geimpft).
In Beispiel 2.6 finden wir, dass die Wahrscheinlichkeit, ob ein Kind krank wird,
ganz unterschiedlich einzuschätzen ist, je nachdem, ob man noch gar nichts über
das Kind weiss, ob man weiss, dass es geimpft ist, oder ob man weiss, dass es nicht
geimpft ist:
P(krank) = 0.5 ,
P(krank | geimpft) = 0.2 ,
P(krank | nicht geimpft) = 0.7 .
Offensichtlich besteht — zumindest von der Statistik her — ein Zusammenhang
zwischen den beiden Ereignissen, dass ein Kind geimpft ist, und dass es krank
wird.
2.10. Definition. Seien A, B Ereignisse. Die Ereignisse A und B heißen unabhängig, wenn eine der folgenden drei Bedingungen gilt. Wenn eine gilt, dann
gelten auch alle drei.
P(A | B) =
P(A) ,
P(B | A) =
P(B) ,
P(A und B) =
P(A) · P(B) .
Wenn dagegen eine von den drei Bedingungen falsch ist, dann sind alle drei falsch,
und die Ereignisse A und B heißen abhängig.
Wenn man sich an die Formel der bedingten Wahrscheinlichkeit (Regel 2.9) erinnert:
P(A | B)
,
P(A und B) =
P(B)
sieht man leicht, dass die erste und dritte Bedingung das selbe aussagen. Wenn man
nun die Rollen von A und B vertauscht, sieht man auch, dass die zweite und die
dritte Bedingung das selbe aussagen.
6
G. DESCH
2.11. Tipp. Wenn man feststellt, dass zwischen zwei Ereignissen eine statistische
Abhängigkeit besteht, beweist das noch lange nicht, dass auch ein kausaler Zusammenhang zwischen ihnen besteht. Unabhängigkeit ist eine statistische Eigenschaft.
Andererseits gelten viele Regeln der Statistik und Wahrscheinlichkeitsrechnung nur
für unabhängige Ereignisse. Wenn man keinen Grund sieht, warum ein Ereignis
das andere beeinflussen könnte, nimmt man allgemein an, dass es unabhängige Ereignisse sind.
3. Einfaches stochastisches Populationsmodell
3.1. Das Modell.
3.1. Beispiel. In einem Lebensraum soll eine dort ausgestorbene Tierart wieder
eingeführt werden. Wir zählen hier vereinfachend nur die Weibchen jeweils an einem Stichtag im Jahre t nach der Aussetzung der ersten Exemplare.4 Wir machen
folgende Annahmen:
(1) Die folgenden Tabelle gibt an, mit welchen Wahrscheinlichkeiten ein Weibchen in welchen Alter 0, 1, oder 2 weibliche Nachkommen hat, und mit
welcher Wahrscheinlichkeit es das Jahr überlebt:
Nachkommen Überleben
0
1
2
Alter
Geburtsjahr
0
0
0
0.6
1 Jahr
0.4 0.4 0.2
0.7
älter als 1 J. 0.7 0.2 0.1
0.6
(2) Wir nehmen an, dass keine Zuwanderung oder Abwanderung stattfindet.
(3) Wir gehen davon aus, dass wir im Jahre t = 0 eine bestimmte Anzahl
s einjähriger Weibchen und eine adäquate Anzahl einjähriger Männchen
einsetzen.
Eine deterministische Modellierung auf Grund der Erwartungswerte von Überleben
und Nachkommenschaft würde ergeben, dass die Population exponentiell wächst,
allerdings im Mittel jedes Jahr um circe 3.6%. Da die Population aber zumindest
am Anfang sehr klein ist, besteht trotzdem das Risiko, dass sie ausstirbt. Es ist
abzuschätzen, wie groß das Risiko ist, dass die Population innerhalb von 10 Jahren
ausstirbt, und daraus zu schließen, wieviel Weibchen (und adäquat Männchen) zu
Beginn einzusetzen sind.
Wir haben hier demographische Daten, die vom Alter abhängen, daher müssen
wir die Weibchen aufteilen in welche, die im Jahre t geboren, ein Jahr, oder älter
sind. Wir setzen daher an


w0 (t)
W (t) = w1 (t)
w2 (t)
Dabei ist w0 (t) die Anzahl der im Jahre t neugeborenen Weibchen, w1 (t) die Anzahl der Weibchen, die im Jahre t gerade ein Jahr alt ist, und w2 (t) die Anzahl
der Weibchen, die im Jahre t älter als ein Jahr sind. Da wir nur eine Wahrscheinlichkeitsbeziehung haben, hängt der Vektor W (t) vom Zufall ab. Wir sagen auch,
w0 (t), w1 (t) und w2 (t) sind Zufallsvariable. Wir erstellen ein Simulationsmodell,
welches nach den Wahrscheinlichkeitsgesetzen der obigen Tabelle abläuft.
(1) Setze für das Jahr 0 die Anfangswerte ein.
4Das ist bei einer kleinen Population nicht unbedingt gerechtfertigt. Was geschieht, wenn die
Männchen aussterben.
ZUFALL IN DER MODELLIERUNG
7
(2) Bestimme die Populationen der folgenden Jahre schrittweise folgendermaßen:
• Überprüfe für jedes Weibchen, das im Vorjahr 0 Jahre alt war, ob es
heuer noch lebt, (Es rückt dann in die Altersklasse 1-jährig. Es werden
w0 (t − 1) Weibchen überprüft.)
• Überprüfe für jedes Weibchen, das im Vorjahr 1 Jahr alt war (das sind
w1 (t − 1) Exemplare),
– ob es heuer noch lebt. (Es rückt dann in die Altersklasse 2 oder
mehrjährig.)
– ob und wieviele Nachkommen es hatte. (Diese kommen in die
Altersklasse 0 jährig.)
• Überprüfe für jedes Weibchen, das im Vorjahr älter als 1 Jahr war (das
sind w2 (t − 1) Exemplare),
– ob es heuer noch lebt. (Es bleibt dann der obersten Altersklasse.)
– ob und wieviele Nachkommen es hatte. (Diese kommen in die
Altersklasse 0 jährig.)
Etwas strenger formal ausgeschrieben erhalten wir:
w0 (0) := 0, w1 (0) := s, w2 (0) := 0 .
Für t = 1, 2, · · · , 10 führe folgende Schritte durch:
w0 (t) := 0, w1 (t) := 0, w2 (t) := 0 Beginn der Zählung.
Führe w0 (t − 1) mal folgenden Schritt durch:
(
w1 (t) := w1 (t) + 1 mit Wahrscheinlichkeit 0.6
w1 (t) unverändert mit Wahrscheinlichkeit 0.4
Führe w1 (t − 1) mal folgende Schritte durch:
(
w2 (t) := w2 (t) + 1 mit Wahrscheinlichkeit 0.7
w2 (t) unverändert mit Wahrscheinlichkeit 0.3


mit Wahrscheinlichkeit 0.4
w0 (t) unverändert
w0 (t) := w0 (t) + 1
mit Wahrscheinlichkeit 0.4


w0 (t) := w0 (t) + 2
mit Wahrscheinlichkeit 0.2
Führe w2 (t − 1) mal folgende Schritte durch:
(
w2 (t) := w2 (t) + 1 mit Wahrscheinlichkeit 0.6
w2 (t) unverändert mit Wahrscheinlichkeit 0.4


mit Wahrscheinlichkeit 0.7
w0 (t) unverändert
w0 (t) := w0 (t) + 1
mit Wahrscheinlichkeit 0.2


w0 (t) := w0 (t) + 2
mit Wahrscheinlichkeit 0.1
Gehe zum nächsten Zeitschritt.
3.2. Zufallszahlengenerator.
Alle diese Schritte lassen sich leicht in einem Computerprogramm nachbauen.
Nur brauchen wir dafür eine Möglichkeit, den Einfluss des Zufalls zu simulieren.
Dazu dient ein Zufallszahlengenerator.
3.2. Definition. Ein Zufallszahlengenerator ist ein Programm, das bei jedem
Aufruf eine (scheinbar!) zufällige Zahl liefert.
8
G. DESCH
Je nach Zufallszahlengenerator folgen die Wahrscheinlichkeiten des Auftretens
der einzelnen Zahlen einem bestimmten Verteilungsgesetz (z.B. gleichverteilt zwischen 0 und 1, oder standardnormalverteilt).
3.3. Bemerkung. In Wirklichkeit rechnen die einfacheren Zufallszahlengeneratoren rein deterministisch, eine aus Zufallszahl aus der vorigen, sogar mit ziemlich
einfachen Formeln, aber mit sehr größen Zahlen. Es werden nur einige Dezimalen
der augenblicklich im Generator gespeicherten Zahl als Zufallszahl ausgegeben, sodass das Auftreten der nächsten Zahl fast zufällig wirkt. Die im Zufallsgenerator
zuerst gespeicherte Zahl heißt “seed”, und wird vom Computer bei jedem Start aus
den verschiedensten Daten (Datum, Uhrzeit usw.) zusammengesetzt. Startet man
den Generator zweimal mit demselben seed, erhält man eine identische Folge von
“Zufallszahlen”.
3.4. Regel. Eine Wahrscheinlichkeitsentscheidung soll mittels Zufallsgenerator simuliert werden. Es soll ausgeführt werden:
• Befehl A1 mit Wahrscheinlichkeit p1 ,
• Befehl A2 mit Wahrscheinlichkeit p2 ,
• ...
• Befehl Am mit Wahrscheinlichkeit pm .
Man verwendet einen Zufallszahlengenerator, der gleichverteilte Zufallszahlen
aus dem Intervall [0, 1] liefert.5 Bei jeder neuen Entscheidung ruft man den Zufallszahlengenerator neu auf und erhält eine Zufallszahl r. Man entscheidet:
• Wenn r < p1 für Befehl A1 ,
• wenn r ≥ p1 aber r < p1 + p2 für A2 ,
• wenn r ≥ p1 + p2 aber r < p1 + p2 + p3 für A3 ,
• ...
3.5. Beispiel. Schreiben Sie ein Programm, das mit Wahrscheinlichkeit 0.25 “Guten Morgen,”, mit Wahrscheinlichkeit 0.5 “Guten Tag,”, und mit Wahrscheinlichkeit 0.25 “Guten Abend,” schreibt. Anschließend soll mit Wahrscheinlichkeit 0.9
geschrieben werden “sehr erfreut!”, mit Wahrscheinlichkeit 0.1 “habts mich gern.”
Lösung: In MATLAB liefert der Zufallsgenerator rand gleichverteilte Zufallszahlen zwischen 0 und 1.
r = rand; %erste Zufallsentscheidung
if r <= 0.25,
disp(’Guten Morgen,’);
elseif r <= 0.75,
disp(’Guten Tag,’);
else
disp(’Guten Abend,’)
end %Ende erste Entscheidung
r = rand; %neue Zufallsentscheidung
if r <= 0.9,
disp(’sehr erfreut!’)
else
disp(’habts mich gern!’)
end %Ende zweite Entscheidung
5Schlampig gesprochen: Alle Zahlen in [0, 1] kommen gleich wahrscheinlich vor. Mathematisch
exakter: Die Wahrscheinlichkeit, in ein Intervall [a, b] mit 0 ≤ a ≤ b ≤ 1 zu treffen, beträgt b − a.
ZUFALL IN DER MODELLIERUNG
9
3.3. Eine Simulationsrechnung.
Der MATLAB-File popmodel.m (siehe Sektion 5 führt eine Simulation des obigen Modells durch. Der File zehnsimul.m führt Hilfe des Programms popmodel.m
zehn Simulationen über einen Zeitraum von 50 Jahren durch. Eingesetzt wurden
je 2 Weibchen (und 2 Männchen, nicht mitmodelliert). Die Gesamtpopulationen in
Abhängigkeit von der Zeit werden in 10 Polygonzügen dargestellt.
10 Simulationen
30
Population
25
20
15
10
5
0
0
10
20
30
40
50
Jahr
3.4. Berechnung der Statistik der Population nach 50 Jahren.
Es sei P (50) = w0 (50) + w1 (50) + w2 (50), also die Gesamtpopulation nach 50
Jahren. Da das ganze Modell zufallsabhängig ist, ist P (50) eine Zufallsvariable.
Indem man viele (=n) Simulationsläufe durchführt, gewinnt man mit jedem Simulationslauf eine Realisierung von P (50). Daraus lassen sich nach den üblichen
statistischen Verfahren die statistischen Parameter berechnen.
Gehen wir von den Realisierungen x1 , · · · , xn aus, so erhalten wir als Schätzwerte:
•
•
•
•
Pn
Mittelwert: P (50) ≈ n1
x,
i=1
Pn i
1
2
Varianz: σ(P (50)) ≈ n−1
i=1 (xi − P (50)) .
Standardabweichung: Wurzel der Varianz.
Aussterbewahrscheinlichkeit nach 50 Jahren: Anteil der Realisierungen mit
Wert 0 innerhalb aller Realisierungen.
Man könnte auch Maximum und Minimum aus der Simulation ablesen, aber das
ist sehr unverläßlich. Viele Verteilungen können beliebig große Werte annehmen,
wenn auch nur selten. Es liegt dann am einzelnen Simulationslauf, ob zufällig ein
so großer Wert dabei ist.
Man kann auch die empirische Verteilungskurve zeichnet, indem man das Intervall zwischen Minimum und Maximum in gleichen Abständen durch Stützstellen
y1 , · · · , ym unterteilt. Die empirische Verteilungsfunktion an der Stützstelle ym ist
dann annähernd der Anteil der Realisierungen aus der Stichprobe, die unter ym
liegen.
Der MATLAB-File pop50stat.m führt diese Berechnungen mit 80000 Simulationsläufen und einer Anfangspopulation von 2 einjährigen Weibchen durch und
zeichnet die Verteilungsfunktion: Wir erhalten folgende Parameter für P (50):
Mittelwert
16.4
Standardabweichung
33.2
Aussterbewahrscheinlichkeit 0.64
10
G. DESCH
Verteilungsfunktion der Population nach 50 Jahren
1
Wahrscheinlichkeit
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0
50
100
150
200
250
Population
300
350
400
3.5. Berechnung von Überlebenskurven.
Das folgende MATLAB-Programm berechnet die Überlebenswahrscheinlichkeiten bei einem Anfangsvektor W0 durch Ablauf von nrun Simulationen. Es werden
für jedes Jahr t zählen wir die Simulationsläufe, in denen die Population noch nicht
ausgestorben war. Die Überlebenswahrscheinlichkeit p(t) erhalten wir dann, indem
wir diese Summen durch nrun dividieren.
Die folgende Grafik zeigt (blau) 10 Überlebenskurven, die auf diese Weise mit
je 100 Simulationsläufen berechnet wurden, dazu (rot) 10 Überlebenskurven, die
mit je 1600 Simulationsläufen berechnet wurden. Die Grafik wurde mit Hilfe des
MATLAB-Files vglnrun.m erstellt.
Ueberlebenswahrscheinlichkeit
Genauigkeit der "Uberlebenskurven
1
0.8
0.6
0.4
0.2
0
10
20
30
40
50
Jahr
Die letzte Grafik zeigt die Überlebenskurven in Abhängigkeit von der Größe
der eingesetzten Population (von 1 bis 10 Weibchen). Jede Überlebenskurve wurde
mit 1600 Simulationsläufen erstellt. Die Rechnung ist im MATLAB-File vglw0.m
durchgeführt.
Ueberlebenswahrscheinlichkeit
Ueberlebenskurven in Abhaengigkeit von der Anfangspopulation
1
0.8
0.6
0.4
0.2
0
10
20
30
Jahre
40
50
ZUFALL IN DER MODELLIERUNG
11
4. Der Betrunkene auf dem Steg
4.1. Problemstellung und Simulation.
Das ist ein klassisches Beispiel, das einfach genug ist, dass wir es durchrechnen
können, und an dem man doch vieles zeigen kann.
4.1. Beispiel. Eine Person sitzt an einem lauen Sommerabend am Ende eines
langen Steges, der in einen seichten See hinausragt. Ihre einzige Begleitung sind,
oder besser waren, zwei Doppelliterflaschen Wein. Nun erhebt sie sich und tritt
den Heimweg an. Statt auf dem Steg landwärts zu gehen, wankt sie aber nur immer
einen Schritt nach links oder rechts, rein zufällig. Weil der Steg nur drei Schritt breit
ist, wird sie irgendwann ins Wasser fallen. Die Person stand ursprünglich in der
Mitte des Stegs. Wir wollen den Ablauf dieses Prozesses mathematisch beschreiben,
insbesondere wollen wir wissen, wie lange es braucht, bis sie in den See fällt.
Selbstverständlich können wir nur Wahrscheinlichkeitsaussagen machen. Überlegen wir uns zuerst, wie wir den Prozess simulieren könnten:
Wir können die Person in 4 verschiedenen Zuständen vorfinden:
0)
1)
2)
3)
4)
im Wasser, rechts vom Steg,
einen Schritt vom Wasser auf der rechten Seite des Steges,
in der Mitte des Steges,
einen Schritt vom Wasser, auf der linken Seite des Steges.
im Wasser, links vom Steg.
Mit jedem Schritt, den die Person tut, wechselt sie von einem Zustand in einen der
Nachbarzustände. Ist sie einmal im Wasser, so bleibt sie dort, aber wir hoffen, dass
jemand sie herausfischt. Weil die Person die Schritte rein zufällig tut, gehen wir davon aus, dass sie mit Wahrscheinlichkeit 0.5 nach links und mit Wahrscheinlichkeit
0.5 nach rechts geht.
Wenn wir mit s(t) den Zustand der Person zum Zeitpunkt t benennen, so finden
wir folgenden Algorithmus zur Simulation:
(1) Setze s(0) = 2. Beginn in der Mitte
(2) Für t = 0, 1, 2, · · · führe durch: Der nächste Schritt:
• Wenn s(t) 6= 0 und s(t) 6= 4 also, wenn sie überhaupt noch am Steg ist, dann
(
setze s(t + 1) = s(t) + 1
setze s(t + 1) = s(t) − 1
mit Wahrscheinlichkeit 0.5,
mit Wahrscheinlichkeit 0.5.
Der MATLAB-File steg.m führt diese Simulationen durch. Die folgende Grafik
zeigt einen Simulationslauf: In diesem Lauf macht die Person zuerst abwechselnd
Schritte nach links und rechts, sodass sie auf dem Steg bleibt. Aber dann macht sie
von der Mitte aus zwei Schritte nach links und fällt ins Wasser.
Wir könnten natürlich jetzt, wie im vorigen Beispiel, verschiedene Monte-Carlo
Simulationen anschließen, aber wir werden zeigen, dass man diesem Beispiel auch
mit Bleistift und Papier nahe kommen kann.
12
G. DESCH
4
3.5
Zustand (Ort)
3
2.5
2
1.5
1
0.5
0
0
2
4
6
8
10
Zeit
4.2. Übergangsmatrix.
Bevor wir an Beispiel 4.1 weiter rechnen, sehen wir seine formale Struktur an: Es
gibt 5 Zustände. Mit jedem Schritt wechselt das System in einen anderen Zustand.
Der Wechsel ist aber nicht deterministisch vorgegeben, sondern es gibt nur ein
Wahrscheinlichkeitsgesetz. Mit dem nächsten Schritt gibt es den nächsten Wechsel,
dabei ist es gleich, welche Schritte bisher gemacht wurden, nur der augenblickliche
Zustand und der Zufall entscheiden.
4.2. Definition. Wir betrachten System mit endlich vielen Zuständen und mit diskreter Zeit, mit folgenden Eigenschaften:
(1) Mit jedem Zeitschritt kann das System seinen Zustand wechseln (oder auch
beibehalten).
(2) Der Wechsel der Zustände hängt vom Zufall nach einen bekannten Wahrscheinlichkeitsgesetz ab.
(3) In welchen Zustand das System mit dem nächsten Zeitschritt wechselt,
hängt nur vom augenblicklichen Zustand (und dem Zufall) und darüber hinaus nicht von den vorigen Zuständen ab.
Ein solches System nennen wir einen Markovprozess6
Hängt darüber hinaus das Wahrscheinlichkeitsgesetz, nach dem das System von
einem Zustand in den nächsten wechselt, nicht von der Zeit ab, so heißt das System
ein zeitunabhängiger Markovprozess.
4.3. Definition. Wir betrachten einen zeitunabhängigen Markovprozess mit den
Zuständen 1, 2, · · · , n. Mit X(t) bezeichnen wir den Zustand zur Zeit t.
(1) Die Übergangswahrscheinlichkeit von Zustand j auf Zustand i ist die
bedingte Wahrscheinlichkeit, dass das System mit dem nächsten Schritt auf
Zustand i wechselt, wenn es im Augenblick im Zustand j ist:
pij = P(X(t + 1) = i | X(t) = j) .
6Genauer: einen zeitdiskreten Markovprozess mit endlich vielen Zuständen, denn man kann
den Begriff des Markovprozesses in Wirklichkeit viel weiter fassen. In dieser Vorlesung befassen
wir uns aber nur mit diesem allereinfachsten Fall eines Markovprozesses.
ZUFALL IN DER MODELLIERUNG
13
(2) Fasst man die Übergangswahrscheinlichkeiten zu einer Matrix zusammen,
sodass die Übergangswahrscheinlichkeit von j auf i in der j-ten Spalte und
der i-ten Zeile liegen, so heißt diese Matrix die Übergangsmatrix des
Markovprozesses.


p11 · · · p1n

..  .
P =  ...
. 
pn1
···
pnn
4.4. Bemerkung. Die j-te Spaltensumme einer Verteilungsmatrix ist jeweils die
Summe der Übergangswahrscheinlichkeiten in alle Zustände, wenn man von Zustand j ausgeht. Diese Summe muss immer genau 1 sein, weil ja mit Sicherheit einer der Zustände erreicht wird, und sich die Zustände, die angepeilt werden können,
100% Gesamtwahrscheinlichkeit untereinander aufteilen.
Es gilt also (1, · · · , 1) · P = (1, · · · , 1), und damit ist 1 auf jeden Fall ein Eigenwert
von P .
4.5. Beispiel. Wie kann man Beispiel 4.1 als Markovprozess auffassen, welches
sind die Zustände, und wie sieht die Übergangsmatrix aus?
Lösung: Wir haben schon beobachtet, dass das System 5 Zustände hat:
(0)
(1)
(2)
(3)
(4)
Im Wasser, rechts vom Steg.
Am rechten Rand des Steges.
In der Mitte des Steges.
Am linken Rand des Steges.
Im Wasser, links vom Steg.
Liegt die Person im Wasser, so bleibt sie dort. Steht sie noch am Steg, so tritt
sie mit je Wahrscheinlichkeit 0.5 in einen der beiden Nachbarzustände über. Die
Übergangsmatrix ist daher (zeitunabhängig)


1 0.5 0
0 0
0 0 0.5 0 0



P =
0 0.5 0 0.5 0 .
0 0 0.5 0 0
0 0
0 0.5 1
¤
4.6. Regel. Sei X(t) : t = 0, 1, 2, · · · ein zeitunabhängiger Markovprozess mit den
Zuständen 1, · · · , n und der Übergangsmatrix P . Es sei zu einer bestimmten Zeit t
die Verteilung von X(t) durch den Vektor y(t) gegeben:

 

y1 (t)
P(X(t) = 1)

 

..
y(t) =  ...  = 
.
.
yn (t)
P(X(t) = n)
Dann ist y(t + 1) = P y(t), und allgemeiner y(t + k) = P k y(t) für k = 1, 2, 3, · · · .
Wir erklären die Regel an Hand von Beispiel 4.1. Zum Zeitpunkt t = 0 befindet
sich der Betrunkene genau in der Mitte. Zum Zeitpunkt t = 1 ist er entweder an
den linken oder den rechten Rand abgedriftet, je mit Wahrscheinlichkeit 0.5. Wo er
zum Zeitpunkt t = 2 sei wird, hängt davon ab, ob er zur Zeit 1 links oder rechts
steht, und wohin er seinen nächsten Schritt macht:
14
G. DESCH
Zustand
X(1)
Wahrsch.
von X(1)
nächster
Schritt
Übergangswahrsch.
Zustand
X(2)
Wahrsch.
P(X(t) und X(t + 1))
(1) rechts
0.5
rechts
links
0.5
0.5
(0) rechts See
(2) Mitte
0.5 × 0.5 = 0.25
0.5 × 0.5 = 0.25
(3) links
0.5
rechts
links
0.5
0.5
(2) Mitte
(4) links See
0.5 × 0.5 = 0.25
0.5 × 0.5 = 0.25
In den Zuständen (0) und (4), Wasser, befindet sich das System im zweiten
Schritt jeweils mit Wahrscheinlichkeit 0.25. Der Zustand (2), Mitte, wird im zweiten
Schritt mit Wahrscheinlichkeit 0.25 + 0.25 = 0.5 angenommen. Rechnerisch war das
eine Matrizenmultiplikation:




0.25
p01 y1 (1)
 0 


0







y(2) = p21 y1 (1) + p23 y3 (1) = P y(1) = 
 0.5  .



0 
0
0.25
p43 y3 (1)
Wenn wir so weiterrechnen, erhalten wir

 
0.25
0.25
 0  0.25

 


 
y(3) = P 
 0.5  =  0  ,
 0  0.25

0.25
0.25

 
0.375
0.25
0.25  0 

 


 
y(4) = P 
 0  =  0.25  ,
0.25  0 

0.25
0.375

0.375
0.125



y(5) = 
 0 ,··· .
0.125

0.375
4.7. Beispiel. Bestimmen Sie die Wahrscheinlichkeitsverteilungen für die Zeiten
t = 0, 1, 2, 3 eines Markovprozesses mit den Zuständen 1,2,3, der zur Zeit t = 0
jedenfalls in Zustand 1 steht und die folgende Übergangsmatrix hat:


0.3 0.2 0.4
0.1 0.1 0.3
0.6 0.7 0.3
Lösung: Zur Zeit t = 0 befindet sich das System sicher (mit Wahrscheinlichkeit 1)
im Zustand 1, unter keinen Umständen (mit Wahrscheinlichkeit 0) in den anderen
Zuständen. Also ist
 
1
y(1) = 0 .
0
Die weiteren Verteilungen ergeben sich durch Matrixmultiplikation:

   
0.3 0.2 0.4
1
0.3
y(2) = 0.1 0.1 0.3 0 = 0.1 ,
0.6 0.7 0.3
0
0.6

  

0.3 0.2 0.4
0.3
0.35
y(3) = 0.1 0.1 0.3 0.1 = 0.22 .
0.6 0.7 0.3
0.6
0.43
¤
4.3. Gleichgewichtsverteilung.
In einem deterministischen System ist ein Gleichgewichtszustand ein Zustand,
der sich, wenn er einmal erreicht ist, im Lauf der Zeit nicht mehr ändert. Bei einem
stochastischen System, also einem System, das nach Wahrscheinlichkeitsgesetzen
abläuft, müssen wir normalerweise damit rechnen, dass jeder Zustand durch die
Wahrscheinlichkeitseffekte gestört werden kann.
ZUFALL IN DER MODELLIERUNG
15
4.8. Definition. Wir betrachten einen zeitunabhängigen Markovprozess
mit den
 
y1
 
Zuständen 1, · · · , n und der Übergangsmatrix P . Sei y =  ...  eine Verteilung
yn
von Wahrscheinlichkeiten für das Auftreten dieser Zustände. Die Verteilung y heißt
eine Gleichgewichtsverteilung, wenn das System diese Verteilung auch nach
dem ersten (und daher auch nach jedem weiteren) Schritt beibehält.
4.9. Regel. Wir betrachten einen zeitunabhängigen Markovprozess mit den Zuständen 1, · · · , n und der Übergangsmatrix P . Die Gleichgewichtsverteilungen sind dann
genau die Vektoren y mit den folgenden Eigenschaften:
(1) P y = y, d.h., y ist ein Eigenvektor von P zum Eigenwert 1.
(2) Alle Einträge von y sind nichtnegativ.
(3) Die Summe der Einträge von y ist gleich 1.
Punkte (2) und (3) sind Bedingung dafür, dass y überhaupt eine Wahrscheinlichkeitsverteilung ist. Wenn man mit der Verteilung y beginnt, soll einen Schritt
weiter dieselbe Verteilung erreicht werden, d.h., P y = y.
4.10. Beispiel. Berechnen Sie die Gleichgewichtsverteilungen des Prozesses mit
zwei Zuständen und der Übergangsmatrix
µ
¶
0.3 0.6
P =
0.7 0.4
Lösung: Wir lösen die Eigenvektorgleichung (1 − P )y = 0, d.h.
µ
¶µ ¶
0.7 −0.6
y1
= 0.
−0.7 0.6
y2
Wir führen den Gaußschen Algorithmus durch:
µ
¶
µ
0.7 −0.6∗ 0
0.7
→
−0.7
0.6
0
0
−0.6 0
0
0
¶
Setzen wir y1 = s, so erhalten wir
0.7
.
0.6
Damit sind die Eigenvektoren zum Eigenwert 1
µ7¶
y=s 6 .
1
y2 = s
Wir müssen s so wählen, dass die Summe der yi genau 1 ergibt:
1
6
s=
=
.
13
1 + 76
Damit ist die Gleichgewichtsverteilung
y=
µ
7
13
6
13
¶
7
Das ist also die Verteilung, in der der Zustand 1 mit Wahrscheinlichkeit 13
≈ 0.54
6
¤
und der Zustand 2 mit der Wahrscheinlichkeit 13 ≈ 0.46 auftritt.
Wir kehren jetzt zum Beispiel mit der betrunkenen Person auf dem Steg zurück:
4.11. Beispiel. Bestimmen Sie die Gleichgewichtsverteilung des Prozesses aus Beispiel 4.1.
16
G. DESCH
Lösung: Wir lösen (1−P )y = 0 mit der Übergangsmatrix aus Beispiel 4.1, das heißt


0 −0.5
0
0
0
0
1
−0.5
0
0


0 −0.5
1
−0.5 0

 y = 0.
0
0
−0.5
1
0
0
0
0
−0.5 0
Aus der ersten Zeile folgt y1 = 0, und nun folgt aus der zweiten Zeile y2 = 0. Aus
der letzten Zeile folgt y3 = 0. Es bleiben y0 und y4 beliebig. Die Gleichgewichtsverteilungen sind also genau jene Verteilungen, in denen nur die Zustände 0 und 4(im
Wasser) vorkommen.
¤
4.12. Bemerkung. Die Zustände 0 und 4, also wenn die Person im See liegt, sind
absorbierende Zustände, d.h., wenn das System in einem dieser Zustände ist,
bleibt es auf immer darin. Es gilt:
(1) Kann man von jedem Zustand eines zeitunabhängigen Markovprozesses7 zu
mindestens einem absorbierenden Zustand gelangen, so endet das System
mit Wahrscheinlichkeit 1 über kurz oder lang in einem absorbierenden Zustand.
(2) Kann man von jedem Zustand des Systems aus einen absorbierenden Zustand erreichen, so treten in Gleichgewichtslagen nur absorbierende Zustände auf.
4.4. Mittlere Überlebenszeiten:
4.13. Beispiel. Wie lange braucht es im Durchschnitt, bis die Person aus Beispiel 4.1 ins Wasser fällt.
Oder allgemeiner: Wenn die Person sich noch am Steg befindet, entweder in der
Mitte oder in einer der Randpositionen, wie lange braucht es im Durchschnitt, bis
sie ins Wasser fällt?
Lösung Wir bezeichnen mit v1 , · · · , v3 die Durchschnittszeit, bis die Person im
Wasser liegt, wenn sie derzeit im Zustand 1, · · · , 3 ist.
Nehmen wir an, die Person befindet sich derzeit in der Mitte. Sie kann also
jedenfalls noch einen Schritt tun, hat also noch einen Schritt Zeit.
Zustand j
Schritt nach
pij
Zeit nach t + 1
(1) rechts
(0) Wasser
0.5
(2) Mitte
0.5
Mittlere Überlebenszeit
0
v2
1
1 + v2
v1 = 0.5 + 0.5(1 + v2 )
(2) Mitte
(1) rechts
0.5
(3) links
0.5
Mittlere Überlebenszeit
v1
v3
1 + v1
1 + v3
v2 = 0.5(1 + v1 ) + 0.5(1 + v3 )
(3) links
(2) Mitte
0.5
(4) Wasser
0.5
Mittlere Überlebenszeit
v2
0
1 + v2
1
v3 = 0.5(1 + v2 ) + 0.5
7diskret, mit endlich vielen Zuständen
Zeit nach t
ZUFALL IN DER MODELLIERUNG
17
Die Tabelle erscheint auf ersten Blick nutzlos, weil die Formeln zur Berechnung
der mittleren Überlebenszeiten erst recht wieder die vi verwenden. Aber sie enthält
ein lineares Gleichungssystem für die mittleren Überlebenszeiten:
v1
−0.5v1
−
+
0.5v2
v2
−
−
0.5v2
0.5v3
+
=
=
v3
1
1
=
1
Wir lösen dieses Gleichungssystem mit dem Gaußschen Verfahren:

1∗
−0.5
0
−0.5
1
−0.5
0
−0.5
1


1
1

1 → 0
1
0
−0.5
0.75
−0.5
0
−0.5
1∗


1
1

1.5 → 0
1
0
−0.5
0.5
−0.5
0
0
1

1
2
1
Wir erhalten aus der zweiten Zeile v2 = 4, danach aus der ersten Zeile v1 =
1 + 0.5v2 = 3 und aus der letzten Zeile v3 = 3. Insbesondere wird die Person im
Durchschnitt 4 Schritte machen, bis sie ins Wasser fällt.
¤
18
G. DESCH
5. Anhang: MATLAB-Programme
5.1. popmodel.m.
Eine Simulation für Beispiel 3.1:
%popmodel
%function w=popmodel(w0,tend,nach,leb);
%w Jede Spalte ein Jahr, Zeile 1: neugeboren, Zeile 2: 1 Jahr alt,
% Zeile 3: aelter
%w0 Anfangspopulationsvektor Jahr 0
%tend letztes simuliertes Jahr
%nach Matrix, enth"alt die Wahrscheinlichkeit der Anzahl der Nachkommen:
%Jede Zeile ein Alter (0,1,2), jede Spalte eine Anzahl Nachkommen (1,2)
%leb Vektor, "Uberlebenswahrscheinlichkeit, jede Zeile ein Alter (0,1,2)
%Funktionserkl"arung
function w=popmodel(w0,tend,nach,leb);
%Initiieren der Ausgangssituation
w=zeros(3,tend+1);
w(:,1)=w0;
walt=w0;
%dies ist f"ur die folgende Rechnung immer der Bestand des Vorjahrs
for j=2:tend+1
%in Matlab beginnen die Matrizen mit Spalte 1, diese geh"ort also zum
%Jahr 0.
wneu=zeros(3,1);
%auf diesem Vektor sammeln wir die Population des neuen Jahres
for k=1:walt(1),
if rand < leb(1),
wneu(2)=wneu(2)+1;
end %if
end %for
for k=1:walt(2),
if rand < leb(2),
wneu(3)=wneu(3)+1;
end %if
r=rand;
if r < nach(1,2),
wneu(1)=wneu(1)+2;
elseif r < nach(1,1)+nach(1,2);
wneu(1)=wneu(1)+1;
end%if
end %for
for k=1:walt(3),
if rand < leb(3),
wneu(3)=wneu(3)+1;
end %if
r=rand;
if r < nach(2,2),
wneu(1)=wneu(1)+2;
elseif r < nach(2,2)+nach(2,1);
wneu(1)=wneu(1)+1;
end%if
end %for
walt=wneu;
%im n"achsten Jahr ist heuer das Vorjahr
w(:,j)=wneu;
%die errechneten Daten werden in der Outputmatrix abgespeichert
end%for
ZUFALL IN DER MODELLIERUNG
5.2. zehnsimul.m.
Berechnet und plottet zehn Simulationsläufe von Beispiel 3.1.
%zehnsimul
%plottet totalpopulation bei zehn simulationen bis zeit 50
ww=zeros(10,51);
t=0:50;
for i=1:10,
ww(i,:)=[1 1 1]*popmodel([0;2;0],50,[0.4 0.2;0.2 0.1],[0.7;0.8;0.6]);
end
hold off
for i=1:10,
plot(t,ww(i,:),’k’);
hold on
end %for
hold off
19
20
G. DESCH
5.3. pop50stat.m.
Berechnet die statistischen Parameter und die Verteilungsfunktion der Population
nach 50 Jahren für Beispiel 3.1.
%pop50stat
%empirische Verteilung und statistische Parameter
%der Population nach 50 Jahren
nrun=80000; %Anzahl Simulationsl"aufe
nstuetz=400; %Anzahl St"utzstellen f"ur Dichtekurve
%Im folgenden Vektor werden die Realisierungen gespeichert
pop50=zeros(1,nrun);
%einzelne Simulationsl"aufe
for i=1:nrun,
w=[1 1 1]*popmodel([0;2;0],50,[0.4 0.2;0.2 0.1],[0.7;0.8;0.6]);
pop50(i)=w(51);
end
%Die statistischen Parameter sind in MATLAB einprogrammiert
mittelwert=mean(pop50)
standardabweichung=std(pop50)
maximum=max(pop50)
minimum=min(pop50)
aussterbewahrscheinlichkeit = mean(pop50==0)
%Vorbereitung der Vektoren und der St"utzstellen
popvert=zeros(1,nstuetz);
popstuetz=minimum + (maximum-minimum)/nstuetz*(0.5:1:nstuetz-0.5);
%Berechnung und Zeichnen der empirischen Verteilungsfunktion
for i=1:nstuetz,
popvert(i)=mean(pop50<=popstuetz(i));
end
figure(1);
plot(popstuetz,popvert);
ZUFALL IN DER MODELLIERUNG
21
5.4. ueberleb.m.
Berechnet die Überlebenswahrscheinlichkeiten bis zum Zeitpunkt t = 1, · · · , 50 für
die Population aus Beispiel 3.1.
%ueberleb
%function p=ueberleb(nrun,w0);
%p(t) ueberlebenswahrscheinlichkeit bis t
%w0 Ausgangsvektor
function p=ueberleb(nrun,w0);
ww=zeros(1,51);
%einzelne Simulationsl"aufe:
for i=1:nrun,
www=[1 1 1]*popmodel(w0,50,[0.4 0.2;0.2 0.1],[0.7;0.8;0.6]);
ww=ww+(www~=0);
end %for
p=1/nrun*ww;
22
G. DESCH
5.5. vglnrun.m.
Berechnet 10 Überlebenswahrscheinlichkeiten bis zum Zeitpunkt t = 1, · · · , 50
auf Grund von 100 Simulationsläufen, und anschließend 10 Überlebenskurven auf
Grund von je 1600 Simulationsläufen für die Population aus Beispiel 3.1. Drcken
Sie eine Taste am Computer, wenn die ersten 10 Kurven gezeichnet sind!
%vglnrun
%plottet 10 "uberlebenskurven bei 100 simulationsl"aufen
%dann 10 "uberlebenskurven bei 1600 simulationsl"aufen
t=0:50;
for i=1:10,
plot(t,ueberleb(100,[0;2;0]),’-b’);
hold on
end
pause
for i=1:10,
plot(t,ueberleb(1600,[0;2;0]),’-r’);
end
hold off;
ZUFALL IN DER MODELLIERUNG
23
5.6. vglw0.m.
Berechnet die Überlebenswahrscheinlichkeiten bis zum Zeitpunkt t = 1, · · · , 50 für
die Population aus Beispiel 3.1. Es sind 10 Übelebenskurven, die auf der Voraussetzung beruhen, dass 1 · · · 10 Weibchen zu Beginn eingesetzt wurden.
%vglw0
%vergleicht die "uberlebenskurven f"ur Anfangspopulationen von 1...10
%Weibchen
t=0:50;
for i=1:10,
plot(t,ueberleb(1600,[0;i;0]));
hold on
end
hold off
24
G. DESCH
5.7. steg.m.
Berechnet einen Simulationslauf für Beispiel 4.1.
%function s=steg(tend)
%drunkard on the cliff
%s Positionen der Person in Abh"angigkeit von \(t\), beginnend mit \(t=0\)
%tend Zeithorizont, bis zu dem gerechnet wird
%Funktionserkl"arung
function s=steg(tend)
%Initiierung des Vektors, Anfangswerte
s=zeros(1,tend+1);
s(1)=2;
sjetzt = 2; %immer der gegenw"artige Zustand
for t=2:tend+1,
if sjetzt~=0 & sjetzt~=4,
if rand < 0.5,
sjetzt=sjetzt+1;
else
sjetzt=sjetzt-1;
end %if
end %if am Steg
s(t)=sjetzt;
end %for
Karl-Franzens-Universität Graz, Institut für Mathematik und wissenschaftliches
Rechnen, Heinrichstraße 36, A-8010 Graz, Österreich
E-mail address: [email protected]
Herunterladen