Each observation in my data was collected with a difference of 0.1 seconds. I don't call it a time series because it don't have a date and time stamp. In the examples of clustering algorithms (I found online) and PCA the sample data have 1 observation per case and are not timed. But my data have hundreds of observations collected every 0.1 seconds per vehicle and there are many vehicles.

Note: I have asked this question on quora as well.

  • 1
    $\begingroup$ Please note the language. Your question is totally unclear. What does "the sample data have 1 observation per case and are not timed" mean? $\endgroup$ – Kasra Manshaei May 30 '15 at 13:31
  • 1
    $\begingroup$ I was talking about the examples I found in online tutorials. The sample data they use have only 1 observation per case / individual (e.g. customer, country, etc). And those data are not time series. $\endgroup$ – umair durrani May 30 '15 at 20:07

What you have is a sequence of events according to time so do not hesitate to call it Time Series!

Clustering in time series has 2 different meanings:

  1. Segmentation of time series i.e. you want to segment an individual time series into different time intervals according to internal similarities.
  2. Time series clustering i.e. you have several time series and you want to find different clusters according to similarities between them.

I assume you mean the second one and here is my suggestion:

You have many vehicles and many observations per vehicle i.e you have many vehicles. So you have several matrices (each vehicle is a matrix) and each matrix contains N rows (Nr of observations) and T columns (time points). One suggestion could be applying PCA to each matrix to reduce the dimenssionality and observing data in PC space and see if there is meaningful relations between different observations within a matrix (vehicle). Then you can put each observation for all vehicles on each other and make a matrix and apply PCA to that to see relations of a single observation between different vehicles.

If you do not have negative values Matrix Factorization is strongly recommended for dimension reduction of matrix form data.

Another suggestion could be putin all matrices on top of each other and build a NxMxT tensor where N is the number of vehicles, M is the number of observations and T is the time sequence and apply Tensor Decomposition to see relations globally.

A very nice approach to Time Series Clustering is shown in this paper where the implementation is quiet straight forward.

I hope it helped!

Good Luck :)


As you mentioned you mean Time Series Segmentation I add this to the answer.

Time series segmentation is the only clustering problem that has a ground truth for evaluation. Indeed you consider the generating distribution behind the time series and analyze it I strongly recommend this, this, this, this, this and this where your problem is comprehensively studied. Specially the last one and the PhD thesis.

Good Luck!

  • 1
    $\begingroup$ Thanks for a great answer. My goal, in fact, is to do "segmentation of time series" for each vehicle in my data set. $\endgroup$ – umair durrani May 30 '15 at 20:03
  • 1
    $\begingroup$ I am studying tutorials on time series decomposition. I found that there are ways to decompose them into trend, seasonal and cyclical components. My time series, however, are few seconds of vehicle trajectories. Is it possible to decompose them into different driving behavior components based on the trends in accelerations, speeds, lead vehicle speeds & accelerations within an observed trajectory? $\endgroup$ – umair durrani May 30 '15 at 20:38
  • 2
    $\begingroup$ Maybe! for this better to consider both "decomposition" and "segmentation". For instance if your time series show significant clusters in PC space you can relate them to driving behavior. Segmentation is also to detect different driving behaviors within a time series. The long story short is that you can use segmentation for different driving behavior segments for one vehicle and decomposition techniques for detecting global driving behaviors over all vehicles. $\endgroup$ – Kasra Manshaei May 30 '15 at 23:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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