2010-10-17 23 views
9

Estoy comprobando una estrategia simple de cruce de medias móviles en R. En lugar de ejecutar una gran simulación sobre el espacio de 2 parámetros dimensionales (longitud de la media móvil a corto plazo, longitud de la media móvil a largo plazo), Me gustaría implementar el algoritmo de optimización de enjambre de partículas para encontrar los valores de parámetros óptimos. He estado navegando por la web y estaba leyendo que este algoritmo fue muy efectivo. Además, la forma en que funciona el algoritmo me fascina ...Implementación del algoritmo de optimización de enjambre de partículas en R

¿Alguien de ustedes tiene experiencia en implementar este algoritmo en R? ¿Hay paquetes útiles que se puedan usar?

Muchas gracias por sus comentarios.

Martin

Respuesta

17

Bueno, hay un paquete disponible en CRAN llamada pso, y de hecho es un optimizador de enjambre de partículas (PSO).

Recomiendo este paquete.

Se está desarrollando activamente (última actualización el 22 de septiembre de 2010) y es coherente con el reference implementation para PSO. Además, el paquete incluye funciones para diagnóstico y resultados de trazado.

Sin duda, parece ser un paquete sofisticado pero la interfaz de función principal (la función psoptim) es sencilla: simplemente pase algunos parámetros que describen su dominio problemático y una función de costo.

Más precisamente, los argumentos claves para pasar en cuando llame psoptim:

  • dimensiones del problema, como un vector (par);

  • límites inferior y superior para cada variable (inferior, superior); y

  • una función de coste (fn)

Hay otros parámetros en el psoptim firma método; aquellos generalmente están relacionados con criterios de convergencia y similares).

¿Hay alguna otra implementación de PSO en R?

Hay un paquete R llamado ppso para (PSO paralelo). Está disponible en R-Forge. No sé nada sobre este paquete; Lo he descargado y he robado la documentación, pero eso es todo.

Más allá de esos dos, ninguno del que sea consciente. Hace aproximadamente tres meses, busqué implementaciones R de las metaheurísticas más populares. Esta es la única implementación de pso que conozco. Los enlaces R a la Biblioteca Científica Gnu GSL) tienen un algoritmo de recocido simulado, pero ninguna de las metaheurísticas inspiradas biológicamente.

El otro lugar para mirar es, por supuesto, el CRAN Task View para la optimización.No encontré otra implementación de PSO aparte de lo que he recitado aquí, aunque hay bastantes paquetes enumerados allí y la mayoría de ellos no verifiqué, salvo ver el nombre y el resumen de una frase.

+1

También hay una regresión robusta con la optimización de enjambre de partículas en R: http://comisef.wikidot.com/tutorial:robustregressionwithheuristics –

Cuestiones relacionadas