Exemple #1
0
def test_likelihood(n_rows, n_cols, n_cats, cat_sep, n_models, n_iter):
    dg, engine = gen_data_and_engine(n_rows, n_cols, n_cats, cat_sep, n_models,
                                     n_iter)
    cols = list(range(n_cols))

    ttl_base = "CSD_LK-r%d-c%d-k%d-s%1.2f-m%d-i%d_" \
        % (n_rows, n_cols, n_cats, cat_sep, n_models, n_iter,)

    for col in cols:
        x = np.arange(5, dtype=int)

        l_dg = dg.log_likelihood(x, col)
        l_eng = engine.probability(x[:, np.newaxis], [col])

        r, _ = pearsonr(l_dg, l_eng)
        inftest_bar(np.exp(l_dg), np.exp(l_eng), ttl_base + 'COL-%d' % col,
                    RESDIR)

        assert abs(r - 1) < .1
Exemple #2
0
def test_ks(n_rows, n_cols, n_cats, cat_sep, n_models, n_iter):
    dg, engine = gen_data_and_engine(n_rows, n_cols, n_cats, cat_sep, n_models,
                                     n_iter)
    cols = list(range(n_cols))

    ttl_base = "CSD_X2-r%d-c%d-k%d-s%1.2f-m%d-i%d_" \
        % (n_rows, n_cols, n_cats, cat_sep, n_models, n_iter,)

    if n_cols == 1:
        y = sum(p['alpha'] for p in dg.params[0]) / n_cats
        x = np.array(engine.sample([0], n=n_rows).flatten(), dtype=int)
        x = np.bincount(x, minlength=5) / n_rows
        d, p = chisquare(y, x)
        inftest_bar(y, x, ttl_base + 'COL-0', RESDIR)
        assert p > .05
    else:
        for col in cols:
            y = sum(p['alpha'] for p in dg.params[0]) / n_cats
            x = np.array(engine.sample([0], n=n_rows).flatten(), dtype=int)
            x = np.bincount(x, minlength=5) / n_rows
            d, p = chisquare(y, x)

            inftest_bar(y, x, ttl_base + 'COL-%d' % col, RESDIR)
            assert p > .05