Curve fitting bzw. welches Optimierungsverfahren

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
schubbiaschwilli
Beiträge: 253
Registriert: Di Jun 27, 2017 12:09 pm

Curve fitting bzw. welches Optimierungsverfahren

Beitrag von schubbiaschwilli »

Gude!

Ich versuche, Daten an eine Funktion zu fitten.
Ich habe also eine Funktion f(x1,... ,xn) und Beobachtungen y, und minimiere die Summe der Abstandsquadrate, was ich als Verlustfunktion definiert habe.
Jetzt habe ich mehrere Optimierungsverfahren ausprobiert (CG, Nelder-Mead, L-BFGS-B aus der Funktion optim, und die Funktion nmk aus dem dfoptim-Paket), aber die laufen alle nicht zufriedenstellend, was an 2 Dingen liegt:
1. Meine Funktion ist nicht analytisch, sondern ein numerisches Integral (https://en.wikipedia.org/wiki/Carr%E2%8 ... an_formula) - Was die Sache schon mal langsam macht. Und ich habe keine Ableitungen bzw. Gradienten.
2. Das Ergebnis ist von den Startwerten des Fittings abhängig, die Verfahren hängen also in lokalen Minima fest und finden nicht immer das globale Minima (was ich aber auch nicht kenne).
Ich habe mir so geholfen, dass ich ein Gitter aus Startwerten gebaut habe, und nun die Verfahren mit diesen verschiedenen Startwerte laufen lasse. Anschließend nehme ich die Lösung mit dem kleinsten RSS.

Meine Frage: Kennt vielleicht jemand eine Quelle, die sich damit beschäftigt hat? Ich kenne nur https://www.r-bloggers.com/why-optim-is-out-of-date/ (wobei ich das dort besprochene Paket optimrx (von J.C.Nash, dem Autor von "Compact Numerical Methods for Computers: Linear Algebra and Function Minimisation") noch nicht ausprobiert habe).

Dank&Gruß
schubbiaschwilli
Antworten