This is an implementation of the methodology in "Population Monte Carlo with Normalizing Flow". The arXiv version is available at https://arxiv.org/pdf/2312.03857.pdf
To reproduce the results in the paper: choose 'example' and 'sigma_prop' for running different experiments with different settings, refer to our paper for the citations of the baseline algorithms
-
PMC:
python run_trials.py --num_trials 100 --example 'GMM'/'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'Resample' --resampling 'global' --weighting 'Standard'
-
GR-PMC:
python run_trials.py --num_trials 100 --example 'GMM'/'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'Resample' --resampling 'global' --weighting 'DM'
-
LR-PMC:
python run_trials.py --num_trials 100 --example 'GMM'/'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'Resample' --resampling 'local' --weighting 'DM'
-
SL-PMC:
python run_trials.py --num_trials 100 --example 'GMM'/'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'Langevin' --resampling 'local' --weighting 'DM'
-
O-PMC:
python run_trials.py --num_trials 100 --example 'GMM'/'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'Newton' --resampling 'local' --weighting 'DM'
-
GRAMIS:
python run_trials.py --num_trials 100 --example 'GMM'/'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'GRAMIS' --resampling 'local' --weighting 'DM'
-
HAIS (GMM):
python run_trials.py --num_trials 100 --example 'GMM' --sigma_prop 1.0/2.0/3.0 --adaptation 'HMC' --resampling 'local' --weighting 'DM' --L_hmc 50 --eps_hmc 0.005
-
HAIS (Logistic):
python run_trials.py --num_trials 100 --example 'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'HMC' --resampling 'local' --weighting 'DM' --L_hmc 50 --eps_hmc 0.05
-
VAPIS (GMM):
python run_trials.py --num_trials 100 --example 'GMM' --sigma_prop 1.0/2.0/3.0 --adaptation 'VAPIS' --resampling 'local' --weighting 'DM' --lr_vi 0.25
-
VAPIS (Logistic):
python run_trials.py --num_trials 100 --example 'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'VAPIS' --resampling 'local' --weighting 'DM' --lr_vi 0.5
-
NF-PMC (GMM) (ours):
python run_trials.py --num_trials 100 --example 'GMM' --sigma_prop 1.0/2.0/3.0 --adaptation 'NF' --resampling 'local' --weighting 'DM' --lr_nf 0.005 --step_nf 25 --gamma 0.1
-
NF-PMC (Logistic) (ours):
python run_trials.py --num_trials 100 --example 'Logistic' --sigma_prop 1.0/2.0/3.0 --adaptation 'NF' --resampling 'local' --weighting 'DM' --lr_nf 0.05 --step_nf 25 --gamma 0.1
Then the results will be saved in the ./results
.
Run python calculate_error.py
See requirements.txt
Please cite our paper if you use this code in your work:
@article{pal2023,
author={S. Pal and A. Valkanas and M. Coates},
journal={IEEE Sig. Process. Lett.},
title={{Population Monte Carlo} with Normalizing Flow},
month={},
year={2023}}