def test_permutation_sign_flip(): "Test permute_sign_flip()" res = np.empty((2**6 - 1, 6), dtype=np.int8) for i, sign in enumerate(permute_sign_flip(6, samples=-1)): res[i] = sign eq_(i, 2**6 - 2) logging.info('Permutation with sign_flip:\n%s' % res) ok_(np.all(res.min(1) < 0), "Not all permutations have a sign flip") for i, row in enumerate(res): eq_(np.any(np.all(row == res[:i], 1)), False) assert_raises(NotImplementedError, permute_sign_flip(63).__next__)
def test_permutation_sign_flip(): "Test permute_sign_flip()" res = np.empty((2 ** 6 - 1, 6), dtype=np.int8) for i, sign in enumerate(permute_sign_flip(6, samples=-1)): res[i] = sign eq_(i, 2 ** 6 - 2) logging.info('Permutation with sign_flip:\n%s' % res) ok_(np.all(res.min(1) < 0), "Not all permutations have a sign flip") for i, row in enumerate(res): eq_(np.any(np.all(row == res[:i], 1)), False) assert_raises(NotImplementedError, permute_sign_flip(63).next)
def test_permutation_sign_flip(): "Test permute_sign_flip()" res = np.empty((2**6 - 1, 6), dtype=np.int8) for i, sign in enumerate(permute_sign_flip(6, samples=-1)): res[i] = sign eq_(i, 2**6 - 2) ok_(np.all(res.min(1) < 0), "Not all permutations have a sign flip") for i, row in enumerate(res): eq_(np.any(np.all(row == res[:i], 1)), False) # n > 62 res = map(tuple, permute_sign_flip(66, 2)) eq_(len(res[0]), 66) eq_(len(res), 2) assert_not_equal(res[0], res[1]) # make sure sequence is stable eq_(map(tuple, permute_sign_flip(4, 3)), [(-1, 1, -1, -1), (-1, -1, 1, -1), (1, -1, -1, 1)])
def test_permutation_sign_flip(): "Test permute_sign_flip()" res = np.empty((2 ** 6 - 1, 6), dtype=np.int8) for i, sign in enumerate(permute_sign_flip(6, samples=-1)): res[i] = sign eq_(i, 2 ** 6 - 2) ok_(np.all(res.min(1) < 0), "Not all permutations have a sign flip") for i, row in enumerate(res): eq_(np.any(np.all(row == res[:i], 1)), False) # n > 62 res = list(map(tuple, permute_sign_flip(66, 2))) eq_(len(res[0]), 66) eq_(len(res), 2) assert_not_equal(res[0], res[1]) # make sure sequence is stable if sys.version_info[0] == 3: target = [(1, -1, -1, -1), (-1, -1, -1, 1), (-1, 1, -1, -1)] else: target = [(-1, 1, -1, -1), (-1, -1, 1, -1), (1, -1, -1, 1)] eq_(list(map(tuple, permute_sign_flip(4, 3))), target)
def test_permutation_sign_flip(): "Test permute_sign_flip()" res = np.empty((2 ** 6 - 1, 6), dtype=np.int8) i = 0 for i, sign in enumerate(permute_sign_flip(6, samples=-1)): res[i] = sign assert i == 2 ** 6 - 2 assert np.all(res.min(1) < 0) # Check that all permutations have a sign flip for i, row in enumerate(res): assert not np.any(np.all(row == res[:i], 1)) # n > 62 res = list(map(tuple, permute_sign_flip(66, 2))) assert len(res[0]) == 66 assert len(res) == 2 assert res[0] != res[1] # make sure sequence is stable if sys.version_info[0] == 3: target = [(1, -1, -1, -1), (-1, -1, -1, 1), (-1, 1, -1, -1)] else: target = [(-1, 1, -1, -1), (-1, -1, 1, -1), (1, -1, -1, 1)] assert list(map(tuple, permute_sign_flip(4, 3))) == target
def test_t_1samp(): "Test t_1samp functions" ds = datasets.get_uts() y = ds.eval("uts.x") n_cases = len(y) t = np.empty(y.shape[1]) # t opt.t_1samp(y, t) t_sp, _ = scipy.stats.ttest_1samp(y, 0) assert_allclose(t, t_sp) # perm t_perm = np.empty_like(t) for sign in permute_sign_flip(n_cases, 2): opt.t_1samp_perm(y, t_perm, sign) opt.t_1samp(y * sign[:,None], t) assert_allclose(t_perm, t)
def test_t_1samp(): "Test t_1samp functions" ds = datasets.get_uts() y = ds.eval("uts.x") n_cases = len(y) t = np.empty(y.shape[1]) # t opt.t_1samp(y, t) t_sp, _ = scipy.stats.ttest_1samp(y, 0) assert_allclose(t, t_sp) # perm t_perm = np.empty_like(t) for sign in permute_sign_flip(n_cases, 2): opt.t_1samp_perm(y, t_perm, sign) opt.t_1samp(y * sign[:, None], t) assert_allclose(t_perm, t)