|
|
Maximum Likelihood mittels fmincon |
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.02.2013, 15:59
Titel: Maximum Likelihood mittels fmincon
|
 |
Hallo Leute,
optimiere gerade meine dichte unter nebenbedingungen und stelle beim optimierungsprozess immer wieder fest, dass der wert der likelihoodfunktion nicht kontinuierlich mit jeder iteration sinkt, sondern phasenweise wieder hoch geht und manchmal am ende sogar konvergiert ohne dass er den wert einer anderen iteration unterbietet.
ich kann mir das nur so erklären, dass der optimierer sich manchmal in gefilden aufhält, die ich ihm untersagt habe und er dann wieder zurückgeht?
vg
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.02.2013, 16:15
Titel:
|
 |
Hallo,
dem ist vermutlich so. Lass dir doch den iterativen Output anzeigen und poste den hier. Daraus sollte man das ablesen können.
Grüße,
Harald
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.02.2013, 16:40
Titel:
|
 |
ich schätze das modell jeden tag neu und nehme die konvergierten parameter von gestern als startwerte für die schätzung heute. wie man sieht war der erste wert schon besser als der letzte.
beste grüße
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.02.2013, 16:46
Titel:
|
 |
das ist auf den ersten blick auch das erste mal wo das vorlag. ist ja schon irritierend, zumal ich weiss, dass die startwerte ja den restriktionen genügen und somit keine violation vorliegt.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 01.02.2013, 17:34
Titel:
|
 |
Hallo,
das erstaunt mich. Die Zielfunktion ist aber schon deterministisch, oder enthält sie etwa Zufallselemente oder verändert sich innerhalb eines Optimierungsdurchlaufs anderweitig?
Grüße,
Harald
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.02.2013, 10:50
Titel:
|
 |
Moin Harald,
die zielfunktion ist konstant und bedient sich bei jeder iteration an den selben daten.
vg
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.02.2013, 11:16
Titel:
|
 |
Hallo,
erstaunt mich wie gesagt. Kannst du ein Beispiel, an dem das auftritt, zur Verfügung stellen?
Grüße,
Harald
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 12:37
Titel:
|
 |
moin harald,
ich scheine da ein problem mit meiner dichte zu haben.
nehme ich die dichte von einer anderen person, tritt dieses phänomen nicht auf.
der einzige 'unterschied' ist, dass kollege
mit for-schleife arbeitet
und ich mit logical indexing:
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 12:43
Titel:
|
 |
als ergänzung vllcht noch:
wir bekommen immer die selben ergebnisse, es sei denn, der parameter nu schnellt da oben. theoretisch muss die dichte für +inf definiert sein, aber bei mir gibt sie schon bei ~340 den geist auf.
und wie gesagt der einzige unterschied liegt in der for-schleife.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 13:47
Titel:
|
 |
Hallo,
verändert sich nu zur Laufzeit?
Wenn sichergestellt ist, dass a und b immer Skalare sind und x bzw. LL ein Vektor der Länge T, dann sehe ich da auf den ersten Blick auch keinen Unterschied.
Am einfachsten wird es sein, wenn du beide Implementierungen in den Code aufnimmst und
testest oder
Was heißt "bei mir gibt sie schon bei ~340 den geist auf"?
Grüße,
Harald
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 15:17
Titel:
|
 |
was meinst du mit ob sich nu zur laufzeit ändert?
mit "bei mir gibt sie schon bei ~340 den geist auf"? meine ich, dass wenn ich daten so im nu-bereich von 350 habe und ich die restriktionen so locker lasse, dass ich nu größer ~340 zulasse, es auf einmal zu fehlermeldungen kam. habe ich nur nu bis 100 zugelassen, liefen die iteration so durch, wenn auch mit dem eigenartigen phänomen was ich beschrieben habe.
viel mehr kann ich da auch schon nichts mehr zu sagen, habe dieses phänomen iwie wegbekommen. der funktionswert wird mit jeder iteration kleiner und dass der endwert größer als der anfangswert ist, kommt auch nicht mehr vor.
habe die falsche version meiner dichte schon gelöscht, aber zu hause sollte ich noch die alte haben, dann lade ich die vergleiche mal hoch.
ich kann jedenfalls nicht nachvollziehen warum das jetzt läuft und vorher nicht.
beste grüße
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 17:09
Titel:
|
 |
bringt das eigtl signifikante performanceschübe wenn ich ein modell 1000 mal schätze und den iterativen output nicht anzeigen lasse?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 18:08
Titel:
|
 |
Hallo,
Zitat: |
was meinst du mit ob sich nu zur laufzeit ändert? |
Ob nu innerhalb einer Optimierung verschiedene Werte annimmt.
Zitat: |
dass [...] es auf einmal zu fehlermeldungen kam |
Dann ist es wichtig, die Fehlermeldungen zu sehen (hier reinkopieren).
Zitat: |
ich kann jedenfalls nicht nachvollziehen warum das jetzt läuft und vorher nicht. |
Wenn es jetzt läuft (und das auch so bleibt), dann ist das ja schon mal was :)
Empfehlung: momentanen Stand irgendwo fest abspeichern, nicht dass du irgendwann mal Änderungen machst und dann wieder in die Problemfälle hineinläufst und kein Backup mehr hast.
Ich würde den iterativen Output nur in der Testphase anzeigen. Danach würde ich Output komplett ausschalten und nur noch über EXITFLAG (3. Rückgabeparameter von FMINCON) mit einer IF-Abfrage kontrollieren, ob die Optimierung erfolgreich war. Sonst wird ja nur das Command Window zugespamt, und der Performance tut es natürlich auch nicht gut.
Grüße,
Harald
|
|
|
blub |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 18:36
Titel:
|
 |
okay, den iterativen outbekomme ich weg, aber geht auch das weg?:
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.02.2013, 20:32
Titel:
|
 |
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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.
|
|