0
$\begingroup$

I am working on a problem where I have a multiple time series, each with a size of a 100 steps, each being described by a 8 variables variables. I want to identify "states" within each time series, where a state would reflect some cluster that is learned from the spatiotemporal pattern of values of the 8 variables.

So so far most options point me towards dynamic time warping DTW, but I am not really interested in grouping the full time series (e.g. timeseries 1, time-series 2, etc each of 100 steps* 8 variables, into a group of similar vs dissimilar timeseries), which is what approaches like dtw seem to do in my understanding.

What I really want is to find states within each timeseries. say within timeseries 1 (containing 100 steps and 8 variables), I want to find pieces of time that reflect different clusters, they might have different durations, shapes, etc.

What I have tried so far is to use k-means clustering for each timeseries, where I use the 8 variables as features to the kmean algorithm, and for a single timeseries I would get something like figure 1 when k = 3 Figure 1

the lines represent the 8 variables and the shaded colors represent the k-means clusters I identified. I would then do this for all timeseries. While this seems to work for this case, I am worried about its appropriateness, specifically, because the clusters will be biased toward the means of the variables, and the kmeans doesn't really exploit the temporal structure explicitly.

for a context, these data represent body movement trajectories as defined by the magnitude and speed of a number of sensors. I want to find certain states like movement initiation, sustainment, etc, which I think can be captured by clusters that represent these states.

Any suggestions of whether this is okay, or other sensible approaches, that I could implement in R would be greatly appreciated.

$\endgroup$
7
  • $\begingroup$ Hidden markov models? $\endgroup$
    – Sycorax
    Jun 9, 2022 at 12:09
  • $\begingroup$ @Sycorax could you elaborate please $\endgroup$
    – Myriad
    Jun 9, 2022 at 12:12
  • $\begingroup$ The tag wiki is a good place to start: hidden-markov-model. The question with the HMM tag and the highest score also lists a number of resources for learning about HMMs. $\endgroup$
    – Sycorax
    Jun 9, 2022 at 12:15
  • $\begingroup$ I mean I do get the general idea for hidden-Markov models, but I don't fully see how it would address finding substates within a time series, rather than grouping known time-series sets into a set of latent states. I browsed other questions with HMM and didn't see a direct translation to my problem $\endgroup$
    – Myriad
    Jun 9, 2022 at 12:20
  • $\begingroup$ I don't understand the distinction you're making between "clustering" (which you state you want to do) and "grouping known time-series sets into a set of latent states" (which you claim is a reason HMMs aren't suitable). Moreover, you explicitly state that "kmeans doesn't really exploit the temporal structure explicitly," which is a problem that HMM solves because it is a model for sequential data. Also, grouping together time steps in time series data together is "clustering" for a time-series, so it seems to fit what you ask in the question. $\endgroup$
    – Sycorax
    Jun 9, 2022 at 12:24

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.