# Dynamical time warping for dynamical system classification

I am trying to find a way to classify and segment a large set of time series that each individually describe a dynamical system. I wanted to know if the following idea for doing so is a feasible method. If I used a dynamic time warping based clustering method to segment the set of time series into separate clusters, would those clusters tend to be the same in a topological sense? (i.e. they each describe dynamical systems that have the same number of attractors with the same stability types?)

I don't need perfect classification accuracy, but my assumption for trying it is that since the dynamic time warping is able to match out of phase time series, that this would still be able to detect the type of dynamical system occurring even if they are out of phase and have different initial conditions. Apologies in advance if this is poorly worded. Let me know if there are any unclear points.

Edit:

Apologies, I should have been more specific. My initial idea was to apply this to primarily periodic, non linear dynamical systems with two degrees of freedom, with each time series lasting for well over the time it would take for a point to traverse around the trajectory it is on. I expect that there will be both damping and some driving force. There is stochastic noise as well. I am not sure at this point whether it would be iid white noise or not. In this case, I don't necessarily care about the bifucations/paramater based changes in the attractors themselves, but rather just that, given a dynamical system with a certain number and type of attractors, can I cluster it into groups that also have the same number and type of attractors? I don't wish to make this too open ended, but are there other techniques that would be superior to this approach? I know a little about delayed embedding algorithms for system reconstruction, and presumably I could use this to sort them into groups, but beyond that, I am pretty limited still regarding approaches.

• This sounds like a hard problem, but if you know the list of possible governing ODEs (that is, you know specifically the types of non-linearities that might occur) and error models, then you could specify a probability model class for each of them and use Bayesian model selection. This would tell you, for example, {P(duffing|data)=10^-6, P(lorenz|data)=10^-10, P(linear|data)=10^-5}. You can conclude that the linear model best explains the data. Lots of subtleties to it that you'd need to google. – Salmonstrikes Feb 6 '16 at 23:05
• Apologies for the delay in responding. That is a very interesting approach. I am working with data that has been looked at before, so that seems like a workable approach in that I can narrow down the possible outcomes to a known subset of possible outcomes. Thank you very much. – JonS Feb 9 '16 at 2:20

If I used a dynamic time warping based clustering method to segment the set of time series into separate clusters, would those clusters tend to be the same in a topological sense? (i.e. they each describe dynamical systems that have the same number of attractors with the same stability types?)

Unless you restrict yourself to a very narrow range of dynamical systems: No. And if you make that restriction, there are far easier ways of classifying your dynamics.

The only thing you can expect to separate are fixed points from periodic time series from chaotic and noise-dominated time series and there are easier and more robust ways to separate those. A subcategorisation as you want it will be problematic for the following reasons:

• Fixed-point time series do not give you any information to begin with. All you have is noise kicking the system away from the fixed point and the dynamics bringing it back. You cannot make any reasonable statement of what else there might be in your system. (Of course your noise might be strong enough to kick the system to another attractor, but then you can only observe noise.)

• Periodic time series can look anything from sinusoidal over sawtooth-like to complex mixed-mode oscillations. But what you get is only mildly correlated to your phase-space topology. If your only invariant set is a limit cycle, the time series may still take all sort of forms.

• Chaotic time series will be like noise to your approach and finding anything else about the phase space is nigh impossible just from the time series. Moreover, even with techniques aimed at this, it is very difficult to separate chaotic time series from noise.

(Writing in the answers section since I cannot comment yet) A couple of points and sanity checks:

• Are you dealing with linear dynamical systems? Even the simplest non-linear ones, such as the Duffing oscillator, can exhibit extreme sensitivity to initial conditions and a time-series analysis involving initial conditions would not be the way to go.

• For linear dynamical systems (LDS), some aspects of the governing "physics" are important in determining its trajectory: initial conditions, forcing, damping and error. For example, the steady-state solution of a sinusoidally forced linear oscillator can be indistinguishable from the undamped free-vibration of another: both have the form $x(t)=x_0 \sin(\omega t + \phi)$.

It would be best if you could answer the following questions to help both yourself and readers with the problem:

1. What sort of time-series data are you looking at? Financial, electromechanical, molecular, astronomical, speech/acoustic or other? Each domain has its own relative scales of numbers, complexity and wisdom in getting to solutions.
2. Could any of your systems be non-linear? Or are you comparing different linear dynamical systems?
3. How many degrees of freedom does each have (what is the size of your state-space vector)? In other words, how many series do you need to describe one system?
4. Do you expect forcing in your dynamical systems or are they autonomous? If forced, do you have a periodic force and steady-state data or just data from a transient excitation?
5. Do you expect damping or dissipation in your dynamical systems?
6. Can you roughly quantify the error in your time-series signals? This might happen if you have real data where there is a significant measurement error involved.

As for the machine learning aspect, could you elaborate a little on what this clustering/segmenting step is?

I do not think it would be easy to distinguish between completely arbitrary dynamical systems. It might be possible if you make certain assumptions: perhaps that they are all linear and / or autonomous (unforced).