C++ Programmieraufgabe: Wettermodell

Das Wettergeschen kann durch das sochastische Modell einer Markov-Kette simuliert werden. Die Programmieraufgabe beinhaltet, die Eigenschaften einer Markov-Kette zu diskutieren und zu beurteilen, ob das Wettergeschehen damit treffend beschrieben werden kann und wie das Modell durch weiteren Annahmen verbessert werden kann.
Noch keine Stimmen abgegeben
Noch keine Kommentare

Einordnung des Artikels

Im Folgenden wird ein einfaches, stochastisches Modell vorgestellt, mit dem das Wetter simuliert werden kann; es handelt sich um eine sogenannte Markov-Kette.

Die Modellannahmen

Zuerst wird das Wetter in f├╝nf Klassen eingeteilt, die mit A, B, C, D, E bezeichnet werden. Man kann sich dabei etwa vorstellen, dass die Tagesh├Âchsttemperatur T gemessen wird und die Klassen dadurch entstehen, dass f├╝r T Intervalle gebildet werden:

A T > 25┬░C
B 15┬░C < T < 25┬░C
C 5┬░C < T < 15┬░C
D -5┬░C < T < 5┬░C
E T < -5┬░C

Tabelle 1: Die 5 Wetterklassen werden ÔÇö etwas willk├╝rlich ÔÇö durch Intervalle f├╝r die gemessene Tagesh├Âchsttemperatur gebildet.

Das Wettergeschehen wird durch ├ťbergangswahrscheinlichkeiten festgelegt; das hei├čt ist f├╝r einen Tag die Wetterklasse bekannt, gibt es f├╝nf Wahrscheinlichkeiten daf├╝r, welche Wetterklasse am n├Ąchsten Tag vorliegt. Zum Beispiel gibt dann PCA die Wahrscheinlichkeit daf├╝r an, dass am folgenden Tag die Wetterklasse A auftritt, wenn aktuell die Wetterklasse C vorliegt. Summiert man zu einem gegebenen Tag mit seiner Wetterklasse (hier C) alle ├ťbergangswahrscheinlichkeiten, so muss sich 1 ergeben:

PCA + PCB + PCC + PCD + PCE = 1

Abbildung 1: Einteilung des Wetters in Klassen und ├ťbergangswahrscheinlichkeiten von einer Klasse zu der am n├Ąchsten Tag. Um die Abbildung ├╝bersichtlich zu halten, werden nur die ├ťbergangswahrscheinlichkeiten von Klasse C zu den f├╝nf anderen Klassen dargestellt.Abbildung 1: Einteilung des Wetters in Klassen und ├ťbergangswahrscheinlichkeiten von einer Klasse zu der am n├Ąchsten Tag. Um die Abbildung ├╝bersichtlich zu halten, werden nur die ├ťbergangswahrscheinlichkeiten von Klasse C zu den f├╝nf anderen Klassen dargestellt.

Das Modell ist somit vollst├Ąndig, wenn alle ├ťbergangswahrscheinlichkeiten PXY (mit X, Y = A, B, C, D, E) gegeben sind. Insgesamt gibt es 5 ┬Ě 5 = 25 ├ťbergangswahrscheinlichkeiten, wobei zum Beispiel PCA nicht mit PAC ├╝bereinstimmen muss.

Die folgende Tabelle zeigt die 25 ├ťbergangswahrscheinlichkeiten, die f├╝r die erste Version des Programms verwendet werden; sie geben die Regel wieder:

  • Mit gro├čer Wahrscheinlichkeit bleibt das Wetter wie es ist und
  • je gr├Â├čer die Ver├Ąnderungen von einem Tag zum n├Ąchsten umso kleiner sind die ├ťbergangswahrscheinlichkeiten.
X / Y A B C D E
A 0.75 0.15 0.07 0.03 0.00
B 0.20 0.60 0.15 0.04 0.01
C 0.05 0.20 0.50 0.20 0.05
D 0.01 0.04 0.15 0.60 0.20
E 0.00 0.03 0.07 0.15 0.75

Tabelle 2: ├ťbergangswahrscheinlichkeiten PXY, also die Wahrscheinlichkeit daf├╝r, dass am folgenden Tag die Klasse Y eintritt, wenn am ersten Tag die Klasse X vorlag. Die Tabelle ist so zu lesen, dass X in der ersten Spalte steht und Y in der ersten Zeile, also ist zum Beispiel PAC = 0,07. Damit es sich um Wahrscheinlichkeiten handeln kann, muss die Summe jeder Zeile 1 ergeben.

Nachteil des Wettermodells: es gibt keine Jahreszeiten

Das oben beschriebene Modell unterscheidet nicht zwischen den Jahreszeiten. Denn dann m├╝sste es Perioden im Jahresablauf geben, in denen immer gewisse Wetterklassen bevorzugt auftreten (A und B im Sommer, D und E im Winter, C im Fr├╝hling und Herbst). Die Wahrscheinlichkeiten sind aber so festgelegt, dass die H├Ąufigkeit einer Wetterklasse im Jahresablauf nur vom Startzustand abh├Ąngen kann. Da aber nach einigen Tage alle Wetterklassen mit endlicher Wahrscheinlichkeit vorkommen k├Ânnen, sollte auf lange Sicht auch der Anfangszustand irrelevant sein. Folglich stellen sich f├╝r alle Wetterklassen immer die gleichen Wahrscheinlichkeiten ein. Ein periodischer Wechsel der Wetterklassen im Jahresablauf ist somit nicht zu erwarten.

(Programmier-) Aufgaben

1. Schreiben Sie ein C++ Programm, mit dem das Wettergeschehen eines Jahres (= 360 Tage) mit Hilfe der ├ťbergangswahrscheinlichkeiten aus Tabelle 2 simuliert werden kann. Dazu soll ein beliebiger Startzustand vorgegeben werden und durch einen Zufallsgenerator ein m├Âglicher Jahresablauf erzeugt werden. Die Folge der 360 Klassen soll ausgewertet werden (siehe unten).

2. Achten Sie bei der Definition der 25 ├ťbergangswahrscheinlichkeiten darauf, dass es sp├Ąter leicht m├Âglich ist, andere ├ťbergangswahrscheinlichkeiten vorzugeben.

3. Die Auswertung eines Jahresablaufs soll folgende Ergebnisse liefern:

  • Mit welcher relativen H├Ąufigkeit treten die f├╝nf Klassen auf?
  • Starten Sie den Jahresablauf mit verschiedenen Anfangsklassen: Sind die relativen H├Ąufigkeiten der f├╝nf Klassen signifikant abh├Ąngig vom Startzustand?
  • Wie oft treten Perioden mit gleichbleibendem Wetter auf, die 3 oder mehr Tage anhalten? Das Programm soll diese Perioden (mit ihrer L├Ąnge und Klasse) ausgeben.

4. Wie kann man die Wahrscheinlichkeiten daf├╝r, dass eine der f├╝nf Klassen (bei im Prinzip unendlich langen Folgen) angenommen wird, theoretisch berechnen?

5. Entwickeln Sie ein verbessertes Wettermodell, das einen Jahreszeiten-Verlauf wiedergibt. Implementieren Sie dieses Modell und diskutieren Sie, ob es einen Jahreszeiten-Verlauf richtig wiedergibt.

6. Diskutieren Sie: F├╝r welche anderen Vorg├Ąnge ist die Markov-Kette ein geeignetes Modell?

7. Die in Tabelle 1 festgelegten ├ťbergangswahrscheinlichkeiten sind in einem gewissen Sinn symmetrisch. Formulieren Sie, wie hier symmetrisch gemeint ist!

  • Welche ├änderungen im Verhalten des Wetters erwarten Sie, wenn eine kleine Asymmetrie in die ├ťbergangswahrscheinlichkeiten eingef├╝hrt wird, etwa wie in Tabelle 3.
  • Werten Sie (wie oben beschrieben) die mit diesen ├ťbergangswahrscheinlichkeiten erzeugten Folgen aus. Welche Unterschiede ergeben sich zur Verwendung der ├ťbergangswahrscheinlichkeiten aus Tabelle 2?
X / Y A B C D E
A 0.75 0.15 0.07 0.03 0.00
B 0.20 0.60 0.15 0.04 0.01
C 0.05 0.25 0.50 0.15 0.05
D 0.01 0.04 0.15 0.60 0.20
E 0.00 0.03 0.07 0.15 0.75

Tabelle 3: ├ťbergangswahrscheinlichkeiten PXY mit einer kleinen Asymmetrie im Vergleich zu Tabelle 1. Beachten Sie, dass im Vergleich zu Tabelle 1 nur die beiden ├ťbergangswahrscheinlichkeiten PCB und PCD ver├Ąndert wurden.