Tuesday, October 21, 2025

waste-free SMC, Fortran dependency eliminated, binary areas – Statisfaction


I’ve simply launched model 0.3 of particles (my Python Sequential Monte Carlo library). Listed below are the primary modifications:

Earlier variations of particles relied on a little bit of Fortran code to provide QMC (quasi-Monte Carlo) factors. This code was routinely compiled throughout the set up. This was working wonderful for many customers, however not all, sadly.

The newest (1.7) model of Scipy features a stats.qmc sub-module. Particles 0.3 depends on this sub-module to generate QMC factors, and thus is a pure Python bundle. This could imply fewer complications when putting in particles. Please let me know if this new model is certainly simpler to put in for you. In fact, be sure you have up to date Scipy earlier than putting in particles; e.g. conda replace scipy in case you are utilizing conda.

With Dang, we wrote a paper on a brand new class of SMC samplers, waste-free SMC; see this paper on arxiv (to be revealed quickly in JRSSB). Specifically, the brand new model describes a selected state of affairs the place it’s potential to point out formally that waste-free SMC >> normal SMC (within the sense of decrease asymptotic variance).

The module smc_samplers now implements waste-free SMC by default (however normal SMC continues to be accessible, by way of choice wastefree=False). Test the next pocket book to see how you can run an SMC sampler in particles.

The brand new module binary_smc implements SMC samplers for binary areas, i.e. {0, 1}^d, following Chopin and Schäfer (2014).

The bundle now features a folder referred to as “papers”, which accommodates scripts that reproduce chosen numerical experiments from earlier papers:

  • scripts in sub-folder binarySMC reproduce a lot of the numerical experiments from Schäfer and Chopin (2014).
  • a script in sub-folder wastefreeSMC reproduces the primary numerical experiment of Dau & Chopin (2020) on logistic regression. (See Dang’s github repo for the opposite experiments.)
  • Added a brand new resampling scheme, referred to as killing (which can be traced to papers and work by Pierre del Ethical).
  • Added a tutorial pocket book on how you can outline non-trivial state-space fashions.

If you wish to strive particles, the very first thing to learn is the pocket book tutorials. Second factor is to learn the documentation of the respective modules. If you’re nonetheless misplaced, be happy to boost a problem on github (or ship me an e-mail, however github points are extra sensible).

Related Articles

Latest Articles