PyDPF: A Python Package for Differentiable Particle Filtering

John-Joseph Brady, Benjamin Cox, Yunpeng Li, Víctor Elvira
10/29/2025
eess.SPcs.LG

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

State-space models (SSMs) are a widely used tool in time series analysis. In the complex systems that arise from real-world data, it is common to employ particle filtering (PF), an efficient Monte Carlo method for estimating the hidden state corresponding to a sequence of observations. Applying particle filtering requires specifying both the parametric form and the parameters of the system, which are often unknown and must be estimated. Gradient-based optimisation techniques cannot be applied directly to standard particle filters, as the filters themselves are not differentiable. However, several recently proposed methods modify the resampling step to make particle filtering differentiable. In this paper, we present an implementation of several such differentiable particle filters (DPFs) with a unified API built on the popular PyTorch framework. Our implementation makes these algorithms easily accessible to a broader research community and facilitates straightforward comparison between them. We validate our framework by reproducing experiments from several existing studies and demonstrate how DPFs can be applied to address several common challenges with state space modelling.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{brady2025pydpf,
  title  = {PyDPF: A Python Package for Differentiable Particle Filtering},
  author = {John-Joseph Brady and Benjamin Cox and Yunpeng Li and Víctor Elvira},
  year   = {2025},
  eprint = {2510.25693},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2510.25693v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2510.25693.svg)](https://codeofpaper.com/paper/2510.25693)

Discussion