Klimaskepsis mit dem PC

Startseite Navigation Treibhausthese Programme Kosten der Klimapolitik Ziel Fehler von Skeptikern 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

Wie schon beim Testprogramm müssen alle Dateien in das Verzeichnis geladen und die Quelldateien compiliert werden. Das macht der makefile. Zusätzlich benötigt man das Programm Gnuplot zur graphischen Darstellung der errechneten Werte, die Schritte werden hier wieder angegeben:

Anwenden des Programms

  1. Zuerst entscheiden Sie sich für eine der Programmiersprachen FORTRAN 95 oder C.
  2. Dann erstellen Sie ein Verzeichnis, in dem Sie das Programm "Korrelationskoeffizient" laufen lassen wollen.
  3. In diesem Verzeichnis benötigen Sie die alle Quelldateien, die Datei "steuer.txt" und den "makefile". Es bietet sich an, das Archiv herunterzuladen und im Verzeichnis zu öffnen. Das Archiv enthält den makefile und die jeweilige Quelldateien sowie eine Dokumentation. Natürlich können Sie die Dateien entweder einzeln anklicken und speichern, was aber mühselig ist.
  4. Dann öffnen Sie ein Konsolenfenster in diesem Verzeichnis (rechter Mausklick im Fenster des Verzeichnisses, dann "Terminal hier öffnen" klicken).
  5. 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.
  6. Jetzt werden die Quelldateien mit dem Befehl make compiliert, es wird eine Ausführbare Datei erzeugt.
  7. Führen Sie einen erneuten Virenscan über dieses Verzeichnis durch.
  8. Mit ./korrelations_koeffizient startet man das Programm in der Konsole.
  9. Die Eingabedaten befinden sich in der Datei "steuer.txt", sie müssen nicht mit der Tastatur eingegeben werden.
  10. Die berechneten Werte werden in der Konsole ausgegeben, gleichzeitig wird eine Ausgabedatei erstellt.

Anwenden des Graphikprogramms Gnuplot

Das Darstellungsprogramm Gnuplot läßt sich für das Betriebssystem UBUNTU wieder sehr einfach in der Konsole installieren.

Meistens verwendet man Gnuplot um zwei oder mehrere Spalten einer Datei graphisch zuzuordnen. Hier wären das die erste Spalte mit dem Zählindex, der jeweils zwei Spalten mit den beiden Zufallsreihen bzw. den beiden Sinusreihen zugeordnet wird. Falls Ihnen ein anderes Darstellungsprogramm vertraut und "lieber" ist, können Sie natürlich auch dieses verwenden.

  1. Wir wollen zuerst zwei Diagramme erzeugen, eines für die Zufallszahlen, eines für die Sinusfunktion, mit den Zufallszahlen sei angefangen.
  2. Gnuplot wird in der Konsole mit dem Befehl gnuplot gestartet.
  3. Bevor wir zum Plotten der Ausgabewerte kommen, müssen wir das Diagramm vorbereiten. Wir brauchen einen Diagrammtitel, den setzen wir mit set title 'Zufallszahlen' Beachten Sie die Hochkommata.
  4. Die x-Achse beschriften wir mit set xlabel 'Zaehlindex i' die y-Achse mit set ylabel 'Zufallszahlen'. Hier sind die Hochkommata wieder wichtig.
  5. Der Befehlum die Zufallszahlen zu plotten ist:
    plot "feld_ausgabe.dat" using 1:2, "feld_ausgabe.dat" using 1:3
    Die Zahlen sind Spaltenindizes.
  6. Die erstellte Graphik läßt sich mit Gnuplot speichern, der Befehl dazu ist: save "feld_ausgabe_zufall.gnu".
  7. Mit load "feld_ausgabe_zufall.gnu" kann man diese Graphik wieder aufrufen und anzeigen.
  8. Eine Änderung des Bildformates läßt sich auch bewerkstelligen, z.B. werden .jpg-Bilder erzeugt mit den vier Befehlen:
  9. Die Sinusreihe wird fast genauso dargestellt.
  10. Nach dem Aufrufen von Gnuplot wird wieder ein Titel erzeugt, mit set title 'Sinusfunktionen'.
  11. Die x-Achse beschriften wird wieder mit set xlabel 'Zaehlindex i' beschriftet, die y-Achse mit set ylabel 'Sinusfunktionen'. Hier sind die Hochkommata wieder wichtig.
  12. Die Zahlen der beiden Sinusreihen liegen in der 4. und 5. Spalte, Funktionen stellt man am besten mit Linien dar. Daher lautet der Befehl plot "feld_ausgabe.dat" using 1:4 with lines, "feld_ausgabe.dat" using 1:5 with lines . Dann zeigt Gnuplot die beiden Funktionen an.
  13. Zum Abspeichern der Graphik diehnt dann der Befehl dazu ist: save "feld_ausgabe_sinus.gnu" .
  14. Mit load "feld_ausgabe_sinus.gnu" kann man diese Graphik wieder aufrufen und anzeigen.
  15. Ein Speichern der Sinusreihe in das jpeg-format ist wieder möglich mit:
  16. Gnuplot wird beendet mit:
      quit oder kurz q

Ergebnisdiskussion

Das Programm errechnet den Korrelationskoeffizienten der Zufallsreihe mit 0.112233 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.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:
    • feld_ausgabe_45.dat und
    • korr_45.dat
  5. Ein weiterer Programmlauf, mit ./korrelations_koeffizient gestartet, wiederholt die Rechnung mit dem neuen Phasenwinkel 45°
  6. Unsere Pseudozufallszahlen haben sich nicht geändert, darum wenden wir uns gleich der phasenverschobenen Sinuszahlenreihe zu.
  7. Gnuplot wird in der Konsole mit dem Befehl gnuplot gestartet.
  8. Nach dem Aufrufen von Gnuplot wird wieder ein Titel erzeugt, jetzt aber mit set title 'Sinusfunktionen, Phasenverschiebung 45'.
  9. Die x-Achse beschriften wird wieder mit set xlabel 'Zaehlindex i' beschriftet, die y-Achse mit set ylabel 'Sinusfunktionen Phasenverschiebung 45'. Hochkommata!
  10. Daher lautet der Befehl plot "feld_ausgabe_45.dat" using 1:4 with lines, "feld_ausgabe_45.dat" using 1:5 with lines . Dann zeigt Gnuplot die beiden Funktionen an, diesmal nicht überdeckt.
  11. Zum Abspeichern der Graphik diehnt dann der Befehl dazu ist: save "feld_ausgabe_sinus_45.gnu" .
  12. Mit load "feld_ausgabe_sinus_45.gnu" kann man diese Graphik wieder aufrufen und anzeigen.
  13. Ein Speichern der Sinusreihe in das jpeg-format ist wieder möglich mit:
  14. Gnuplot wird beendet mit:
      quit oder kurz q

Ergebnisdiskussion

Das Programm errechnet den Korrelationskoeffizienten der Zufallsreihe wieder mit 0.112233 während die Sinusreihe einen Korrelationskoeffizienten von 0.707107hat. Der Korrelationskoeffizient hat sich verringert, ist aber immer noch nicht =0.

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:
    • feld_ausgabe_90.dat und
    • korr_90.dat
  5. Ein weiterer Programmlauf, mit ./korrelations_koeffizient gestartet, wiederholt die Rechnung mit dem neuen Phasenwinkel 90°
  6. Während der Korrelationskoeffizient der Zufallszahlen wieder seine 0.112233 annimmt, ist der Korrelationskoeffizient der Sinusfunktionen 0.000000 !

    Autsch!

    D.h. bei zusammanhängenden Funktionen kann der Korrelationskoeffizient den der Zufallszahlen unterschreiten, wenn die Phasenverschiebung ungünstig ist! Wir müssen also mit dem Korrelationskoeffizienten vorsichtig sein! Hier noch das dazugehörige Bild, erzeugt wie oben:

    Dokumentation

    Archiv FORTRAN 95
    Makefile für FORTRAN 95
    Hauptprogramm in FORTRAN 95
    Steuereinheit in FORTRAN 95
    Recheneinheit in FORTRAN 95
    Ausgabeeinheit in FORTRAN 95
    Steuerdatei

    Archiv C
    Makefile für C
    Hauptprogramm in C
    Header zur Steuereinheit in C
    Steuereinheit in C
    Header zur Recheneinheit in C
    Recheneinheit in C
    Header zur Ausgabeeinheit in C
    Ausgabeeinheit in C
    Steuerdatei

    Zurück zur Startseite