This code has been adapted from the software by
David Barber, Yali Wang
uploaded for their publication in ICML 2014:
David Barber, Yali Wang
“Gaussian Processes for Bayesian estimation in ordinary differential equations”
Proceedings of The 31st International Conference on Machine Learning,
Journal of Machine Learning Research - Workshop and Conference Proceedings
Volume 32, pp. 1485–1493, 2014
http://jmlr.org/proceedings/papers/v32/barber14.html
Code adapted by Benn Macdonald, for the simulations carried out in the paper:
Benn Macdonald, Catherine Higham, Dirk Husmeier
"Controversy in mechanistic modelling with Gaussian processes"
Proceedings of The 32nd International Conference on Machine Learning
Journal of Machine Learning Research - Workshop and Conference Proceedings
Volume 37, pp. 1539–1547, 2015
http://jmlr.org/proceedings/papers/v37/macdonald15.html
ISSN: 1938-7228
The compressed file contains:
runLV.m is the script that performs parameter estimation on the Lotka-Volterra system. Running this script locates and runs all necessary functions e.g. fitting the Gaussian process, performing the Gibbs sampling etc. Run this file to see an example of the code working.
FitGP.m fits the Gaussian process.
LV.m specifies the ordinary differential equations (ODEs) for the Lotka-Volterra system.
GPcov.m is the script specifying the covariance structure using the radial basis function (rbf) kernel.
dGPcov.m specifies the covariance structure between the GP and the GP gradients using the rbf kernel.
ddGPcov.m specifies the covariance structure between the GP gradients and the GP gradients using the rbf kernel.
GPcovSIG.m is the script specifying the covariance structure using the sigmoid variance kernel.
dGPcovSIG.m specifies the covariance structure between the GP and the GP gradients using the sigmoid variance kernel.
ddGPcovSIG.m specifies the covariance structure between the GP gradients and the GP gradients using the sigmoid variance kernel.
ode_ComGP_solveAGM.m contains the code to run the Gibbs sampling scheme using the method known as Adaptive Gradient Matching (AGM) - see "Controversy in mechanistic modelling with Gaussian processes" for details.
LV Noise 0.5 Dataset 1 contains an example dataset for the Lotka-Volterra system, with standard deviation of the Gaussian noise error 0.5.
All files contain comments to aid editing to different ODE systems or kernels.
Read through the runLV.m and fitGP.m files before running for first time.