What is an efficient clustering approach for grouping multivariate timeseries data into optimally persistent states?

I have a length 200000 time series of six dimensional data describing the evolution of a chaotic dynamical system. I am exploring ways to partition the state space of the data into minimally interacting regions; I want the least transitions from cluster to another in my time series. Other than not being interested in the trivial case of only 1 cluster I have no restrictions on cluster number though I expect it to be small (K6 say). The purpose of this is to try and identify quasi-stable basins of attraction in the chaotic system.

I have tried Hidden Markov Models with both Gaussian and Gaussian Mixture emissions, but they do not well capture the very non-gaussian structure of my data in phase space. I have also tried using DBSCAN with some success but since it didnt treat data as a time series, the parameters had to be very carefully tuned to get good results, which left me dissatisfied.

Do any other approaches leap to mind?

Topic time-series clustering machine-learning

Category Data Science


You can trivially modify DBSCAN (see GDBSCAN) to take time into account rather than dropping the precious time information.

I.e. neighbors are those points that are within a time difference of dt, and that have a minimum similarity.

Apart from that, classic "change in mean" analysis techniques for time series come to my mind. Maybe also changepoint detection.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.