18 votos

¿Hay alguna forma de maximizar/minimizar una función personalizada en R?

Estoy tratando de minimizar una función personalizada. Debe aceptar cinco parámetros y el conjunto de datos y hacer todo tipo de cálculos, produciendo un único número como salida. Quiero encontrar una combinación de cinco parámetros de entrada que produce la salida más pequeña de mi función.

12voto

Anthony Cramp Puntos 126

Además de la respuesta de Jeromy Anglim, tengo algunos enlaces más.

Al lado de optim hay otra función en la base R que permite lo que quieres: nlminb . Consulte ?nlminb y ?optim para ver ejemplos de uso.

Hay un montón de paquetes que pueden hacer optimizaciones. Lo que me pareció más interesante fueron los paquetes optimx y, bastante nuevo, el neldermead para diferentes versiones del algoritmo simplex.

Además, es posible que quiera echar un vistazo a la vista de tareas de CRAN sobre la optimización de más paquetes

Tenga en cuenta que todas mis recomendaciones suponen que tiene una función determinista (es decir, sin ruido aleatorio). Para las funciones que no son estrictamente deterministas (o que son demasiado grandes), habría que utilizar algoritmos como el recocido simulado o los algoritmos genéticos. Pero el Vista de tareas de CRAN debería tener lo que necesitas.

11voto

Eric Davis Puntos 1542

He escrito un post con una lista de tutoriales en los que se utiliza optim .

Aquí hay una cita de la sección pertinente:Aquí hay una cita de la sección pertinente:

1voto

null Puntos 183

¿Su función es continua y diferenciable? Es posible que pueda utilizar optim, ya sea con derivadas proporcionadas por el usuario o aproximadas numéricamente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X