Is there any clustering methods that allows to take the time information (i.e. data order) into account ? That is, in addition to maximising intra-cluster similarity and minimising inter-cluster similarity, one could also maximise the "average time spent within a cluster" (or minimise "frequency of cluster changes"). I don't know how to do that since time (or data order) is not a spacial dimension.

As an a simple illustrative example, if we consider two clusters and we have three equally distant data points, then the two clusters may look differently depending on the order:

AAAAAABCBACBCCBBCB ===> We might want to group points A in the same cluster and points B,C in the other cluster

ABABABABAABCCCACCCCC ==> We might want to group points A,B in the same cluster and points C in the other cluster

  • $\begingroup$ You can use time as one of the variables taken into consideration in clustering, see this example: stats.stackexchange.com/questions/182232/… (it also discusses possible pitfails) $\endgroup$
    – Tim
    Commented Mar 8, 2016 at 15:18

2 Answers 2


Time-based clustering methods are beginning to get the attention they deserve. They can be distinguished based on whether or not they are moment-based vs non-moment based. Here are a few references:

Moment methods based on global statistics: Rob Hyndman's paper Dimension Reduction for Clustering Time Series Using Global Characteristics available here: http://www.robjhyndman.com/papers/wang2.pdf

Moment methods based on hidden markov models: Steve Scott's papers, e.g., Hidden Markov Models for Longitudinal Comparisons available here: https://sites.google.com/site/stevethebayesian/googlepageforstevenlscott/home

Oded Netzer's paper A Hidden Markov Model of Customer Relationship Dynamics available here: https://www0.gsb.columbia.edu/mygsb/faculty/research/pubfiles/2618/HMM%20of%20Customer%20Relationship%20Dynamics.pdf

Non-moment based methods, which are typically rooted in complexity and information theory:

Andreas Brandmaier's permutation distribution clustering, as well as his R modules, pdc: An R Package for Complexity-Based Clustering of Time Series available here: https://cran.r-project.org/web/packages/pdc/pdc.pdf

For an excellent overview of time series clustering that is now a few years old see Aggarwal and Reddy's book Data Clustering http://www.amazon.com/Data-Clustering-Algorithms-Applications-Knowledge/dp/1466558210/ref=sr_1_1?ie=UTF8&qid=1457449361&sr=8-1&keywords=reddy+data+clustering


You can use dynamic time wrapping distance function with hierarchical clustering algorithm. Here are some links:


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.