This is the companion code for the paper Nesting Particle Filters for Experimental Design in Dynamical Systems, written by Sahel Iqbal and Hany Abdulsamad. It implements
Julia needs to be installed. This has been tested with Julia v1.10. Clone the repo and move to this directory. From the Julia REPL, enter the following commands:
julia> ]
(@v...) pkg> activate .
(@v...) pkg> instantiate
The code to reproduce all of the experiments in the paper is given in the experiments
directory. All experiments were run on mid-tier laptop CPUs. As an example, to train a policy for the conditionally-linear stochastic pendulum, run experiments/pendulum/linear/trajectory_plot/io_csmc_sysid.jl
. If you do not wish to train, a trained policy is already available, and to plot a sample trajectory generated by the policy, run experiments/pendulum/linear/trajectory_plot/make_plot.jl
.
In our paper, we compare our method to implicit Deep Adaptive Design (iDAD) from Ivanova et. al. 2021 [2]. The code for that is available here.
@inproceedings{iqbal2024nesting,
title = {Nesting Particle Filters for Experimental Design in Dynamical Systems},
author = {Sahel Iqbal and Adrien Corenflos and Simo S{\"a}rkk{\"a} and Hany Abdulsamad},
booktitle = {International Conference on Machine Learning},
year = {2024}
}
- Chopin, N., Jacob, P. E., and Papaspiliopoulos, O. SMC^2: An efficient algorithm for sequential analysis of state space models. Journal of the Royal Statistical Society Series B: Statistical Methodology, 75(3):397–426, 2013.
- Ivanova, D. R., Foster, A., Kleinegesse, S., Gutmann, M., and Rainforth, T. Implicit deep adaptive design: Policy–based experimental design without likelihoods. In Advances in Neural Information Processing Systems. 2021.