Bộ lọc hạt trong R - ví dụ mã tầm thường


9

Tôi đang tìm một ví dụ mã đơn giản về cách chạy Bộ lọc hạt trong R. Gói pomp dường như hỗ trợ bit toán không gian trạng thái, nhưng các ví dụ này hơi khó để theo dõi lập trình cho một nhà phát triển OO đơn giản như tôi, đặc biệt là làm thế nào để tải dữ liệu quan sát vào một đối tượng pomp.

Hãy nói rằng tôi có tệp csv với 1 cột dữ liệu nhiễu làm đầu vào và tôi muốn chạy nó qua Bộ lọc hạt để hy vọng làm sạch nó, với đầu ra là ước tính, cho tệp csv khác.

 y <- read.csv("C:/Dev/VeryCleverStatArb/inputData.csv", header=FALSE)
 #CSV to Pomp object ???
 #Run Particle Filter
 #Write estimates to csv.

Khó khăn chính với các ví dụ là tải dữ liệu csv vào một đối tượng pomp.

Một mô hình không gian trạng thái rất đơn giản nên đủ tốt cho bây giờ.

Bất kỳ ý tưởng cho R-tò mò?


Điều này có thể hữu ích cho bất kỳ ai xem xét giao dịch cặp hoặc giao dịch thuật toán nói chung, trong đó đây là mối quan hệ kinh tế được bao quanh bởi tiếng ồn.

IMHO tốt hơn hết là bạn nên tự mã hóa bộ lọc ...
Dr G

Tuyệt vời! Các mẫu / mẹo / con trỏ cho mọi người xem này? Một giải pháp thay thế tốt hơn là không có giải pháp.
dùng1180428

@ user1180428: Tôi đã chỉnh sửa câu trả lời của mình, giờ đây có thể cung cấp giải pháp thay thế khả dĩ cho bạn.
Wayne

Câu trả lời:


1

EDIT: Có vẻ như hầu hết các gói bộ lọc hạt đã biến mất. Tuy nhiên, tôi đã chơi với LapftimeDemon (gói MCMC của Bayes) và nó có chức năng PMC (Dân số Monte Carlo) thực hiện PMC, một loại bộ lọc hạt. Có thể quá nhiều máy móc cho một loại bộ lọc hạt nhanh, nhưng một gói cũng đáng học hỏi.

Bạn có thể tìm thấy gói và hướng dẫn tại CRAN .

NGUỒN GỐC: Thành thật mà nói, trong trường hợp đơn giản nhất, pompkhó sử dụng. Nó rất linh hoạt cho bất cứ điều gì bạn có thể muốn làm, nhưng nó giống như sử dụng một con tàu không gian để đi đến cửa hàng tạp hóa.

Bạn đã thử xem các bộ lọc Kalman (nếu dữ liệu của bạn có thể đáp ứng các giả định của bộ lọc Kalman), bao gồm các hàm cơ bản tsSmoothStructTS(chỉ đơn biến) và gói dlm? Tôi cũng sẽ xem xét loessvà các chất làm mịn khác.

Tôi hy vọng tôi đã sai và ai đó nhảy vào đây nhanh chóng, "Đây là cách thực hiện đối với dữ liệu đơn biến đơn giản như bạn có với một số giả định khiêm tốn." Tôi rất thích có thể tự mình sử dụng gói.


1
Đã bị hack đó. Thật không may, một đường trung bình đơn giản dường như tạo ra tín hiệu có thể sử dụng tốt hơn bộ lọc Kalman trong điều này và nhiều ví dụ khác - Kalman: link , SMA: link Dữ liệu đứng yên, cho đến nay là Dickey Fuller p <0,01. Có lẽ tôi đang làm sai. Một tập lệnh để chạy bộ lọc hạt trên dữ liệu này và các cặp ứng viên giao dịch khác sẽ rất tuyệt vời (tôi nghĩ vậy).
dùng1180428
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.