Replies: 3 comments 7 replies
-
@vade Thank you for your question and welcome to the STUMPY community. So, the first thing to clarify is that multi-dimensional matrix profiles are NOT simply 1D matrix profiles stacked one on top of each other and I recommend going over our multidimensional matrix profile tutorial if you haven't done so already. Having said that, there is no interpretable multi-dimensional matrix profile for AB-joins. So, no, it is not possible using mstump because it would be meaningless. At least, that was the conclusion that we came to when we looked at it a few years ago. If you want 1D matrix profiles (from AB-joins) stacked on top of each other then you'll need to do this manually with stump. |
Beta Was this translation helpful? Give feedback.
-
Hi @seanlaw - thanks. Ill be honest, im new to matrix profiles and stumpy in general, so apologies if some of these questions are self evident after spending some more time with the library / methodology. One question I have, which came up when looking at the multi dimensional self join / matrix profile example - im curious how the matrix profile for multi dimensional time series is built. I ask because the method I was imaging and which I believe would work for my data would end up looking more like a 1 dimensional matrix profile. Let me explain I am working with frames of video, each frame being a data point in t = 0 to t = n. Each data point at a specific t is a vector of floating point numbers in high dimensionality (lets call that d) To construct a multi dimensional matrix profile, as I understand it, each row for each data point (t) would have its distance compared to the same row for every other t, resulting in a large matrix of (t * t - 1) * d distance measures (more or less). With a single dimensional matrix profile, each single data point at t results in a one dimensional matrix profile of distance measures (more or less) For my use case, not doing a row-wise similarity, but vector to vector similarity (in my case, cosine distance has been our metric of choice) would allow us to compute a single dimensional distance value for each t. Given that profile, we should be able leverage the arbitrary a / b joins for a single dimensional time series? I hope what I've written above makes some sense - I've yet to have my second coffee ;) Thank you again @seanlaw for your time and answers! |
Beta Was this translation helpful? Give feedback.
-
I think I see, I misunderstood what was meant by dimensionality in the matrix profile world. Interesting ;) in my example, I have
however, I dont treat independent vector indices as an individual independent time seres. I still have 'a single time series' In my use case (for dimensionality reduction reasons as well as semantic reasons) we would consider this a single time series where where the entire vector (of dimensionality d) at T[0] is compared to all other T's using a vector distance metric like cosine similarity. I dont know what the proper terminology is now in matrix profile land for this sort of time series. Its a 'single' time series, where each data point can be compared to every other, they just happen to be 1280 dimensional vectors, and the distance metric would be cosine. We ignore looking at individual vector indexes. Is that helpful? |
Beta Was this translation helpful? Give feedback.
-
Hello
Firstly, thank you for the sharing this project, its really awesome.
I am experimenting with stumpy and am able to annotate a matrix profile a with similarity to matrix profile b using the T_A and T_B variables in the
stumpy.stump(T_A = c1, m = m, T_B = c2, ignore_trivial=False)
method.I want to experiment with multi dimensional stumpy but note that
stumpy.mstump
does not have the ability to pass in a second time series.Is there a method for doing non self joins (arbitrary a/b joins) on two multi dimensional time series?
Thank you.
Beta Was this translation helpful? Give feedback.
All reactions