Giter Club home page Giter Club logo

Comments (6)

slinderman avatar slinderman commented on June 16, 2024 1

I like the simplification, both in code and in concepts! Great suggestion!

from dynamax.

AdrienCorenflos avatar AdrienCorenflos commented on June 16, 2024

Hi,

I see that you have been implementing UKF, EKF etc as fully different methods.
I have done some work of coding this in a more general fashion here: https://github.com/EEA-sensors/sqrt-parallel-smoothers/tree/main/parsmooth/linearization

It follows the "generalised statistical linear regression" formulation. See this for example: https://scholar.google.fi/citations?view_op=view_citation&hl=sv&user=q0rtB0EAAAAJ&citation_for_view=q0rtB0EAAAAJ:IjCSPb-OGe4C

Doing it in a similar fashion would IMO reduce boilerplate and allow for more precise testing than with fully independent implementations. WDYT?

The idea is fairly simple: if you have a model $x_t \sim p(\cdot \mid x_{t-1})$ for which you know the conditional first and second moments: $\mathbb{E}[x_t \mid x_{t-1}]$ and $\mathbb{C}[x_t \mid x_{t-1}]$, for example, if the transformation has additive noise, then you can form an approximate Gaussian model $x_t \approx N(\cdot; F_{t-1} x_{t-1} + b_{t-1}, Q_{t-1})$ by linearising the way you want, and then apply the Kalman equations.

from dynamax.

petergchang avatar petergchang commented on June 16, 2024

Hi Adrien! Thank you for your comment,

That's a great idea; we've an nlgssm folder that contains models and tests common to all non-linear Gaussian ssms, which has been ever-growing precisely because of the commonality that you mentioned.

Factoring out all but the linearization method is a great idea, @murphyk WDYT?

from dynamax.

murphyk avatar murphyk commented on June 16, 2024

Hi @AdrienCorenflos . I totally agree. I have actually rewritten my book chapter on SSM inference to use this more abstract formulation, and I think we should refactor the code to follow suit, since it is much more modular and elegant.

Here is the description of Kalman filtering in my new notation:

kf

Here is the corresponding version for EKF
ekf

and UKF
ukf

and finally the method you mentioned, which works with exponential family likelihoods using generalized statistical linear regression:

giplf

I will upload a new version of my full book shortly, which has all the details ;)

from dynamax.

murphyk avatar murphyk commented on June 16, 2024

I just uploaded the latest version of the book to https://github.com/probml/pml2-book/releases/tag/2022-07-13.
Please see sec 8.3-8.8 - I would love feedback.

from dynamax.

slinderman avatar slinderman commented on June 16, 2024

I think we can close this now that we've merged Peter's code.

from dynamax.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.