simsurace / FeedbackParticleFilters.jl

A Julia package that provides (feedback) particle filters for nonlinear stochastic filtering and data assimilation problems
MIT License
12 stars 2 forks source link

No noise model for observations. #10

Open JeroenOlieslagers opened 1 year ago

JeroenOlieslagers commented 1 year ago

Hi, This package is really nice and I work with particle filters a lot in my work (in the context of parameter learning). In Linear Gaussian models, there is a parameter degeneracy which is usually resolved by setting the diffusion term in the state model to the identity matrix (Roweis, S. and Ghahramani, Z. (1999) ‘A Unifying Review of Linear Gaussian Models’, Neural Computation, 11(2), pp. 305–345. Available at: https://doi.org/10.1162/089976699300016674.). This is supported in FPF.jl, but my problem is that I cannot specify a diffusion matrix for the observation model. I was wondering why there is such a limitation? Why not allow the user to specify the noise covariance for the observation model?

simsurace commented 1 year ago

Hi, thanks for your interest in this package. That's a really good question. It would be quite possible to add a measurement noise covariance matrix to the DiffusionObservationModel, and to extend the filtering algorithms accordingly (at least for non-singular matrices). I left it out for simplicity back when I wrote the package. If you'd like to make a PR for this, that'd be very welcome. One of these days I should overhaul this package, but I don't know when I will have time for this as I currently don't use these types of algorithms very much.