|
|
Optimization TB: Optimale Kurve bestimmen |
|
Coja |
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 20.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.06.2009, 15:39
Titel: Optimization TB: Optimale Kurve bestimmen
|
|
Hallo.
Ich hab eine große Menge von Messdaten (NaN-bereinigt). Diese Daten sind nicht sortiert und es existieren des öfteren doppelte x bzw. y Werte (nicht eindeutig).
Ich würde nun gerne eine relativ glatte Funktion haben, die möglichst geringe Abweichungen von Messdaten liefert.
Gibt es da eine Möglichkeit, dass ich keine Funktion vorgeben und Matlab mir eine optimale Kurve ausgibt? Ich weis nämlich noch nicht genau in welcher Funktionsklasse ich suchen soll.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.06.2009, 17:05
Titel:
|
|
Mit einem Wort: nein.
Man könnte höchstens eine Schleife über verschiedene Modelle laufen lassen, und sich ansehen, welches die geringsten Abweichungen aufweist.
Meine Empfehlung wäre, die Daten zu plotten (unsortiert macht nichts) und mal zu sehen, wonach es "aussieht"... und dann ein entsprechendes Modell verwenden.
Wenn du da wirklich keine Vorstellung hast, kannst du ja mal nen Plot von deinen Daten posten.
Grüße,
Harald
|
|
|
Coja |
Themenstarter
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 20.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2009, 15:46
Titel:
|
|
Vielen Dank Harald für deine Antwort.
Ich hab den Plot der Messdaten und eine von mir bestimmten Ausgleichsfunktion beigefügt. So ähnlich wie meine Ausgleichsfunktion sollten auch die anderen approximierten Funktionen aussehen, d.h. sie sollte den Wert von 10 nicht überschreiten und den Wert von 0 nicht unterschreiten. Über Vorschläge würde ich mich sehr freuen.
und dann hätt ich noch eine Frage: gibt es noch andere Möglichkeiten der Approximation außer LeastSquares ?
Beschreibung: |
Messdaten (x,y) und Daten der Ausgleichsfunktion (x2,y2) |
|
Download |
Dateiname: |
Daten.rar |
Dateigröße: |
2.34 MB |
Heruntergeladen: |
736 mal |
Beschreibung: |
|
Download |
Dateiname: |
DatenBild.jpg |
Dateigröße: |
35.86 KB |
Heruntergeladen: |
743 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.06.2009, 16:47
Titel:
|
|
Wenn man sich den Plot ansieht, sind die Daten derartig verrauscht, dass sich mir die Frage stellt, ob es überhaupt einen Sinn hat, da eine Kurve durchzulegen.
Soll die Kurve am rechten Ende wieder fallen?
Falls nein, würde ich eine logistische Wachstumskurve vorschlagen
http://de.wikipedia.org/wiki/Logistische_Funktion
(G wäre 10, bzw. G < 10. Das müsste aber automatisch herauskommen.)
Falls ja, würde ich eine skalierte Normalverteilung drüberlegen
http://de.wikipedia.org/wiki/Normalverteilung
bzw. hier: f(x) = A * exp(((x- B)/C)^2)
|
|
|
Coja |
Themenstarter
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 20.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.06.2009, 18:07
Titel:
|
|
Sicherlich sind die Daten sehr zerstreut, aber es sind ja auch recht viele Werte und ein Großteil der Daten liegt nicht so sehr zerstreut.
An Verteilungsfunktionen hab ich auch schon gedacht. Aber die haben den Nachteil, dass sie ein ausgeprägtes Maximum haben. Der obere Teil der Kurve sollte aber nicht zu große Anstiege aufweisen.bis etwa zum Wert von 20 sollte die Funktion steigen oder nur leicht fallen. Die Normalverteilung hat den Nachteil, daß ihr Maximum zu sehr ausgeprägt ist. Danke nochmals für deine Bemühungen, vielleicht findet sich ja noch ein anderer Ansatz.
Achja bevor ichs vergesse, gibt es noch andere Optimierungsmethoden als LS?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 23.06.2009, 20:06
Titel:
|
|
Wie ausgprägt das Maximum einer Normalverteilung ist, hängt von der Streuung ab. Das kann auch recht flach sein.
In dem Fall ist dann aber wohl die logistische Funktion besser. Die flacht gegen unendlich ab.
"Least Squares" ist an sich keine Optimierungsmethode. Es bedeutet, dass die Kurve so angepasst wird, dass die Summe der quadrierten Fehler klein wird. Andere Möglichkeiten könnte man höchstens durch Transformation der Daten (und automatische Mit-Transformation der Fehler) erreichen, ich sehe darin aber keinen Nutzen.
|
|
|
Coja |
Themenstarter
Forum-Century
|
|
Beiträge: 166
|
|
|
|
Anmeldedatum: 20.06.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.06.2009, 22:15
Titel:
|
|
Hallo. Wie könnte denn eine Transformation der Daten aussehen bzw. welche Methode käme da geeigneter Weise zum Einsatz?. DIe Normalverteilung liefert zwar schon geringe Residuenwerte, aber ihre Ordinatenwerte nach dem Scheitelpunkt zu schnell ab (d.h. hier ist ein sanfteres Abklingen erwünscht).
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|