ctsmod: A Bayesian method for the analysis of deterministic and stochastic time series

ctsmod is a Bayesian method for modelling univariate time series data assumed to be drawn from a continuous, stochastic process. The method accommodates arbitrary temporal sampling, and takes into account measurement uncertainties for arbitrary error models (not just Gaussian) on both the time and signal variables. Any model for the deterministic component of the variation of the signal with time is supported, as is any model of the stochastic component on the signal and time variables. Models illustrated here are constant, linear, sigmoidal, sinusoidal and quasi-sinusoidal models for the signal mean (and combinations thereof) combined with a Gaussian stochastic component, as well as purely stochastic models, the Wiener process and Ornstein-Uhlenbeck process. The posterior probability distribution over model parameters is determined via MCMC (Metropolis, parallel tempering or emcee). Models can be compared using the evidence or the ``cross-validation likelihood'', in which the posterior-averaged likelihood for different partitions of the data are summed. In principle this is more robust to changes in the prior than is the evidence (the prior-averaged likelihood).

ctsmod is described in the following refereed article and technical note

ctsmod is implemented in R and the software is available for download below. This is research software, not commercial software, and no warranty is given about its reliability. While there is some documentation in the above technical note and in the code itself, I do not claim that it is particularly user-friendly. You are free to use the code for non-commercial, non-profit purposes: I am releasing the software under a Creative Commons licence agreement (see below). I am happy to help out where possible, and am interested in collaborative projects. Please cite the above A&A paper in any publication which makes use of the code.

Return to my homepage.


Coryn Bailer-Jones, calj at mpia-hd.mpg.de
Last modified: 24 October 2015