mstump input versus output order #1091
-
Hi all, I have been struggling with some weird behaviours in my code - basically no matter what order the data is in that I pass to mstump, the profiles output are always in the same order. So i end up assigning the results to the wrong signals :| By way of simple example:
produces this output:
Profile values in reversed order:
Comparing profiles after reversing input order:
Is there something I am not understanding? Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 5 replies
-
@jh72ie Welcome to the STUMPY community and thank you for your question!
Yes, it is important/vital to understand that a "multi-dimensional matrix profile" (for Otherwise, if you don't need to know which subset of dimensions (i.e., signals) produce the smallest averaged matrix profile, then I would recommend simply using |
Beta Was this translation helpful? Give feedback.
-
Feeling lonely here - not knowing if what I am seeing is a problem or a lack of understanding. To my mind, it should not matter what order the TS are entered - the MPs should be the same for the same dataset?? But, I have a strong feeling that there is something here I don't understand - in how it all works or in how the tutorial implies the relationship between T and P. That said, I think I have found the code where the correlation breaks - its in _multi_distance_profile between the call to _multi_mass and the return D:
.... with that data used in the mstump tutorial:
Can anyone of you fine folks out there set me straight? I would be extremely grateful. |
Beta Was this translation helpful? Give feedback.
It's not your fault. Multi-dimensional matrix profiles are a very hard concept to grasp so please give yourself a lot of credit for wanting to persist. Not many people have gotten this far and gave up. Again, feel free to ask clarifying questions to improve your understanding.
If you haven't figured it out already,
k
represents the "subset of dimensions (i.e., which subset of time series to pick from). So, if there are 3 time series signals, then fork == 1
, it is finding one subsequence amongst the three (vertically aligned) subsequences that has the smallest nearest neighbor distance. Then it repeats this for…