Estoy buscando un ejemplo de código simple de cómo ejecutar un filtro de partículas en R. El paquete pomp parece admitir el bit matemático del espacio de estado, pero los ejemplos son un poco difíciles de seguir programáticamente para un desarrollador OO simple como yo, particularmente cómo cargar los datos observados en un objeto pomp.
Digamos que tengo un archivo csv con 1 columna de datos ruidosos como entrada, y me gustaría ejecutarlo a través de un filtro de partículas para poder limpiarlo, con la salida como las estimaciones, a otro archivo csv.
y <- read.csv("C:/Dev/VeryCleverStatArb/inputData.csv", header=FALSE)
#CSV to Pomp object ???
#Run Particle Filter
#Write estimates to csv.
La principal dificultad con los ejemplos es cargar datos csv en un objeto pomp.
Un modelo de espacio de estado muy simple debería ser lo suficientemente bueno por ahora.
¿Alguna idea para los R-curiosos?
Respuestas:
EDITAR: Parece que la mayoría de los paquetes de filtro de partículas se han ido ahora. Sin embargo, he estado jugando con LaplacesDemon (un paquete Bayesian MCMC) y tiene la función PMC (Population Monte Carlo) que implementa PMC, que es un tipo de filtro de partículas. Tal vez demasiada maquinaria para un filtro rápido de partículas, pero vale la pena aprender un paquete.
Puede encontrar paquetes y tutoriales en CRAN .
ORIGINAL: Para ser honesto, en el caso más simple,
pomp
es difícil de usar. Es muy flexible para cualquier cosa que desee hacer, pero es como usar una nave espacial para ir al supermercado.¿Ha intentado mirar los filtros de Kalman (si sus datos pueden satisfacer los supuestos del filtro de Kalman), incluidas las funciones básicas
tsSmooth
yStructTS
(solo univariadas) y el paquetedlm
? También echaría un vistazo aloess
y otros suavizadores.Yo espero que estoy equivocado y alguien se sube a aquí con un rápido "Aquí es cómo hacerlo para datos univariados simples como que tiene con algunos supuestos modestos." Me encantaría poder usar el paquete yo mismo.
fuente