How to use the matrixprofile.scrimp.calc_exclusion_zone function in matrixprofile

To help you get started, we’ve selected a few matrixprofile examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_calc_idx_diff():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4

    # test index 0
    idx = 0
    profile_len = scrimp.calc_profile_len(len(ts), m)
    exclusion_zone = scrimp.calc_exclusion_zone(m)
    subsequence = scrimp.next_subsequence(ts, idx, m)
    X, n, sumx2, sumx, meanx, sigmax2, sigmax = scrimp.fast_find_nn_pre(ts, m)
    dp = scrimp.calc_distance_profile(X, subsequence, n, m, meanx, sigmax)
    dp = scrimp.apply_exclusion_zone(idx, exclusion_zone, profile_len, dp)

    mp = np.zeros(profile_len)
    mp_index = np.zeros(profile_len, dtype='int32')

    mp, mp_index, idx_nn = scrimp.find_and_store_nn(0, idx, mp, mp_index, dp)

    idx_diff = scrimp.calc_idx_diff(idx, idx_nn)
    expected_idx_diff = 2

    assert(idx_diff == expected_idx_diff)
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_apply_exclusion_zone():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4

    # test index 0
    idx = 0
    profile_len = scrimp.calc_profile_len(len(ts), m)  # 4
    exclusion_zone = scrimp.calc_exclusion_zone(m)  # 1
    subsequence = scrimp.next_subsequence(ts, idx, m)
    X, n, sumx2, sumx, meanx, sigmax2, sigmax = scrimp.fast_find_nn_pre(ts, m)
    dp = scrimp.calc_distance_profile(X, subsequence, n, m, meanx, sigmax)
    dp = scrimp.apply_exclusion_zone(idx, exclusion_zone, profile_len, dp)

    expected_dp = np.array([
        np.inf,
        np.inf,
        0.4215e-07,
        0.4215e-07,
        0.4215e-07,
    ])

    np.testing.assert_almost_equal(dp, expected_dp)

    # test idx 1
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_calc_exclusion_start():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4
    idx = 0
    exclusion_zone = scrimp.calc_exclusion_zone(m)
    start = scrimp.calc_exclusion_start(idx, exclusion_zone)
    expected_start = 0

    assert(expected_start == start)

    idx = 2
    start = scrimp.calc_exclusion_start(idx, exclusion_zone)
    expected_start = 1
    assert(expected_start == start)

    idx = 3
    start = scrimp.calc_exclusion_start(idx, exclusion_zone)
    expected_start = 2
    assert(expected_start == start)
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_calc_refine_distance_begin_idx():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4
    step_size = 0.25

    # test index 0
    idx = 0
    profile_len = scrimp.calc_profile_len(len(ts), m)
    exclusion_zone = scrimp.calc_exclusion_zone(m)
    subsequence = scrimp.next_subsequence(ts, idx, m)
    X, n, sumx2, sumx, meanx, sigmax2, sigmax = scrimp.fast_find_nn_pre(ts, m)
    dp = scrimp.calc_distance_profile(X, subsequence, n, m, meanx, sigmax)
    dp = scrimp.apply_exclusion_zone(idx, exclusion_zone, profile_len, dp)
    mp = np.zeros(profile_len)
    mp_index = np.zeros(profile_len, dtype='int32')
    mp, mp_index, idx_nn = scrimp.find_and_store_nn(0, idx, mp, mp_index, dp)
    idx_diff = scrimp.calc_idx_diff(idx, idx_nn)
    step_size = scrimp.calc_step_size(m, step_size)
    beginidx = scrimp.calc_begin_idx(idx, step_size, idx_diff)

    refine_distance = np.full(profile_len, np.inf)
    result = scrimp.calc_refine_distance_begin_idx(
        refine_distance, dp, beginidx, idx, idx_diff, idx_nn, sigmax, meanx, m)
    expected_result = np.array([np.inf, np.inf, np.inf, np.inf, np.inf])
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_find_and_store_nn():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4

    # test index 0
    idx = 0
    profile_len = scrimp.calc_profile_len(len(ts), m)
    exclusion_zone = scrimp.calc_exclusion_zone(m)
    subsequence = scrimp.next_subsequence(ts, idx, m)
    X, n, sumx2, sumx, meanx, sigmax2, sigmax = scrimp.fast_find_nn_pre(ts, m)
    dp = scrimp.calc_distance_profile(X, subsequence, n, m, meanx, sigmax)
    dp = scrimp.apply_exclusion_zone(idx, exclusion_zone, profile_len, dp)

    mp = np.zeros(profile_len)
    mp_index = np.zeros(profile_len, dtype='int32')

    mp, mp_index, idx_nn = scrimp.find_and_store_nn(0, idx, mp, mp_index, dp)
    expected_mp = np.array([
        0.4215e-07,
        np.inf,
        0.4215e-07,
        0.4215e-07,
        0.4215e-07,
    ])
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_calc_refine_distance_end_idx():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4
    step_size = 0.25

    # test index 0
    idx = 0
    profile_len = scrimp.calc_profile_len(len(ts), m)
    exclusion_zone = scrimp.calc_exclusion_zone(m)
    subsequence = scrimp.next_subsequence(ts, idx, m)
    X, n, sumx2, sumx, meanx, sigmax2, sigmax = scrimp.fast_find_nn_pre(ts, m)
    dp = scrimp.calc_distance_profile(X, subsequence, n, m, meanx, sigmax)
    dp = scrimp.apply_exclusion_zone(idx, exclusion_zone, profile_len, dp)
    mp = np.zeros(profile_len)
    mp_index = np.zeros(profile_len, dtype='int32')
    mp, mp_index, idx_nn = scrimp.find_and_store_nn(0, idx, mp, mp_index, dp)
    idx_diff = scrimp.calc_idx_diff(idx, idx_nn)
    step_size = scrimp.calc_step_size(m, step_size)
    endidx = scrimp.calc_end_idx(profile_len, idx, step_size, idx_diff)
    refine_distance = np.full(profile_len, np.inf)
    result = scrimp.calc_refine_distance_end_idx(
        refine_distance, dp, idx, endidx, meanx, sigmax, idx_nn, idx_diff, m)
    expected_result = np.array([np.inf, np.inf, np.inf, np.inf, np.inf])

    np.testing.assert_almost_equal(result, expected_result)
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_calc_exclusion_zone():
    assert(scrimp.calc_exclusion_zone(4) == 1)
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_calc_exclusion_stop():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4
    idx = 0
    profile_len = scrimp.calc_profile_len(len(ts), m)  # 4
    exclusion_zone = scrimp.calc_exclusion_zone(m)  # 1
    stop = scrimp.calc_exclusion_stop(idx, exclusion_zone, profile_len)
    expected_stop = 1
    assert(expected_stop == stop)

    idx = 2
    stop = scrimp.calc_exclusion_stop(idx, exclusion_zone, profile_len)
    expected_stop = 3
    assert(expected_stop == stop)

    idx = 3
    stop = scrimp.calc_exclusion_stop(idx, exclusion_zone, profile_len)
    expected_stop = 4
    assert(expected_stop == stop)

    idx = 4
    stop = scrimp.calc_exclusion_stop(idx, exclusion_zone, profile_len)
github target / matrixprofile-ts / tests / test_scrimp.py View on Github external
def test_calc_dotproduct_idx():
    ts = [1, 2, 3, 4, 5, 6, 7, 8]
    m = 4

    # test index 0
    idx = 0
    profile_len = scrimp.calc_profile_len(len(ts), m)
    exclusion_zone = scrimp.calc_exclusion_zone(m)
    subsequence = scrimp.next_subsequence(ts, idx, m)
    X, n, sumx2, sumx, meanx, sigmax2, sigmax = scrimp.fast_find_nn_pre(ts, m)
    dp = scrimp.calc_distance_profile(X, subsequence, n, m, meanx, sigmax)
    dp = scrimp.apply_exclusion_zone(idx, exclusion_zone, profile_len, dp)
    mp = np.zeros(profile_len)
    mp_index = np.zeros(profile_len, dtype='int32')
    mp, mp_index, idx_nn = scrimp.find_and_store_nn(0, idx, mp, mp_index, dp)
    dotproduct = np.zeros(profile_len)
    val = scrimp.calc_dotproduct_idx(dotproduct, m, mp, idx,
                                     sigmax, idx_nn, meanx)
    expected_val = np.array([50, 0, 0, 0, 0])

    np.testing.assert_almost_equal(val, expected_val)