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.
翻译:状态空间模型(SSMs)是时间序列分析中广泛使用的工具。在现实世界数据产生的复杂系统中,通常采用粒子滤波(PF)——一种用于估计与观测序列对应的隐状态的高效蒙特卡洛方法。应用粒子滤波需要指定系统的参数形式和参数,而这些参数通常是未知的,必须进行估计。基于梯度的优化技术无法直接应用于标准粒子滤波器,因为滤波器本身不可微分。然而,最近提出的几种方法通过修改重采样步骤,使粒子滤波变得可微分。本文基于流行的PyTorch框架,实现了几种此类可微分粒子滤波器(DPFs),并提供了统一的API。我们的实现使这些算法更易于被更广泛的研究社区访问,并促进了它们之间的直接比较。我们通过复现多项现有研究中的实验验证了该框架,并展示了如何应用DPFs来解决状态空间建模中的若干常见挑战。