Lineare Anpassung in Python mit Unsicherheit in x- und y-Koordinaten

7

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:

entschieden

Ссылка

Bei 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:

Zypern Ссылка

Wenn jemand zusätzliche Ansätze kennt, würde ich sie auch gerne kennenlernen.

Auf jeden Fall hoffe ich, dass das hilft.

    
Delosari 26.03.2014, 18:32
quelle

2 Antworten

19

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%

    
Ffisegydd 26.03.2014, 18:34
quelle
6

Sie können den Eigenvektor der Kovarianzmatrix verwenden, der dem größten Eigenwert zugeordnet ist, um eine lineare Anpassung durchzuführen.

%Vor%

    
Ondro 26.03.2014 19:48
quelle

Tags und Links