Bayesian Probabilistic Numerical Methods in Time-Dependent State Estimation for Industrial Hydrocyclone Equipment
This repository contains the code for the paper Bayesian Probabilistic Numerical Methods in Time-Dependent State Estimation for Industrial Hydrocyclone Equipment (Chris J. Oates, Jon Cockayne, Robert G. Aykroyd, Mark Girolami) [arXiv
].
The code has been run on a python 3 install and has not been tested on python 2. Reproducing the experiments will require that the following standard python libraries are installed:
numpy
scipy
pandas
matplotlib
sympy
jupyter
pandas
In addition, the python libraries contained in the following git repositories must be installed:
With the above dependencies installed, nothing further needs to be installed to run the code.
All of the simulations are performed by Jupyter notebooks contained in the notebooks
subdirectory.
There are two main categories of notebook: those that perform simulations and those that process results.
The notebooks that perform simulations are:
- Hydrocyclone_Static_EIT: Runs a static recovery simulation for a fixed time point, using the preconditioned Crank-Nicholson algorithm to perform the MCMC. The temporal component is not considered.
- Hydrocyclone_Temporal_Recovery: Runs the full temporal recovery that was used to generate the bulk of the results in the paper.
The remaining notebooks are for results processing.
- Hydrocyclone_Results_Designs plots the experimental designs used to solve both forward and inverse problems.
- Hydrocyclone_Results_Static_Means plots the posterior mean and standard deviation.
- Hydrocyclone_Results_Static_PCs plots the posterior in principle component directions.
- Hydrocyclone_Results_Static_Variance plots the change in integrated standard deviation as a function of the forward solver resolution.
- Hydrocyclone_Results_Temporal plots the evolution of the posterior mean and integrated standard deviation over time.
-
Hydrocyclone_Results_Temporal_Lambdas examines the influence of the temporal smoothness parameter
$\lambda$ . - Hydrocyclone_Results_Temporal_PCs plots the posterior in principle component directions as of the final time point.
- Hydrocyclone_Results_Temporal_Variance shows the change in the integrated standard deviation at the final time point as a function of the number of design points.
The predominant factor in the run times is associated with the two notebooks that perform simulations (the result generation notebooks incur a negligible cost). These run times are dependent on the input parameters to the code and the hardware being used. For the timings reported here, a reasonably high-end Macbook Pro laptop was used. For a representative parameter set used in the paper, one complete run of Hydrocyclone_Static_EIT requires around 15 hours of compute time in total, while one complete run of Hydrocyclone_Temporal_Recovery requires around 26 hours of compute time in total.
The collection of the real tomographic data was supported by an EPSRC research grant (GR/R22148/01).