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, 711-732. If you download the files, please send a message to me at ![]()
Instructions (also included among the downloaded files) This is a brief description of how to use the Fortran program cpt, that implements the multiple change-point 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 unix-like programming environment, and in particular the commands in Makefile assume GNU compilers gcc and g77. Such details are easily changed for other unix-like 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 dimension-jumping 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 equi-spaced 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 non-commercial research purposes.
Please report any problems with the code to the author, Peter Green, via
Email link
|