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