Verfasst am: 27.01.2013, 15:25
Titel: Fitten von numerischen Verteilungsfunktionen
Hallo zusammen
Hoffentlich kennt jemand von euch die Funktionen, die ich suche, im Internet und auf der Matlab-Hilfeseite hab ich nichts passendes gefunden. Und hoffentlich bin ich hier im richtigen Teil des Forums gelandet.
Ich hab Daten aus MS-Experimenten, an welche ich eine Verteilungsfunktion fitten möchte. Später sollten es mehrere sein, damit man verschiedene Signale sozusagen auseinanderrechnen kann, aber wenn es mal nur mit einem Peak geht, wäre es schon mal ein Anfang.
Die Verteilungsfunktion bekomme ich mit isotopicdist(), allerdings nur in numerischer Form als Kurve, das heisst ich hab einen Vektor mit den y-Werten der Verteilung.
Gibt es nun eine Funktion, welche mir diese (numerische) Kurve an meine experimentellen Daten anpassen (skalieren und verschieben) kann?
Falls das nicht geht, wie mache ich eigene Verteilungsfunktionen, welche ich anschliessend z.B. mit fitdist() aufrufen kann?
Ich möchte wenn möglich keine der vorgefertigten Verteilungsfunktionen verwenden, wenn das geht. Und wenn, dann muss sie asymmetrisch sein, was die Sache nicht einfacher macht.
Bin mir nicht sicher, ob ich dich richtig verstanden habe, aber du möchtest Messwerte bzw. deine numerischen Werte an eine beliebige analytische Verteilung fitten und deren Parameter erhalten?
Du musst doch irgendwelche Parameter haben, womit du fitten kannst..ich verstehe es ehrlich gesagt noch nicht...
- Du hast (numerische) Messdaten, die einer bestimmten Verteilung unterliegen
- Diese bestimmte Verteilung liegt dir auch nur numerisch vor
- Du möchtest die Messdaten an diese numerische Verteilung fitten (hierfür brauchst du Parameter an denen Du drehen kannst)
Soweit habe ich es verstanden oder habe ich bei den beiden Punkten schon einen Fehler in meiner Logik?!
Dann hast du in rhoY die Dichteverteilungsfunktion mit rhoX der aktuellen x-Achse. Als Parameter kann man dann einführen:
Eine Verschiebung in x-Richtung (z.B. rhoX + a)
Eine Streckung der x-Achse (z.B. rhoX * b)
Eine Streckung in y-Richtung (z.B. rhoY * c)
Das gibt die Dichtefunktion. Die soll nun an einen Datensatz angepasst werden.
Ich denke, ich könnte selber eine Least-square methode schreiben, welche das Problem löst, aber dann hätte ich keine Ahnung über die Fehler. Ausserdem hätte ich doch gehofft, das Matlab eine Lösung dafür hat.
Ich habs mir ein bisschen anders vorgestellt. Insbesondere die neue Indexierung in der Kostenfunktion werde ich noch einbauen müssen. Danach muss es noch auf mehrere Verteilungen überlagert ausgeweitet werden.
Aber das ist mein Problem, nicht deines. Du hast mir einen guten Anfang geliefert, den Rest kann ich da nicht auch noch sofort erwarten
ich habe deine Frage so verstanden, dass du eine Menge von Merkmalsausprägungen vorliegen hast. Nun möchtest du eine Dichtefunktion dazu finden, hast aber Unkenntnis über den Verteilungstyp. Es liegt also keine Modellfunktion vor, dessen Parameter du an die Daten anpassen kannst. Bei Unkenntnis des Modells greift man zu sog. nicht-parametrisierten Ansätzen.
Was du indes mit der Verschiebung und Skalierung gemeint hast, verstehe ich nicht. Meintest du damit Transformationen der Ausprägungen. Z-Werte, Exponential-Transformation zur Beseitigung der Schiefe?
Es liegt doch eine statistisches Problem vor?
Grüße, Marc
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.