stumpy-dev/stumpy

mstump with annotation time series T_B

Closed this issue · 2 comments

So in stump I can set T_B manually in the function parameters:

T_B: The time series or sequence that will be used to annotate T_A. For every subsequence in T_A, its nearest neighbor in T_B will be recorded. Default is None which corresponds to a self-join.

But mstump doesn't expose T_B to the user but instead just sets T_A = T_B right at the beginning of the method.

https://github.com/TDAmeritrade/stumpy/blob/d6bfb4ac2e0cc7b281ba948132d03a271567d53e/stumpy/mstump.py#L1211

Is there a reason for that? If not, can we also expose T_B in mstump?

@drexhage Thank you for your question and welcome to the STUMPY community!

Is there a reason for that?

Yes, it's because there is no known practical interpretation of an AB-join for a multi-dimensional matrix profile (i.e., nothing has been published about this). We had originally anticipated that AB-joins would be possible for the multi-dimensional case and so that is why you see the T_B = T_A code but it is "fake" and doesn't actually perform an AB-join. Only self-joins are available in mstump.

It is important to note that a multi-dimensional matrix profile is NOT the same as multiple 1-dimensional matrix profiles stacked on top of each other. If you haven't done so, I strongly recommend going over this multi-dimensional matrix profile tutorial.

Thank you for the clarification