Rechnet QtiPlot falsch ?

Um diese Frage zu beantworten, ist es notwendig den Quellcode des Programms genauer zu analysieren, da die zugehörige Dokumentation keinerlei Informationen zu den genutzten Algorithmen, zu den verwendeten statistischen Verfahren und den dahinterliegenden statistischen Theorien enthält. QtiPlot (2014) nutzt die Routinen der GNU Scientific Library. Diese sind ausführlich in GSL Reference Manual (2011) beschrieben. Dort bezieht man sich auf Barnett (1996), der älteren Version von Behringer (2012).

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 $ \chi^2/(n-p) = \widehat{\sigma^2}$ notwendig. Der Wert von $ \chi^2$ 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 $ \widehat{\sigma^2}$ 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