|
freak1982 |

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 28.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 18:25
Titel: fmincon
|
 |
Hi zusammen,
ich benutze die Funktion fmincon für die Zeitreihenanalyse.
Jetzt habe ich nur ein Problem, das die Funktion bei verschiedenen Zeitreihen und Einstellung in die Knie geht nach einigen Iterationen
Wenn ich dann überprüfe was schief gelaufen ist, dann es es immer so das eine vorgegebener Beschränkung (A und b bzw. Aeq und beq) vom Optimierer verletzt wurde, die ich aber gesetzt habe.
Gibt es irgendeinen Weg wie ich die Funktion vorsichtiger machen kann?
Bzw. muss ich in der zu optimierten Funktion die Restriktionen selbst überprüfen damit nichts schief geht?
Vielen Dank schon mal.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 19:22
Titel:
|
 |
Hallo,
was heißt "in die Knie geht"?
Die Nebenbedingungen werden nur mit einer gewissen Toleranz TolCon erfüllt, die über optimset eingestellt werden kann.
Zudem solltest du dir das dritte Rückgabeargument EXITFLAG ansehen. Zur Interpretation siehe die Doku von fmincon.
Grüße,
Harald
|
|
|
freak1982 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 28.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 20:01
Titel:
|
 |
Hi Harald,
ich arbeite mit Dichtefunktionen und die sind nur bei gewissen Bereichen definiert.
Sie kann es sein obwohl ich
gesetzt habe, wird diese Bedingung beim rechnen verletzt.
Gibt es eine Möglichkeit fmincon zu sagen es gab eine Fehlermeldung - rechne mit vom Ursprungswert der Parameter bevor es zur Fehlermeldung kam weiter mit halber Schrittweite, oder so ähnlich.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 20:31
Titel:
|
 |
Hallo,
überprüf die Beschränkung doch einfach in der Zielfunktion und gib wenn einen höheren Wert zurück?
Grüße,
Harald
|
|
|
freak1982 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 28.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 20:58
Titel:
|
 |
du meinst ich bau ne überprüfung direkt in die Zielfunktion ein, wenn
-parameter(1)-parameter(2)>0
dann parameter(2)=-parameter(1)?
Danke das du mir hilfst!!!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 21:24
Titel:
|
 |
Hallo,
das wäre eine Möglichkeit.
Ich dachte eher an einen Strafterm für das Verletzen der Nebenbedingung. Das kannst du vielleicht zusätzlich einbauen, da du sonst am Ende immer noch Lösungen bekommen wirst, die die Nebenbedingungen leicht verletzen.
Zudem würde ich darüber nachdenken, TolCon herunterzusetzen (über optimset).
Denkbare Alternative: die Ungleichung anpassen
Grüße,
Harald
|
|
|
freak1982 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 28.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.08.2011, 23:39
Titel:
|
 |
Hi Harald,
erst wenn ich
setze konvergieren alle zeitreihen.
und ab schluss ist die restriktion nicht mehr bindend. hat dies trotzdem einfluss auf die hessematrix?
ich brauch die für die standardfehler.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.08.2011, 08:32
Titel:
|
 |
Hallo,
Zitat: |
konvergieren alle zeitreihen. |
Wie äußert es sich, wenn sie "nicht konvergieren"?
Zitat: |
und ab schluss ist die restriktion nicht mehr bindend. |
Was meinst du damit? Die Nebenbedingung muss nicht mehr eingehalten werden? Verstehe ich nicht ganz.
Grüße,
Harald
|
|
|
freak1982 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 28.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.08.2011, 08:57
Titel:
|
 |
Hi Harald,
naja ja ich benutzte verschiedene Zeitreihenmodelle (ARMA, GJR-GARCH, etc.).
Und mit dieser Restriktion funktioniert die Maximum likelihood Schätzung.
Nicht bindend heißt das -parameter(2)-parameter(1)<<0
<<: deutlich kleiner. Dann wird die Restriktion nicht mehr theoretisch gebraucht.
Eine Restriktion wird nur gebraucht wenn am Ende
-parameter(2)=parameter(1) gilt.
Dann spricht man von bindend.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.08.2011, 10:02
Titel:
|
 |
Hallo,
wir drehen uns das im Kreis.
Was meinst du mit "die Schätzung funktioniert"? Insbesondere: wie äußert es sich, wenn die Schätzung nicht funktioniert bzw. woran merkst du das?
Die Hesse-Matrix dürfte unabhängig davon sein, ob die NB nun bindend/aktiv sind oder nicht. Sie bezieht sich ja nur auf die Zielfunktion.
Grüße,
Harald
|
|
|
freak1982 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 24
|
 |
|
 |
Anmeldedatum: 28.06.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.08.2011, 10:12
Titel:
|
 |
Naja sonst bricht der Algorithmus ab, da die Restriktion verletzt wird und dann keine richtige Dichtefunktionwerte rauskommen.
Meines Erachtens haben die Restriktionen eine hohe Relevanz auf die Hessematrix, laut Hilfe fließend sie auch darin rein. Relevant wir sie vor allem wenn die Restriktion bindend ist.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.08.2011, 13:39
Titel:
|
 |
Hallo,
Zitat: |
Naja sonst bricht der Algorithmus ab, da die Restriktion verletzt wird und dann keine richtige Dichtefunktionwerte rauskommen. |
Bevor wir hier weiter rumeiern: kannst du ein Codebeispiel für eine Zeitreihe zur Verfügung stellen, wo das Problem auftritt?
Zitat: |
laut Hilfe fließend sie auch darin rein |
kannst du das zitieren und/oder einen Link darauf posten?
Zitat: |
Relevant wir sie vor allem wenn die Restriktion bindend ist. |
Interessant ist aber doch nur die Hesse-Matrix für die Lösung, und da ist die Restriktion nach deiner Darstellung doch eben nicht bindend?
Grüße,
Harald
|
|
|
|
|
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 - 2025
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.
|
|