Hi Ich möchte meine Python-Kollegen fragen, wie sie ihre lineare Anpassung durchführen.
Ich habe die letzten zwei Wochen nach Methoden / Bibliotheken gesucht, um diese Aufgabe zu erfüllen, und ich möchte meine Erfahrung teilen:
Wenn Sie eine lineare Anpassung basierend auf der Methode der kleinsten Quadrate durchführen möchten, haben Sie viele Möglichkeiten. Zum Beispiel können Sie Klassen in numpy und scipy finden. Ich selbst habe mich für den von linfit (der dem Design der linfit-Funktion in IDL folgt) vorgestellten opto:
entschiedenBei dieser Methode wird davon ausgegangen, dass Sie die Sigmas in Ihren Y-Achsen-Koordinaten einfügen, um sie an Ihre Daten anzupassen.
Wenn Sie jedoch die Unsicherheit sowohl in der X- als auch in der Y-Achse quantifiziert haben, gibt es nicht so viele Optionen. (Es gibt kein IDL "Fitexy" Äquivalent in den wissenschaftlichen Hauptbibliotheken von Python). Bisher habe ich nur die "kmpfit" -Bibliothek gefunden, um diese Aufgabe zu erfüllen. Glücklicherweise hat es eine sehr vollständige Website, die all seine Funktionalität beschreibt:
Wenn jemand zusätzliche Ansätze kennt, würde ich sie auch gerne kennenlernen.
Auf jeden Fall hoffe ich, dass das hilft.
Orthogonale Abstandsregression in Scipy ermöglicht Ihnen die nichtlineare Anpassung mit Fehlern in beiden x
und y
.
Unten sehen Sie ein einfaches Beispiel, das auf dem Beispiel auf der scipy-Seite basiert. Es versucht, eine quadratische Funktion zu einigen randomisierten Daten anzupassen.
%Vor%