Wie die Quellcodeanalyse
zeigt, werden
für die Fitverfahren, die auf dem Allgemeinen Linearen Modell basieren,
mehrere verschiedene Bibliotheksfunktionen aufgerufen. Für den
Fall ungewichteter Daten verwendet QtiPlot die Bibliotheksfunktionen
int gsl_fit_linear (...) für den linearen Fit
beziehungsweise die Funktion int gsl_fit_mul (...) für den
Fit einer Geraden durch den
Nullpunkt. Beide Routinen geben nach GSL Reference Manual (2011)
(Seite 404) die Elemente der ,,Varianz-Kovarianz-Matrix``
der Parameter zurück. Diese Matrix entspricht der Gleichung
14. Für den Fall gewichteter Daten kommen die
Bibliotheksfunktionen int gsl_fit_wlinear (...)
beziehungsweise die Funktion int gsl_fit_wmul (...) (GSL Reference Manual (2011)
Seite 404 folgende) zur Anwendung. Diese berechnen die Kovarianz-Matrix
der Parameter. Diese entspricht nach Barnett (1996) (Seite 161,
Gleichung. 28.28) beziehungsweise Behringer (2012) (Seite 392 Gleichung 36.17)
der Gleichung 29. Um daraus die
,,Varianz-Kovarianz-Matrix`` zu erhalten, ist die
Multiplikation mit
notwendig. Der
Wert von
wird von allen vier Bibliotheksfunktionen berechnet.
Dass zwischen gewichteten und ungewichteten Daten unterschieden wird,
obwohl dies vom zugrundeliegenden Allgemeinen Linearen Modell nicht
notwendig wäre, hat rein numerische Gründe. Es erspart an mehreren
Stellen die Ausführung der Multiplikation mit der Gewichtsmatrix, die
in diesem Falle die Einheitsmatrix ist. Eine Folge der unterschiedlichen
Bedeutung der von den verwendeten Funktionen zurückgegebenen Werte ist, dass
die Fehler im Fall gewichteter Daten noch mit sqrt(chiquadrat/doF)
multipliziert werden müssen, während dies im Fall von ungewichtete Daten
bereits erfolgt ist. Die Quelltextanalyse ergab, dass die Option
,,Gewichtung mit sqrt(chiquadrat/doF)`` bei allen auf
dem linearen Modell basierenden Fitverfahren wirkungslos ist. Die
Berücksichtigung des Varianzfaktors
bei der
Berechnung der Fehlerintervalle muss im Nachgang von Hand durch den
Anwender von QtiPlot erfolgen.
Die Frage, ob QtiPlot numerisch falsch rechnet, kann man nun eindeutig mit nein beantworten. Dies gilt zumindest für alle Fitroutinen, die auf dem Allgemeinen Linearen Modell basieren und die obengenannten Funktionen der GNU Scientific Library verwenden. Die richtige Interpretation der berechneten Werte durch die Anwender des Programms ist jedoch auf Grund der mangelhaften Dokumentation der Bedeutung der ausgegebenen Werte und der verwendeten statistischen Verfahren nicht möglich.
schaefer 2017-12-09