Layer-by-layer unsupervised clustering of noisy time-series data
Complex systems are typically characterized by intricate internal dynamics that are often hard to elucidate. Ideally, this requires methods that allow to detect and classify in an unsupervised way the microscopic dynamical events occurring in the system. However, decoupling statistically relevant fluctuations from the internal noise remains most often non-trivial. I will describe “onion clustering”, a simple, iterative unsupervised clustering method that efficiently detects and classifies statistically relevant fluctuations in noisy time-series data. I will display its efficiency by analyzing simulation and experimental trajectories of various systems with complex internal dynamics, ranging from the atomic- to the microscopic-scale, in and out-of-equilibrium. The method is based on an iterative detect-classify-archive approach. In a similar way as peeling the external (evident) layer of an onion reveals the internal hidden ones, the method performs a first detection and classification of the most populated dynamical environment in the system and of its characteristic noise. The signal of such environment is then removed from the time-series data and the remaining part, cleared-out from its noise, is analyzed again. At every iteration, the detection of hidden domains is facilitated by an increasing (and adaptive) relevance-to-noise ratio. The process iterates until no new domains can be uncovered, revealing, as an output, the number of environments that can be effectively distinguished and classified in a statistically robust way as a function of the time-resolution of the analysis. Onion clustering is general and benefits from clear-cut physical interpretability.