Ich habe Arrays von X und Y. Mit Excel konnte ich bestimmte polynomische Anpassung der Ordnungen 3-5 erhalten. Ich entschied mich, einen Code zu machen, der die niedrigste Reihenfolge der Passform in der Weise wählt, wenn GoodnessOfFit.RSquared(New)/GoodnessOfFit.RSquared(Previous)< 1.05
dann höre ich auf, Aufträge zu wählen, die Previous
Modell wählen.Polynom-Reihenfolge 3-5 mit Math.Net C#
Ich war überrascht, dass R^2 von Ordnung 2 zu Ordnung 3 (R^2 = 0.35 vs R^2 = 0.21) sank. Überprüfte Koeffizienten und Zeichnungsdaten zu derselben Excel-Datei. War überrascht, wie weit die Fit-Linie ist. Überprüfen Sie "RosettaCode" Lösung für Polyfit und auch nicht sehen, dass die Ergebnisse sogar genau das sind, was Excel vorhersagt.
Jede Lösung für das Problem?
Beispiel Datensatz:
double[] Y = new double[] { 0.1599, 0.1585, 0.1499, 0.1506, 0.1494, 0.1494, 0.1494, 0.1494, 0.1619, 0.1619, 0.1604, 0.1604, 0.1479, 0.1479, 0.1604, 0.1738, 0.1623, 0.1553, 0.1431, 0.126, 0.1259, 0.1259, 0.1254, 0.1436 };
double[] X = new double[] { 1495981908, 1495983810, 1495985705, 1495987307, 1495987689, 1495988066, 1495988452, 1495988820, 1495989206, 1495989589, 1495989972, 1495990357, 1495990747, 1495991122, 1495991499, 1495991876, 1495992255, 1495992629, 1495993009, 1495993378, 1495993758, 1495994134, 1495994533, 1495994913 };