Ich versuche, eine benutzerdefinierte Funktion zu minimieren. Es sollte fünf Parameter und den Datensatz akzeptieren und alle möglichen Berechnungen durchführen, um eine einzige Zahl als Ausgabe zu erhalten. Ich möchte eine Kombination von fünf Eingabeparametern finden, die die kleinste Ausgabe meiner Funktion ergibt.
r
optimization
user333
quelle
quelle
Zusätzlich zu Jeromy Anglims Antwort habe ich noch einige Links.
Neben
optim
gibt es eine weitere Funktion in der Basis R , die für erlaubt , was Sie wollen:nlminb
. Überprüfen Sie?nlminb
und?optim
für Beispiele der Verwendung.Es gibt eine Reihe von Paketen, die optimiert werden können. Was ich am interessantesten fand, waren die Pakete optimx und ganz neu das neldermead- Paket für verschiedene Versionen des Simplex-Algorithmus.
Darüber hinaus möchten Sie möglicherweise einen Blick auf die CRAN-Task-Ansicht zur Optimierung werfen, um weitere Pakete zu erhalten
Bitte beachten Sie, dass alle meine Empfehlungen davon ausgehen, dass Sie eine deterministische Funktion haben (dh kein zufälliges Rauschen). Für Funktionen, die nicht streng deterministisch (oder zu groß) sind, müssten Sie Algorithmen wie simuliertes Annealing oder genetische Algorithmen verwenden. Die CRAN-Task-Ansicht sollte jedoch das bieten, was Sie benötigen.
quelle
Ist Ihre Funktion stetig und differenzierbar? Möglicherweise können Sie optim mit benutzerdefinierten oder numerisch approximierten Derivaten verwenden.
quelle