Statistics > Computation
[Submitted on 21 Nov 2022 (v1), last revised 24 Aug 2023 (this version, v2)]
Title:Improving multiple-try Metropolis with local balancing
View PDFAbstract:Multiple-try Metropolis (MTM) is a popular Markov chain Monte Carlo method with the appealing feature of being amenable to parallel computing. At each iteration, it samples several candidates for the next state of the Markov chain and randomly selects one of them based on a weight function. The canonical weight function is proportional to the target density. We show both theoretically and empirically that this weight function induces pathological behaviours in high dimensions, especially during the convergence phase. We propose to instead use weight functions akin to the locally-balanced proposal distributions of Zanella (2020), thus yielding MTM algorithms that do not exhibit those pathological behaviours. To theoretically analyse these algorithms, we study the high-dimensional performance of ideal schemes that can be thought of as MTM algorithms which sample an infinite number of candidates at each iteration, as well as the discrepancy between such schemes and the MTM algorithms which sample a finite number of candidates. Our analysis unveils a strong distinction between the convergence and stationary phases: in the former, local balancing is crucial and effective to achieve fast convergence, while in the latter, the canonical and novel weight functions yield similar performance. Numerical experiments include an application in precision medicine involving a computationally-expensive forward model, which makes the use of parallel computing within MTM iterations beneficial.
Submission history
From: Philippe Gagnon [view email][v1] Mon, 21 Nov 2022 16:14:17 UTC (709 KB)
[v2] Thu, 24 Aug 2023 01:04:03 UTC (724 KB)
Ancillary-file links:
Ancillary files (details):
- code/Section_3_1.R
- code/Section_3_2/MTM_adaptive_conv_times_boxplots.R
- code/Section_3_2/MTM_adaptive_conv_traceplots.R
- code/Section_3_2/MTM_single_run_adapt.R
- code/Section_3_2/MTM_single_run_adapt_conv_time.R
- code/Section_3_2/exponential_target.R
- code/Section_3_2/functions_for_MTM.R
- code/Section_3_2/gaussian_target.R
- code/Section_3_2/student_t_target.R
- code/Section_4_1.R
- code/Section_4_3.R
- code/Section_5/Code_Section5/Commands_sim_original_params.m
- code/Section_5/Code_Section5/MTM_barker_adap_diag.m
- code/Section_5/Code_Section5/MTM_glob_adap_diag.m
- code/Section_5/Code_Section5/MTM_sqrt_adap_diag.m
- code/Section_5/Code_Section5/data_20220606.mat
- code/Section_5/Code_Section5/evalLogPost.m
- code/Section_5/Code_Section5/model_solver_primer_number_KCP.m
- code/Section_5/Code_Section5/pairs.m
- code/Section_5/Code_Section5/sim_MTM_barker_adap.m
- code/Section_5/Code_Section5/sim_MTM_glob_adap.m
- code/Section_5/Code_Section5/sim_MTM_sqrt_adap.m
- code/Section_5/Code_Section5/solveODE.m
- code/Section_5/Code_Section5/start_point5.mat
- code/Section_5/Code_Section5/start_stat_point.mat
- code/Section_5/Code_Section5/translateToParam.m
Current browse context:
stat.CO
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.