Skip to main content
Log in

Exploring the latent segmentation space for the assessment of multiple change-point models

  • Original Paper
  • Published:
Computational Statistics Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

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

    MathSciNet  MATH  Google Scholar 

  • Braun JV, Müller H-G (1998) Statistical methods for DNA sequence segmentation. Stat Sci 13(2):142–162

    Article  MATH  Google Scholar 

  • Cappé O, Moulines E, Rydén T (2005) Inference in hidden Markov models. Springer Series in Statistics. Springer, New York

    Google Scholar 

  • Chib S (1998) Estimation and comparison of multiple change-point models. J Econom 86:221–241

    Google Scholar 

  • 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

    Article  MathSciNet  Google Scholar 

  • Fearnhead P (2006) Exact and efficient Bayesian inference for multiple changepoint problems. Stat Comput 16(2):203–213

    Article  MathSciNet  Google Scholar 

  • 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

    Google Scholar 

  • Green PJ (1995) Reversible jump Markov chain Monte Carlo computation and Bayesian model determination. Biometrika 82(4):711–732

    Article  MathSciNet  MATH  Google Scholar 

  • Guédon Y (2003) Estimating hidden semi-Markov chains from discrete sequences. J Comput Graph Stat 12(3):604–639

    Article  Google Scholar 

  • Guédon Y (2007) Exploring the state sequence space for hidden Markov and semi-Markov chains. Comput Stat Data Anal 51(5):2379–2409

    Article  MATH  Google Scholar 

  • 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

    Article  Google Scholar 

  • Guédon Y, Caraglio Y, Heuret P, Lebarbier E, Meredieu C (2007) Analyzing growth components in trees. J Theor Biol 248(3):418–447

    Article  Google Scholar 

  • Hawkins DM (2001) Fitting multiple change-point models to data. Comput Stat Data Anal 37(3):323–341

    Article  MathSciNet  MATH  Google Scholar 

  • Hawkins DM, Zamba KD (2005) Statistical process control for shifts in mean or variance using a changepoint formulation. Technometrics 47(2):164–173

    Article  MathSciNet  Google Scholar 

  • 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

    Article  Google Scholar 

  • Jarrett RG (1979) A note on the intervals between coal-mining disasters. Biometrika 66(1):191–193

    Article  Google Scholar 

  • Lavielle M (1998) Optimal segmentation of random processes. IEEE Trans Signal Process 46(5):1365–1373

    Article  Google Scholar 

  • Lavielle M (2005) Using penalized contrasts for the change-point problem. Signal Process 85(8):1501–1510

    Article  MATH  Google Scholar 

  • Lebarbier E (2005) Detecting multiple change-points in the mean of Gaussian process by model selection. Signal Process 85(4):717–736

    Article  MATH  Google Scholar 

  • Levinson SE (1986) Continuously variable duration hidden Markov models for automatic speech recognition. Comput Speech Lang 1:29–45

    Article  Google Scholar 

  • Liu JS, Lawrence CE (1999) Bayesian inference on biopolymer models. Bioinformatics 15:38–52

    Article  Google Scholar 

  • Ó Ruanaidh JJK, Fitzgerald WJ (1996) Numerical Bayesian methods applied to signal processing. Springer, New York

    Book  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Yann Guédon.

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

figure b

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

figure c

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

figure d

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

figure e

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

figure f

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

figure g

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00180-013-0422-9

Keywords

Navigation