PJG Home / Software Cpt a program for Bayesian multiple change point analysis for point processes, implementing the approach ofGreen, P. J. (1995) Reversible jump Markov chain Monte Carlo computation and Bayesian model determination, Biometrika, 82, 711732. If you download the files, please send a message to me at , with your email address and any comments. I can then keep you informed of any updates.
Instructions (also included among the downloaded files) This is a brief description of how to use the Fortran program cpt, that implements the multiple changepoint analysis for point processes described in Green, P. J. (1995) Reversible jump Markov chain Monte Carlo computation and Bayesian model determination, Biometrika, 82, 711732. The code and some auxiliary files, including the coal disaster data set, are all in the accompanying .zip file The files are: cpt.f (main program) dummy_ieee_chk.f ) rgamma.f ) auxiliary sd.c ) routines algama.f ) Makefile (instruction file for make) coal.dat (data) info.txt (this file) It is designed for a unixlike programming environment, and in particular the commands in Makefile assume GNU compilers gcc and g77. Such details are easily changed for other unixlike systems. The progam takes a single input data file (with extension .dat) together with control parameters specified on the command line invoking the program, in unix style. These parameters include nN MCMC run length (default 10000) nbN length of burnin (default #sweeps/10) nsN sampling interval for selected parameters (default #sweeps/1000) aN set value for alpha, default 1.0 (a zero value gives alpha a Gamma(c,d) hyperprior, with c and d set by c and d options below bN set value for beta, default L/n (a zero value gives beta a Gamma(e,f) hyperprior, with e and f set by e and f options below cN )  default 2.0 dN ) see aN and  default 2.0 eN ) bN above  default 1.0 fN )  default n/L lN lambda seedN (integer) random number seed (0 implies use clock time) kiN initial value for k (number of steps) fix suppress dimensionjumping moves where N is a suitable numerical value for each parameter, and n is the number of data points and L the length of the observation interval. There should be one further parameter  the data file name (without the .dat extension). The program's output goes into (up to) 7 files in a directory with the same name as the data file (without the .dat extension). Each filename is prefixed by M. where M is the run number (sequentially up through 1, 2, ...). These files are: M.log record of parameters and MCMC performance M.av posterior mean of x(t) on an equispaced grid of t values M.pos samples of step positions M.ht samples of step heights M.k samples of numbers of steps M.alpha samples of alpha (only written if alpha is variable) M.beta samples of beta (only written if beta is variable) (The last 5 are based on thinning the whole run on the basis of the ns parameter.) Example of compilation and run ~/Research/cpt $ make g77 c o cpt.o cpt.f g77 c o algama.o algama.f g77 c o rgamma.o rgamma.f gcc c sd.c DSUNF DRETS g77 c o dummy_ieee_chk.o dummy_ieee_chk.f g77 o cpt.exe cpt.o algama.o rgamma.o sd.o dummy_ieee_chk.o ~/Research/cpt $ mkdir coal ~/Research/cpt $ cpt n200000 coal a0 coal/1: c:\home\Research\cpt\cpt.exe n200000 coal a0 random number seed: 1071764783 alpha Gamma: 2.00 2.00 beta 214.1728 lambda 3.0000 seed 1071764783 nsweep 200000 nburnin 20000 acc try death 17413 87990 birth 17414 78605 ht 103153 200000 pos 40584 200000 alpha 160195 200000 total acceptances 338759 mean k 3.1588 mean alpha 1.0742 ~/Research/cpt $ ls coal 1.alpha 1.av 1.ht 1.k 1.log 1.pos Cpt is free of charge for educational and noncommercial research purposes.
Please report any problems with the code to the author, Peter Green, via
Email link
