A Particle Markov Chain Monte Carlo Approach to Inference in Transient Surface Kinetics [Under Review]
In this paper, we propose a PMCMC sampler to infer the kinetics of the adsorption and desorption of carbon monoxide (CO) on a palladium (Pd(111)) crystal. Although it is a system of only 2 molecular species, its complications arise from several possible adsorption sites, and incredibly fast adsorption occurence. We use fast-scanning temporal infrared spectroscopy (IR) data, from which we obtain a time-series of the area under the spectrum and take that area as the input to our PMCMC sampler.
The system comes with several physical constraints which we incorporate as mathematical constraints in our proposed modeling and approach. We propose a model of 4 regions which naturally occur based on physical system and experimental design.
From the sampler, we directly infer:
Indirectly from the sampler:
The kinetic parameters
Note: Unfortunately at this time we do not publish the data we use (we will in the near future). However, we do provide the structure of the code for the readers interested in the implementation.
main_PMCMC.m - the main script which runs the proposed PMCMC sampler for a user-specified temperature.
approach1.m - a script that reproduces the estimation of the Ea and lnA for all regions based on Approach 1 described in the paper.
approach2.m - a script that reproduces the estimation of the Ea and lnA for all regions based on Approach 2 described in the paper.
monte_carlo/pf_chem.m - the particle filter to estimate the coverages (hidden states) from the data (area).
util/beta_random.m - a function that samples from the Beta distribution with a specified mean, and a fixed alpha prior.
util/compute_weights.m - a function that computes the weights inside the particle filter.
monte_carlo/MH14.m - the metropolis-hastings algorithm for the parameters in region 1 and 4.
monte_carlo/MH23.m - the metropolis-hastings algorithm for the parameters in region 2 and 3.
util/compute_Ea.m - a function to compute the activation energy and pre-exponential factor for given rate parameter and temperature inputs.
util/plotting.m - a script for formatting plots for the paper.