Klimaskepsis mit dem PC

Startseite Navigation Klimasimulation Globale Mitteltemperatur Klimageschichte Fehler von Skeptikern Kosten der Klimapolitik Ziel Impressum

Der Korrelationskoeffizient

Um Aussagen aus Datenreihen zu bekommen, stellt man die Daten meistens in Diagrammform dar. Diese werden dann meistens kommentiert mit Sätzen wie: "Ein Blick auf das Diagramm sagt uns, daß die beiden Größen voneinander abhängig sind." Manchmal trügt er Augenschein, daher wäre es gut, wenn man ein statistisches Werkzeug hätte, das uns mit einer Zahl aussagt, ob zwei Größen zusammenhängen können oder nicht. Wir werden untersuchen, ob der das statistische Werkzeug "Korrelationskoeffizient" dazu geeignet ist.

Benutzung des Programms

  1. Zuerst erstellen Sie ein Verzeichnis, in dem Sie das Programm "Korrelationskoeffizient" laufen lassen wollen.
  2. In diesem Verzeichnis benötigen Sie alle Quelldateien und die Datei "steuer.txt". Es bietet sich an, das Archiv herunterzuladen und im Verzeichnis zu öffnen. Das Archiv enthält die die Quelldateien, die Datei "steuer.txt" sowie eine Dokumentation. Natürlich können Sie die Dateien entweder einzeln anklicken und speichern, was aber mühselig ist.
  3. Dann öffnen Sie ein Konsolenfenster in diesem Verzeichnis (rechter Mausklick im Fenster des Verzeichnisses, dann "Terminal hier öffnen" klicken).
  4. Führen Sie einen Virenscan über dieses Verzeichnis durch. Z.B. ich benutze clamscan mit dem Befehl clamscan -r -i. Sie können natürlich einen anderen Virenscanner benutzen.
  5. Mit python3 korrelations_koeffizient_haupt.py startet man das Programm in der Konsole.
  6. Die Eingabedaten befinden sich in der Datei "steuer.txt", sie müssen nicht mit der Tastatur eingegeben werden. Sie werden nach dem Programmstart sofort in einer Messagebox ausgegeben.
  7. Nach einem Klick auf den "Weiter-"Button wird die Rechnung gestartet. Die berechneten Werte werden in der Konsole angezeigt, gleichzeitig werden zwei Ausgabedateien erstellt, eine mit den berechneten Korrelationskoeffizienten, eine mit den beiden Zufalls- und den beiden Sinusreihen.
  8. Hier wird zum ersten mal das Graphikmodul "matplotlib" benutzt. Nach dem Start des Programms, dem Anzeigen der Steuerdaten und dem Klick auf den "Weiter-"Button erscheint eine Graphik, die die Zufallszahlen als Punkte darstellt. Das Menü der Graphik bietet dann z.B. das Abspeichern der Graphik unter einem beliebigen Format an. Nach einem linken Mausklick auf das Kreuz rechts oben verschwindet diese Graphik und eine mit den beiden Sinusfunktionen erscheint, die wiederum abgespeichert werden kann.

Ergebnisdiskussion

Das Programm errechnet den Korrelationskoeffizienten der Zufallsreihe. Bei einem Testlauf kam 0.004349162148016036 , eine Zahl nahe 0 heraus, während die Sinusreihe einen Korrelationskoeffizienten von 1.000000hat. Dieses gibt den Eindruck der Graphiken wieder: die Zufallszahlen bilden eine unzusammenhängende Wolke, während die Sinusfunktionen aufeinander liegen. Die Korrelationskoeffizienten werden beim Programmlauf im Terminal angezeigt und in die Datei "korr_phi_0.dat" eingetragen.

Was passiert, wenn die Sinusfunktionen eine Phasenverschiebung haben?

Hierzu müssen wir eine Phasenverschiebung in die Steuerdatei hineinschreiben. Dazu
  1. wird die Steuerdatei in einem Editor wie gedit geöffnet.
  2. Unter dem Wort Phasenverschiebung_phi_[°] wird die 0.0 in z.B. 45.0 geändert.
  3. Die Phasenverschiebung zwischen den beiden Sinusfunktionen ist dann +45°
  4. Damit nicht die schon vorhandenen Ergebnisdateien "feld_ausgabe.dat" und korr.dat nicht überschrieben werden, müssen diese ebenfalls in der Steuerdatei geändert werden zu:
    • reihen_ausgabe_45.dat und
    • korr_45.dat
  5. Ein weiterer Programmlauf, mit python3 korrelations_koeffizient_haupt.py gestartet, er wiederholt die Rechnung mit dem neuen Phasenwinkel 45°
  6. Der Korrelationskoeffizient der Zufallszahlen liegt wieder nahe bei 0 - bei diesem Durchlauf 0.12274717428601911, darum wenden wir uns gleich der phasenverschobenen Sinuszahlenreihe zu.

Ergebnisdiskussion

Die Sinusreihe einen Korrelationskoeffizienten von 0.707107hat. Der Korrelationskoeffizient hat sich verringert.

Neue Phasenverschiebung 90°

Wir ändern noch einmal die Phasenverschiebung und lassen das Programm noch einmal laufen. Hierzu müssen wir die Phasenverschiebung in der Steuerdatei wieder überschreiben: Dazu
  1. öffnen wir die Steuerdatei im Editor
  2. Unter dem Wort Phasenverschiebung_phi_[°] wird die 45.0 in 90.0 geändert.
  3. Die Phasenverschiebung zwischen den beiden Sinusfunktionen ist dann +90°
  4. Ein Überschreiben der bereits vorhandenen Ausgabedateien wird wieder verhindert, in dem die Dateinamen geändert werden zu:
    • reihen_ausgabe_90.dat und
    • korr_90.dat
  5. Ein weiterer Programmlauf, mit python3 korrelations_koeffizient_haupt.py gestartet, wiederholt die Rechnung mit dem neuen Phasenwinkel 90°
  6. Während der Korrelationskoeffizient der Zufallszahlen überraschend klein ist mit -0.5230708374986708 (ziemlich tiefer Ausreißer!), ist der Korrelationskoeffizient der Sinusfunktionen mit 0.0052279567866209305 sehr nahe bei 0!

    Autsch!

    D.h. bei zwei phasenverschobenen aber sonst gleichen Funktionen kann der Korrelationskoeffizient den der Zufallszahlen unterschreiten, wenn die Phasenverschiebung ungünstig ist und die Zufallszahlen "nicht mitspielen"! Wir müssen also mit dem Korrelationskoeffizienten vorsichtig sein! Hier noch das dazugehörige Bild, erzeugt wie oben:

    Dokumentation

    Archiv python3
    Hauptprogramm in python3
    Steuereinheit in python3
    Zeitdokumentation in python3
    Recheneinheit in python3
    Ausgabeeinheit in python3
    Steuerdatei

    Zurück zur Startseite