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.
Respuestas
¿Demasiados anuncios?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.
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.
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:
- "La combinación de la función R
optim
y una función objetivo creada a medida objetivo creada a medida, como una función de logaritmo-verosimilitud, proporciona una poderosa herramienta para estimación de parámetros de modelos personalizados.- Tutorial de Scott Brown incluye un ejemplo de esto.
- Ajay Shah tiene un ejemplo de escribir una función de verosimilitud y luego obtener una estimación de máxima verosimilitud estimación utilizando
optim
. - Benjamin Bolker tiene un gran material disponible en la web de su libro Modelos y datos ecológicos en R . Los PDFs, Rnw, y el código R de las primeras versiones de los capítulos se proporcionan en el sitio web. Capítulo 6 ( probabilidad y todo eso ) , 7 ( los detalles escabrosos del ajuste de modelos ), y 8 ( ejemplos de estimación de la probabilidad trabajada ).
- Brian Ripley tiene un conjunto de diapositivas sobre simulación y optimización en R . En particular, proporciona una discusión útil de los diversos algoritmos de optimización disponibles utilizando
optim
".