Klimavorhersagen - wie funktionieren Modelle?

Kipp-Punkte Klimawandel
Umkipp-Punkte Klimawandel., Quelle: Katharina Theis-Bröh, https://www.scientists4future.org/infomaterial/sketchnotes/

Prognosemodelle: Von der Vergangenheit auf die Zukunft schließen

Zurzeit demonstrieren regelmäßig viele junge Menschen für Klimaschutz und den Er­halt unserer natürlichen Lebensgrundlagen. Die Fakten zum Klimawandel sind eindeutig, wie die Initiative der Scientists for Future in ihrer Stellungnahme deutlich macht. Die Diskussion der Folgen wird dabei getrieben von den Prognosen der Experten. Solche Vorhersagen der Zukunft basieren auf Daten der Vergangenheit und gewissen Modellvorstellungen. Gibt es physikalisch, chemisch oder biologisch motiverte Erklärungen für die Wirkzusammenhänge zwischen den Daten, so lassen sich sogenannte mechanistische "White Box"-Modelle formulieren. Existieren nur die Daten (Big Data), ohne nähere Informationen zum eigentlichen System, so nutzt man sogenannte datengetriebene oder "Black Box" Modelle. Häufig spricht man dann in diesem Kontext auch vom Maschinellen Lernen. In beiden Fällen sprechen wir von mathematischen oder computergestützten Modellen in Form von mathematischen Geichungen.

Klimamodelle basieren auf den Grundlagen der Atmosphärenphysik, sind also weitgehend "White-Box". Ein anschauliches Beispiel für ein "White Box" - Modell ist der bekannte Spannungsteiler aus der Physik. Bei Kenntnis der Widerstände und der anliegenden Versorgungsspannung U lässt sich die Spannung an R1 über die Kirchhoffschen Regeln und das Ohmsche Gesetz wie folgt berechnen:

U1=R1/(R1+R2)*U

U1 hängt also von den Parametern R1, R2 und der Höhe der Versorgungsspannung ab, Details dazu im Modul Selbstbausensor. Ist U(t) jetzt eine zeitveränderliche Größe, die von außen auf den Spannungsteiler einwirkt (Eingangsgröße), so ist natürlich auch die Spannung U1(t) zeitabhängig, lässt sich aber immer noch nach dem Modell der Spannungsteilerformel berechnen.

In der Praxis kennen wir bestimmte Modellparameter oft nur ungenau und müssen unser Modell vor der ersten Benutzung kalibrieren, d. h. diesese Parameter genauer bestimmen. Erst dann können wir mit dem Modell sinnvolle Vorhersagen treffen. Kennen wir in unserem Fall einen der Widerstände z.B. R1 nur sehr ungenau (z.B. aufgrund von Fertigungsschwankungen des Bauteils), so benötigen wir Messdaten von U1(tmess) und U(tmess) zu einem Zeitpunkt tmess und können daraus dann R1 berechnen. Hier gelingt das noch durch Umstellen der Gleichung nach R1, häufig sind die zugrundeliegenden Modellgleichungen aber viel komplizierter und das Umstellen ist nicht so einfach möglich. Dann können wir uns behelfen, indem wir einfach verschiedene Werte für R1 in die Gleichung einsetzen und das sich aus der Formel ergebene U1 mit der Messung vergleichen. Durch "geschicktes Probieren" finden wir auch so den unbekannten Parameter R1, der die beste Übereinstimmung zwischen dem berechneten U1 und dem gemessenen U1 liefert. Dieser Vorgang nennt sich Parameteridentifikation oder Modellkalibrierung und die Mathematiker nutzen verschiedene Optimierungsverfahren, um die optimalen Parameter p zu bestimmen.

Fazit: Wir passen die Parameter unseres mathematischen Modells, dessen Struktur wir aus der Physik ("White-Box") gewonnen haben, an die vorhandenen Messdaten an, um zukünftig bei veränderter Eingangsgröße U(t) den Wert für unsere Zielgröße U1(t) vorhersagen zu können.  Was hat der Spannungsteiler nun mit unseren Klimamodellen zu tun?

Klimaprognose: Modelle auf den Säulen der Physik

Auch hier bemühen wir physikalische Erkenntnisse ("White-Box": Erhaltungssätze, Strahlungsbilanz, Thermodynamik, ...) um eine uns interessierende Zielgrößer (z.B. die zukünftige mittlere Erdtemperatur) in Abhängigkeit einer äußeren Einflussgröße (z. B. zukünftige CO2-Emissionen) zu modellieren. Leider handelt es sich dabei um ein komplexes System, so dass viel mehr Parameter in die Modellgleichungen einfließen, als bei unserem obigen Spannungsteiler. Außerdem enthält das System verschiedene Speicherelemente (z.B. die Ozeane als Energiespeicher), was dazu führt, dass wir dieses dynamische System nur mittels Differentialgleichungen beschreiben können. Differentialgleichungen sind Gleichungen, bei denen auch die zeitlichen Änderungen (Ableitungen) berücksichtigt werden müssen. Außerdem sind die zu modellierenden Prozesse räumlich verteilt (Ozeane, Landmassen, Atmosphäre), was dazu führt, dass wir nicht nur die zeitliche Komponente sondern auch Ortskomponenten in die Modelle integrieren müssen. Das daraus entstehende mathematische Modell ist sehr komplex und erfordert eine hohe Computerleistung zur Berechnung. Ein Umstellen der Gleichungen zur Kalibrierung der unbekannten Parameter ist praktisch unmöglich, aber mittels Parameteridentifikation und historischen Daten gelingt eine Modellanpassung. Vereinfachende Annahmen bei der Modellerstellung, die teilweise nur abgeschätzten Parameter und die Messfehler der historischen Daten führen zu einem Vorhersagefehler mit Wahrscheinlichkeiten für einzelne Szenarien. Die dabei zum Einsatz kommenden "White Box" Modelle erfordern ein tiefes Verständnis der zugrundeliegenden physikalischen Prozesse, sind aber unabdingbar für eine verlässliche Prognose zukünftigen Verhaltens (Extrapolationsfähigkeit). 

Lineares Prognosemodell für Klimadaten im Klassenzimmer

Gibt es nur die historischen Daten und weiss man nichts über die inneren Zusammenhänge (oder ist man einfach nur zu faul, diese mathematisch zu formulieren), so versucht man über empirische Annahmen wie z. B. lineare Modelle oder ein künstliches neuronales Netz (ANN) zu einer mathematischen Beschreibung zu kommen. Man spricht dann auch von einem "Black Box"- oder datengetriebenen Modell. Einfachstes Beispiel ist die Ausgleichsgerade zur Modellierung linearer Zusammenhänge. Auch diese mathematische Beschreibung enthält unbekannte Parameter (Steigung und Offset der Geradengleichung), die auf der Basis der vorhandenen Messdaten bestimmt werden, die aber nicht zwingend einen physikalischen Bezug zum realen System aufweisen müssen. Im Kontext des Machinellen Lernens wird die Bestimmung dieser Parameter (z. B. der Gewichte eines ANNs) auch Lernphase genannt. Ist das Modell einmal trainiert, so können modellbasierte Vorhersagen des Systemverhaltens gemacht werden. Solche "Black Box" Modelle besitzen in der Regel nur ein sehr eingeschränktes Prognoseverhalten, können also zukünftige Entwicklungen nur für sehr kurze Zeiträume vorhersagen. 

Im folgenden Praxisbeispiel wollen wir auf der Basis aktueller Temperaturmessungen im Klassenraum den zukünftigen Temperaturverlauf schätzen. Dazu verwenden wir in der Lernphase die Messdaten des Temperaturverlaufs T(t) aus der Vergangenheit, z.B. der letzten 5 Minuten. Für diesen Verlauf nehmen wir ein lineares Verhalten an: T(t) = Steigung*t + Offset und bestimmen die unbekannten Parameter (Steigung, Offset). Haben wir nur zwei Messungen in der Vergangenheit, so können wir diese mit der bekannten Zweipunkteform der Geradengleichung ermitteln. Bei mehreren Messungen erhalten wir ein überbestimtes Gleichungssystem (mehr Gleichungen als Unbekannte), dessen Lösung am Rechner z.B. im Sinne der kleinsten quadratischen Fehler erfolgen kann (Matlab: polyfit). Unter der Annahme, das sich das System konstant verhält, können wir diese Parameter nutzen, um den zukünftigen Temperaturverlauf T(t+delta) vorherzusagen: T(t+delta) = Steigung*(t+delta)+Offset. Damit erhalten wir ein einfaches Prognoseergebnis z.B. für die nächsten 5 Minuten.

Klimavorhersagen bitte so "weiß" wie möglich

Um den Unterschied noch einmal klar zu verdeutlichen versuchen wir uns zum Abschluß an der Modellierung einer Kuckucksuhr: Der "White-Box" Modellierer wird die Uhr aufschrauben, die Zähne und Durchmesser der Zahnräder (Parameter) bestimmen, die Getriebegleichungen (Physik) aufstellen und kann dann die Bewegung der Zeiger genau vorhersagen. Im Prinzip braucht er dazu nicht einmal Messdaten historischer Zeigerstellungen. Ein "Black-Box" Modellierer nimmt sich eine halbe Stunde Zeit, kommt ab und zu an der Uhr vorbei, notiert die Zeitdauer zwischen den Besuchen und die Stellung der Zeiger. Auf der Basis der so gewonnenen historischen Daten baut er eine lineare Gleichung (empirisch) zur Beschreibung der Abhängigkeit zwischen Zeit und Zeigerstellung. Beide Ansätze können die Zeigerbewegung für einen kurzen Zeitraum vorhersagen.

Aber der große Unterschied: Hat der "Black-Box"-Modellierer nicht viel Glück bei seinen kurzen Stichproben an der Uhr, so hat er noch nie etwas von der Existenz des Kuckucks erfahren. Der "White-Box" Modellierer hat diese versteckte Information natürlich bei der Beschreibung des Getriebes entsprechend berücksichtigt und kennt den Auslösezeitpunkt und die Anzahl der Rufe ziemlich genau. Im Sinne der Klimamodelle ist es nicht der Kuckuck sondern sogenannte irreversibler "Umkipp-Punkte" (Tipping-Points), die versteckt in den Strukturen der Modelle vorhanden sind und die bisher glücklicherweise noch nicht real beobachtet wurden. Die Kenntniss dieser irreversiblen Prozesse und ihre Vermeidung können überlebenswichtig für uns sein.

Selber machen: Black-Box Modell lineare Vorhersage (Zweipunktegleichung)

Im folgenden Beispiel wollen wir kurzzeitige Vorhersagen für die Temperatur und die Luftfeuchte im Klassenraum machen. Dazu realisieren wir das obige lineare Prognosemodell (Geradengleichung) unter Nutzung der bereits bekannten Thingspeak-Cloud. Neben der in der Einführung verwendeten Open-Source Variante betreibt die Firma Mathworks einen Thingspeak-Server mit der Möglichkeit, eigene MATLAB-Programme auszuführen, die die Daten weiterverarbeiten können. Ein solches MATLAB-Programm werden wir nun dazu verwenden, um die Parameter zu bestimmen und ein klein wenig in die Zukunft zu schauen:

1. Registrierung beim Thingspeak Server von Mathworks: Für einen kostenfreien Account ist die Angabe einer mail-Adresse notwendig.

2. Anlegen eines Thingspeak -Kanals: Mit zwei Feldern für Temperatur und Luftfeuchte analog zum Beispiel Schulklima.

3. IoT-Superblock erstellen: Analog zum Beispiel Schulklima, aber mit api.thingspeak.com als Server-URL. Nach upload liefert unser Octopus fleissig neue Daten.

4. Modell erstellen: Unter dem Menüpunkt "Apps" gernerieren wir eine neue App vom Typ "Matlab Visualization". Dies ist eine Vorlage für ein Matlab-Skript, welches die Messdaten vom Thingspeak ausliest (thingSpeakRead) und die Daten per Matlab-Plot visualisiert. Dieses Design-Pattern können wir nun so abändern, dass die Daten als Ausgangspunkt zur Berechnung der Geradengleichung für ein lineares Modell dienen. In der hier zu findenden Vorlage verwenden wir die Zweipunkteform der Geraden um Steigung und Offset zu ermitteln. Zu Kalibrierung wählen wir nur einen Teil der vorhandenen Daten (est_time, z.B. die letzten 5 Minuten). Nach der Parameteranpassung können wir schließlich einen vorgegeben Zeitraum (pred_time) in die Zukunft simulieren und das Ergebnis plotten.

5. Modell testen: Durch Auswahl von "Save and Run" wird der Matlab-Code schließlich ausgeführt und es erscheint die Vorhersage zur visuellen Kontrolle.

6. Ausgabe einbinden: Im Thingspeak - Darstellungsfenster (Public oder Private) können wir nun mittels "Add Visualizations" unsere neue Prognosedarstellung integrieren. Leider wird die Darstellung in der aktuellen Thingspeakversion nur alle 10 Minuten aktualisiert. Wollen wir die Performance unsereres Modells häufiger beobachten, so müssten wir manuell per "Save and Run" ein Update erzwingen.

Kanal anlegen im Thingspeak
Die Firma Mathworks betreibt einen aktuellen Thingspeak-Server im Internet, der MATLAB-Code ausführen kann und so eine modellgestützte Verarbeitung der Messdaten erlaubt. Hier konfigurieren wir einen neuen Kanal und gestalten allen Interessierten den Zugriff (Sharing).
Superblock Thingspeak
Der bekannte Superblock zur Thingspeak-Kommunikation funktioniert auch mit der URL api.thingspeak.com von Mathworks.
MATLAB Code erstellen
Unter Apps wird die Erstellung eines Matlab-Skriptes ermöglicht.
Prognosemodell
Dort geben wir unsere Modellvorstellung ein. Am einfachsten per Cut&Paste aus der oben angebotenen Vorlage. Hier realisieren wir ein lineares Vorhersagemodell, welches den Trend der letzten 5 Minuten zur Vorhersage der nächsten 5 Minuten nutzt. Die Steigung und der Offset der Geradengleichung wird einfach aus der Zweipunkteform der Geraden generiert. So vereinfacht sich die Parameteridentifikation ganz erheblich. Die zwischen den beiden Endpunkten liegenden Daten gehen aber gar nicht in die Kalibrierung ein. Per "Save&Run" können wir das Ergebnis der Vorhersage beobachten.
Integration in die Visualisierung
Die neue Grafik können wir auch auf die Hauptseite unserer Visualisierung integrieren. Leider wird die Grafik hier nur alle 10 Minuten automatisch aktualisiert.

Selber machen: Grey-Box Modell für PT1-Verhalten

Gerade bei der Beobachtung des Temperaturverlaufs im Klassenzimmer haben wir es physikalisch mit Wärmespeichervorgängen zu tun. Der Beton der umliegenden Wände wirkt dabei als Energiespeicher und erwärmt sich aufgrund der spezifischen Wärmekapazität nur sehr langsam. Drehen wir im Klassenraum die Heizung auf (sprungförmige Änderung, Sprungfunktion), so benötigt die Raumluft einige Zeit, bis sie einen stationären (konstanten) Wert erreicht hat. Öffnen wir im Winter das Fenster, so dauert es auch eine gewisse Zeit, bis der Raum auf Außentemperatur abkühlt. Wir beobachten deshalb häufig ein PT1-Verhalten der Messgröße, d.h. die Temperatur folgt der Stellgröße (Heizung, Fensteröffnung) nur mit Verzögerung (Übertragungsverhalten mit Verzögerung 1. Ordnung, PT1). Mathematisch folgt daraus eine Differentialgleichung 1. Ordnung, die wir bei gewissen vereinfachenden Annahmen sogar analytisch lösen können. Als Antwort auf die sprungförmige Eingangsänderung sehen wir ein Sprungantwort der Form T(t) = p1*(1-exp(-t/p2) mit den Parametern p1 und p2. Unser Modell enthält also einen exponentiellen Anteil, den wir im Modell entsprechend berücksichtigen können. Ohne Modellierung der exakten physikalischen Wirkzusammenhänge, aber trotzdem mit etwas Systemwissen, spricht man oft auch von "Grey-Box" Modellen. Solche Ansätze sind nichtlinear und erfordern ein mathematisches Optimierungsverfahren zur Parametersuche. Die hier bereitgestelle MATLAB-Vorlage nutzt dazu das Simplex-Verfahren von Nelder & Mead in Form der fminsearch-Funktion von MATLAB. Parallel dazu rechnen wir auch gleich eine professionelle Variante der Ausgleichsgerade. Beim polyfit-Befehl tragen alle Messpunkte zur Bestimmung der Geradenparameter bei (und nicht nur zwei Punkte am Anfang und Ende). Schließlich berechnen wir den quadratischen Fehler beider Modelle und entscheiden uns für das Modell mit dem kleinsten Anpassungsfehler. Das Ergebnis mit der Live-Prognose des Temperaturverlaufs im (klimatisierten) Hörsaal findet sich hier.

Nichtlineares Modell Matlab-Code
Hier ziehen wir alle Register der MATLAB-Programmierung und nutzen ein nichtlineares Optimierungsverfahren zur Bestimmung der Parameter.
Modellvorhersage
Als Ergebnis bekommen wir die Sprungantwort eines PT1-Systems als mögliches Vorhersageverhalten beschrieben.
back-to-top nach oben