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)
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)
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)
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)
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)
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)