Exemple #1
0
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__)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #5
0
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
Exemple #6
0
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)
Exemple #7
0
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)