amoretti86 / PSVO

Implementation of Particle Smoothing Variational Objectives
6 stars 1 forks source link
hidden-markov-models sequential-monte-carlo variational-inference

PSVO: Particle Smoothing Variational Objectives

This code provides a reference implementation of the Smoothing Variational Objectives (SVO) algorithms described in the publications:

SVO is written as an abstract class that reduces to two related variational inference methods for time series. As a reference, the AESMC and IWAE algorithms are implemented from the following publications:

Installation

The code is written in Python 3.6. The following dependencies are required:

To check out, run git@github.com:amoretti86/psvo.git

Usage

Running python runner_flags.py will find a two dimensional representation of the Fitzhugh-Nagumo dynamical system from one dimensional observations. The following figure provides the original dynamical system and trajectories along with the resulting inferred dynamics and trajectories from SVO.

Demo

Original Inferred
fhn fit