MCPcopy
hub / github.com/stumpy-dev/stumpy / maamp_multi_distance_profile

Function maamp_multi_distance_profile

tests/naive.py:632–656  ·  view source on GitHub ↗
(query_idx, T, m, include=None, discords=False, p=2.0)

Source from the content-addressed store, hash-verified

630
631
632def maamp_multi_distance_profile(query_idx, T, m, include=None, discords=False, p=2.0):
633 excl_zone = int(np.ceil(m / config.STUMPY_EXCL_ZONE_DENOM))
634 d, n = T.shape
635 Q = T[:, query_idx : query_idx + m]
636 D = multi_mass_absolute(Q, T, m, include, discords, p=p)
637
638 start_row_idx = 0
639 if include is not None:
640 apply_include(D, include)
641 start_row_idx = include.shape[0]
642
643 if discords:
644 D[start_row_idx:][::-1].sort(axis=0)
645 else:
646 D[start_row_idx:].sort(axis=0)
647
648 D_prime = np.zeros(n - m + 1)
649 D_prime_prime = np.zeros((d, n - m + 1))
650 for j in range(d):
651 D_prime[:] = D_prime + D[j]
652 D_prime_prime[j, :] = D_prime / (j + 1)
653
654 apply_exclusion_zone(D_prime_prime, query_idx, excl_zone, np.inf)
655
656 return D_prime_prime
657
658
659def maamp(T, m, excl_zone, include=None, discords=False, p=2.0):

Callers 1

maampFunction · 0.70

Calls 3

multi_mass_absoluteFunction · 0.85
apply_includeFunction · 0.85
apply_exclusion_zoneFunction · 0.70

Tested by

no test coverage detected