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]