Я ищу простой пример кода для того, как запустить Particle Filter в R. Пакет pomp, кажется, поддерживает математический бит пространства состояний, но примеры являются немного сложными, чтобы следовать программно для простого разработчика OO, такого как я, особенно как загрузить наблюдаемые данные в объект помпы.
Допустим, у меня есть CSV-файл с 1 столбцом зашумленных данных в качестве входных данных, и я хотел бы запустить его через фильтр частиц, чтобы, надеюсь, очистить его с выходными данными, являющимися оценками, в другой CSV-файл.
y <- read.csv("C:/Dev/VeryCleverStatArb/inputData.csv", header=FALSE)
#CSV to Pomp object ???
#Run Particle Filter
#Write estimates to csv.
Основная трудность с примерами заключается в загрузке данных CSV в объект помпы.
Очень простая модель пространства состояний должна быть достаточно хорошей на данный момент.
Есть идеи для R-любопытных?
Ответы:
РЕДАКТИРОВАТЬ: Кажется, что большинство пакетов фильтров частиц уже нет. Тем не менее, я играл с LaplacesDemon (байесовский пакет MCMC), и у него есть функция PMC (Population Monte Carlo), которая реализует PMC, который является типом фильтра частиц. Может быть, слишком много оборудования для быстрой фильтрации частиц, но пакет стоит изучить.
Вы можете найти пакет и учебные пособия на CRAN .
ОРИГИНАЛ: Честно говоря, в простейшем случае
pomp
его трудно использовать. Он очень гибкий для всего, что вы можете захотеть сделать, но это все равно, что использовать космический корабль, чтобы пойти в продуктовый магазин.Вы пробовали смотреть на фильтры Калмана (если ваши данные могут удовлетворять предположениям фильтра Калмана), включая базовые функции
tsSmooth
иStructTS
(только одномерные), и пакетdlm
? Я также взглянул быloess
и на других сглаживателей.Я надеюсь , что я ошибаюсь , и кто - то хмель здесь с быстрым, «Вот как это сделать для простых одномерных данных , таких , как у вас с некоторыми скромными предположениями.» Я хотел бы иметь возможность использовать пакет самостоятельно.
источник