Szukam prostego przykładu kodu, w jaki sposób uruchomić filtr cząstek w R. Wydaje się, że pakiet pomp obsługuje bit matematyki w przestrzeni stanów, ale przykłady są nieco trudne do zaprogramowania dla prostego programisty OO, takiego jak ja, szczególnie jak załadować obserwowane dane do obiektu typu pomp.
Powiedzmy, że mam plik csv z 1 kolumną zaszumionych danych jako danych wejściowych i chciałbym uruchomić go przez filtr cząstek, aby, mam nadzieję, wyczyścić go, a dane wyjściowe są szacunkami, do innego pliku csv.
y <- read.csv("C:/Dev/VeryCleverStatArb/inputData.csv", header=FALSE)
#CSV to Pomp object ???
#Run Particle Filter
#Write estimates to csv.
Główną trudnością związaną z przykładami jest ładowanie danych csv do obiektu typu pomp.
Bardzo prosty model przestrzeni stanów powinien być na razie wystarczający.
Jakieś pomysły na R-ciekawy?
Odpowiedzi:
EDYCJA: Wygląda na to, że większość pakietów filtrów cząstek już nie ma. Jednak gram z LaplacesDemon (pakiet Bayesian MCMC) i ma on funkcję PMC (Population Monte Carlo), która implementuje PMC, który jest rodzajem filtra cząstek. Może za dużo maszyn na coś w rodzaju szybkiego filtra cząstek, ale pakiet warty nauczenia się.
Pakiet i samouczki można znaleźć w CRAN .
ORYGINAŁ: Szczerze mówiąc, w najprostszym przypadku
pomp
jest trudny w użyciu. Jest bardzo elastyczny na wszystko, co chcesz zrobić, ale to tak, jakby za pomocą statku kosmicznego udać się do sklepu spożywczego.Czy próbowałeś już spojrzeć na filtry Kalmana (jeśli twoje dane mogą spełniać założenia filtru Kalmana), w tym funkcje podstawowe
tsSmooth
iStructTS
(tylko jednowymiarowe) oraz pakietdlm
? Rzuciłbym również okiemloess
i inne wygładzacze.Mam nadzieję , że się mylę i ktoś przeskakuje tutaj szybko: „Oto jak to zrobić dla prostych danych jednowymiarowych, takich jak masz przy skromnych założeniach”. Chciałbym móc sam korzystać z tego pakietu.
źródło