Поиск повторяющихся шаблонов в многопараметрических данных
Скажем, у меня есть следующий набор данных:
time_m = {A:1, B:2, C:3, D:10};
time_n = {A:6, B:2, C:12, D:18};
time_p = {A:1, B:2, C:9, D:17};
time_q = {A:1, B:2, C:9, D:2}.
Как видите, у меня есть 4 переменные A, B, C, D
чьи значения измеряются в моменты времени m, n, p, q
,
Я хочу найти моменты времени в данных, когда переменные снова имели те же значения. Например, если я хочу максимизировать количество переменных, ответ таков:
{A, B, C} at {time_p, time_q}
Или, если я хочу максимизировать количество временных точек, ответом будет:
{A, B} at {time_m, time_p, time_q}
Для немного больше контекста, скажем A, B, C, D
цены на акции, и мне интересно проанализировать исторические данные, чтобы найти, когда подмножество акций снова достигло тех же значений.
Как я могу это сделать? Алгоритм для этого, или подобный, где-нибудь реализован?