Je cherche un exemple de code simple sur la façon d'exécuter un filtre à particules dans R. Le package pomp semble prendre en charge le bit mathématique de l'espace d'état, mais les exemples sont un peu difficiles à suivre par programme pour un développeur OO simple comme moi, en particulier comment charger les données observées dans un objet pompeux.
Disons que j'ai un fichier csv avec 1 colonne de données bruyantes en entrée, et je voudrais le faire passer par un filtre à particules afin de l'espérer le nettoyer, avec la sortie étant les estimations, dans un autre fichier csv.
y <- read.csv("C:/Dev/VeryCleverStatArb/inputData.csv", header=FALSE)
#CSV to Pomp object ???
#Run Particle Filter
#Write estimates to csv.
La principale difficulté avec les exemples est le chargement de données csv dans un objet pompe.
Un modèle d'espace d'état très simple devrait être suffisant pour l'instant.
Des idées pour les R-curieux?
Réponses:
EDIT: Il semble que la plupart des packages de filtres à particules ont disparu maintenant. Cependant, j'ai joué avec LaplacesDemon (un package MCMC bayésien) et il a la fonction PMC (Population Monte Carlo) qui implémente PMC, qui est un type de filtre à particules. Peut-être trop de machines pour une sorte de filtre à particules rapide, mais un package qui mérite d'être étudié.
Vous pouvez trouver des packages et des tutoriels sur CRAN .
ORIGINAL: Pour être honnête, dans le cas le plus simple, il
pomp
est difficile à utiliser. Il est très flexible pour tout ce que vous pourriez vouloir faire, mais c'est comme utiliser un vaisseau spatial pour aller à l'épicerie.Avez-vous essayé de regarder les filtres Kalman (si vos données peuvent satisfaire aux hypothèses du filtre Kalman), y compris les fonctions de base
tsSmooth
etStructTS
(univariées uniquement), et le packagedlm
? Je jetterais également un coup d'œil à d'loess
autres lissoirs.J'espère que je me trompe et que quelqu'un le houblon ici avec un rapide «voici comment faire pour les données unidimensionnelles simples comme vous avez avec quelques hypothèses modestes. » J'adorerais pouvoir utiliser le package moi-même.
la source