Esempio n. 1
0
def test_multi_mass(T, m):
    trivial_idx = 2
    Q = T[:, trivial_idx:trivial_idx + m]

    left = utils.naive_multi_mass(Q, T, m)

    M_T, Σ_T = core.compute_mean_std(T, m)
    right = _multi_mass(Q, T, m, M_T, Σ_T)

    npt.assert_almost_equal(left, right)
Esempio n. 2
0
def test_multi_mass(T, m):
    trivial_idx = 2

    Q = T[:, trivial_idx : trivial_idx + m]

    ref = naive.multi_mass(Q, T, m)

    M_T, Σ_T = core.compute_mean_std(T, m)
    comp = _multi_mass(Q, T, m, M_T, Σ_T, M_T[:, trivial_idx], Σ_T[:, trivial_idx])

    npt.assert_almost_equal(ref, comp, decimal=config.STUMPY_TEST_PRECISION)
Esempio n. 3
0
def test_multi_mass(T, m):
    trivial_idx = 2

    Q = T[:, trivial_idx:trivial_idx + m]

    left = naive.multi_mass(Q, T, m)

    M_T, Σ_T = core.compute_mean_std(T, m)
    right = _multi_mass(Q, T, m, M_T, Σ_T, M_T[:, trivial_idx],
                        Σ_T[:, trivial_idx])

    npt.assert_almost_equal(left, right, decimal=naive.PRECISION)
Esempio n. 4
0
def test_multi_mass_seeded():
    np.random.seed(5)
    T = np.random.uniform(-1000, 1000, [3, 10]).astype(np.float64)
    m = 5

    trivial_idx = 2

    Q = T[:, trivial_idx : trivial_idx + m]

    ref = naive.multi_mass(Q, T, m)

    M_T, Σ_T = core.compute_mean_std(T, m)
    comp = _multi_mass(Q, T, m, M_T, Σ_T, M_T[:, trivial_idx], Σ_T[:, trivial_idx])

    npt.assert_almost_equal(ref, comp, decimal=config.STUMPY_TEST_PRECISION)
Esempio n. 5
0
def test_multi_mass_seeded():
    np.random.seed(5)
    T = np.random.uniform(-1000, 1000, [3, 10]).astype(np.float64)
    m = 5

    trivial_idx = 2

    Q = T[:, trivial_idx:trivial_idx + m]

    left = naive.multi_mass(Q, T, m)

    M_T, Σ_T = core.compute_mean_std(T, m)
    right = _multi_mass(Q, T, m, M_T, Σ_T, M_T[:, trivial_idx],
                        Σ_T[:, trivial_idx])

    npt.assert_almost_equal(left, right, decimal=naive.PRECISION)
Esempio n. 6
0
def test_multi_mass(T, m):

    excl_zone = int(np.ceil(m / 4))
    trivial_idx = 2
    Q = core.rolling_window(T, m)
    # left
    D = np.empty((Q.shape[0], Q.shape[1]))

    for i in range(T.shape[0]):
        D[i] = naive_mass(Q[i, 0], T[i], m, trivial_idx, excl_zone)

    left_P, left_I = naive_PI(D, trivial_idx)

    # right
    M_T = np.empty((Q.shape[0], Q.shape[1]))
    Σ_T = np.empty((Q.shape[0], Q.shape[1]))
    for i in range(Q.shape[0]):
        M_T[i] = np.mean(Q[i], axis=1)
        Σ_T[i] = np.std(Q[i], axis=1)
    right_P, right_I = _multi_mass(Q[:, 0], T, m, M_T, Σ_T, trivial_idx, excl_zone)

    npt.assert_almost_equal(left_P, right_P)
    npt.assert_equal(left_I, right_I)