Ich versuche, die Determinationskoeffizient (R^2) in Python, aber ich erhalte in bestimmten Fällen einen negativen Wert. Ist das ein Zeichen für einen Fehler in meiner Berechnung? Ich dachte, R^2 sollte zwischen 0 und 1 begrenzt sein.
Hier ist mein Python-Code für die Berechnung, direkt aus dem WP-Artikel angepasst:
>>> yi_list = [1, 1, 63, 63, 5, 5, 124, 124]
>>> fi_list = [1.7438055421354988, 2.3153069186947639, 1002.7093097555808, 63.097699219524706, 6.2635465467410842, 7.2275532522971364, 17.55393551900103, 40.8570]
>>> y_mean = sum(yi_list)/float(len(yi_list))
>>> ss_tot = sum((yi-y_mean)**2 for yi in yi_list)
>>> ss_err = sum((yi-fi)**2 for yi,fi in zip(yi_list,fi_list))
>>> r2 = 1 - (ss_err/ss_tot)
>>> r2
-43.802085810924964