Abstract
This paper addresses the retrospective or off-line multiple change-point detection problem. Multiple change-point models are here viewed as latent structure models and the focus is on inference concerning the latent segmentation space. Methods for exploring the space of possible segmentations of a sequence for a fixed number of change points may be divided into two categories: (i) enumeration of segmentations, (ii) summary of the possible segmentations in change-point or segment profiles. Concerning the first category, a dynamic programming algorithm for computing the top \(N\) most probable segmentations is derived. Concerning the second category, a forward-backward dynamic programming algorithm and a smoothing-type forward-backward algorithm for computing two types of change-point and segment profiles are derived. The proposed methods are mainly useful for exploring the segmentation space for successive numbers of change points and provide a set of assessment tools for multiple change-point models that can be applied both in a non-Bayesian and a Bayesian framework. We show using examples that the proposed methods may help to compare alternative multiple change-point models (e.g. Gaussian model with piecewise constant variances or global variance), predict supplementary change points, highlight overestimation of the number of change points and summarize the uncertainty concerning the position of change points.
Similar content being viewed by others
References
Auger IE, Lawrence CE (1989) Algorithms for the optimal identification of segment neighborhoods. Bull Math Biol 51:39–54
Braun JV, Müller H-G (1998) Statistical methods for DNA sequence segmentation. Stat Sci 13(2):142–162
Cappé O, Moulines E, Rydén T (2005) Inference in hidden Markov models. Springer Series in Statistics. Springer, New York
Chib S (1998) Estimation and comparison of multiple change-point models. J Econom 86:221–241
Dobigeon N, Tourneret J-Y, Scargle JD (2007) Joint segmentation of multivariate astronomical time series: Bayesian sampling with a hierarchical model. IEEE Trans Signal Process 55(2):414–423
Fearnhead P (2006) Exact and efficient Bayesian inference for multiple changepoint problems. Stat Comput 16(2):203–213
Girón J, Moreno E, Casella G (2007) Objective Bayesian analysis of multiple changepoints for linear models. In: Bernardo JM, Bayarri MJ, Berger JO, Dawid AP, Heckerman D, Smith AFM, West M (eds) Bayesian statistics 8. Oxford University Press, Oxford, pp 1–27
Green PJ (1995) Reversible jump Markov chain Monte Carlo computation and Bayesian model determination. Biometrika 82(4):711–732
Guédon Y (2003) Estimating hidden semi-Markov chains from discrete sequences. J Comput Graph Stat 12(3):604–639
Guédon Y (2007) Exploring the state sequence space for hidden Markov and semi-Markov chains. Comput Stat Data Anal 51(5):2379–2409
Guédon Y (2008) Exploring the segmentation space for the assessment of multiple change-point models. INRIA, Research report RR-6619
Guédon Y, Barthélémy D, Caraglio Y, Costes E (2001) Pattern analysis in branching and axillary flowering sequences. J Theor Biol 212(4):481–520
Guédon Y, Caraglio Y, Heuret P, Lebarbier E, Meredieu C (2007) Analyzing growth components in trees. J Theor Biol 248(3):418–447
Hawkins DM (2001) Fitting multiple change-point models to data. Comput Stat Data Anal 37(3):323–341
Hawkins DM, Zamba KD (2005) Statistical process control for shifts in mean or variance using a changepoint formulation. Technometrics 47(2):164–173
Jackson B, Scargle JD, Barnes D, Arabhi S, Alt A, Gioumousis P, Gwin E, Sangtrakulcharoen P, Tan L, Tsai TT (2005) An algorithm for optimal partitioning of data on an interval. IEEE Signal Process Lett 12(2):105–108
Jarrett RG (1979) A note on the intervals between coal-mining disasters. Biometrika 66(1):191–193
Lavielle M (1998) Optimal segmentation of random processes. IEEE Trans Signal Process 46(5):1365–1373
Lavielle M (2005) Using penalized contrasts for the change-point problem. Signal Process 85(8):1501–1510
Lebarbier E (2005) Detecting multiple change-points in the mean of Gaussian process by model selection. Signal Process 85(4):717–736
Levinson SE (1986) Continuously variable duration hidden Markov models for automatic speech recognition. Comput Speech Lang 1:29–45
Liu JS, Lawrence CE (1999) Bayesian inference on biopolymer models. Bioinformatics 15:38–52
Ó Ruanaidh JJK, Fitzgerald WJ (1996) Numerical Bayesian methods applied to signal processing. Springer, New York
Picard F, Robin S, Lavielle M, Vaisse C, Daudin J-J (2005) A statistical approach for array CGH data analysis. BMC Bioinform 6(27)
Rigaill G, Lebarbier E, Robin S (2012) Exact posterior distributions and model selection criteria for multiple change-point detection problems. Stat Comput 22(4):917–929
Zhang NR, Siegmund DO (2007) A modified Bayes information criterion with applications to the analysis of comparative genomic hybridization data. Biometrics 63(1):22–32
Acknowledgments
The author thanks Yves Caraglio and Céline Meredieu for providing the Corsican pine data, Evelyne Costes for providing the apple tree data, Paul Fearnhead for his help for filtering the well-log data, Emilie Lebabier for applying different model selection criteria to the Corsican pine data and Jean-Michel Marin for helpful discussions.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A
Pseudo-code of the dynamic programming algorithm for computing the top \(N\) most probable segmentations in \(J\) segments
The following convention is adopted in the presentation of the pseudo-codes: The operator ‘\(:=\)’ denotes the assignment of a value to a variable (or the initialization of a variable with a value). The expression \(( t<T-1\;?\;J-2:J-1) \) is a shorthand for if \(t<T-1\) then \(J-2\) else \(J-1\). This convention applies to the three Appendices.
The working variables SegmentLogLikelihood\((u)\), Length\(_{j} ^{n}(t)\) and Rank\(_{j}^{n}(t)\) are introduced for this implementation. For each time \(t\), each segment \(j\) and each rank \(n\), two backpointers must be recorded, the first Length\(_{j}^{n}(t)\) giving the optimal length of the segment and the second Rank\(_{j}^{n}(t)\) giving the associated rank.
Forward recursion
In a first step, the log-likelihoods for segments ending at time \(t\), SegmentLogLikelihood\((u)\) are computed for each segment length. Then in a second step, the quantities \(\alpha _{j}^{n}( t)\) are computed for each segment \(j\) and each rank \(n\). The increasing number of segmentations for small values of \(t\) is taken into account by initializing at \(-\infty \) \(\alpha _{j}^{n}(t)\) for each segment \(j\) and for \(n=N_{j}(t)+1,\ldots ,N\). The quantities SegmentLogLikelihood\((u)\) should be stored for each time \(u\) while the quantities \(\alpha _{j}^{n}(t)\) and the backpointers Length\(_{j}^{n}(t)\) and Rank\(_{j}^{n}( t)\) should be stored for each time \(t\), each segment \(j\) and each rank \(n\).
Backtracking
Appendix B
Pseudo-code of the forward-backward dynamic programming algorithm
The working variables SegmentLogLikelihood\((u)\) and Output\(_{j}(t)\) are introduced for this implementation.
Forward recursion
In a first step, the log-likelihoods for segments ending at time \(t\), SegmentLogLikelihood\((u)\) are computed for each segment length. Then in a second step, the quantities \(\alpha _{j}(t)\) are computed for each segment \(j\). The quantities SegmentLogLikelihood\((u)\) should be stored for each time \(u\) while the quantities \(\alpha _{j}(t)\) should be stored for each time \(t\) and each segment \(j\).
Backward recursion
In a first step, the log-likelihoods for segments beginning at time \(t\), SegmentLogLikelihood\((u)\) are computed for each segment length. Then in a second step, the quantities \(\beta _{j}(t)\) are computed for each segment \(j\) and the quantities \(\gamma _{j}(t)\) are extracted in the case of the computation of segment profiles. The quantities SegmentLogLikelihood\((u)\) should be stored for each time \(u\) while the quantities \(\beta _{j}(t)\) and Output\(_{j}(t)\) should be stored for each time \(t\) and each segment \(j\).
Appendix C
Pseudo-code of the smoothing-type forward-backward algorithm
The working variables SegmentLikelihood\((u)\), Norm\((t)\), ForwardNorm\((t)\) and BackwardNorm\((t)\) are introduced for this implementation.
Forward recursion
The minimum segment index should be 0 instead of \(\max \{0,J-(T-t) \}\) for the transdimensional generalization.
In a first step, the log-likelihoods for segments ending at time \(t\), SegmentLikelihood\((u)\) are computed for each segment length; see Appendix B. Then in a second step, the quantities \(F_{j}(t)\) are computed for each segment \(j\). The variable SegmentNorm is used to compute \(\sum _{v=u}^{t-1}\log N_{v}\) for each \(u<t\). The quantities \(\sum _{u=0}^{t}\log N_{u}\) are stored in the auxiliary quantity ForwardNorm\((t)\) for each time \(t\) for use in the backward recursion. The quantities SegmentLikelihood\((u)\) should be stored for each time \(u\) while the quantities \(F_{j}(t)\) should be stored for each time \(t\) and each segment \(j\).
Backward recursion
The maximum segment index should be \(J-1\) instead of \(\min ( J-1,t)\) for the transdimensional generalization.
In a first step, the log-likelihoods for segments beginning at time \(t\), SegmentLikelihood\((u)\) are computed for each segment length; see Appendix B. Then in a second step, the quantities \(B_{j}(t) \) are computed for each segment \(j\). The variable SegmentNorm is used to compute \(\sum _{v=t+1}^{u}\log M_{v}\) for each \(u>t\). The quantities SegmentLikelihood\((u)\) should be stored for each time \(u\) while the quantities \(B_{j}(t)\) and Output\(_{j}(t)\) should be stored for each time \(t\) and each segment \(j\) and only the current quantity BackwardNorm\((t)\) should be stored.
Rights and permissions
About this article
Cite this article
Guédon, Y. Exploring the latent segmentation space for the assessment of multiple change-point models. Comput Stat 28, 2641–2678 (2013). https://doi.org/10.1007/s00180-013-0422-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00180-013-0422-9