How to automatically segment multidimensional data?

How to partition the time-series multidimensional data in the figure below into segments using an unsupervised algorithm, so that the information within the same segment remains consistent, while the information in adjacent segments differs? Note that the algorithm should be adaptive because we do not know how many segments each time-series data should be divided into.

The data can be found here.

Topic non-parametric time-series

Category Data Science

About

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