def categorical_pmf(model, col_idx, row_idx): hypers, suffstats = _get_hypers_and_suffstats(model, col_idx, row_idx) ps = np.exp([ csd.probability(i, suffstats, hypers) for i in range(len(suffstats) - 2) ]) return ps
def _probability_component_categorical(x, model, col_idx, component_idx): hypers = model['col_hypers'][col_idx] if component_idx < len(model['col_suffstats'][col_idx]): suffstats = model['col_suffstats'][col_idx][component_idx] else: k = int(model['col_suffstats'][col_idx][0]['k']) suffstats = {'n': 0., 'k': k} return csd.probability(x, suffstats, hypers)
def test_probability_values_4(hypers, suffstats): hypers['dirichlet_alpha'] = .25 suffstats['0'] = 2 suffstats['1'] = 7 suffstats['2'] = 13 suffstats['n'] = 22 csd_value = csd.probability(0, suffstats, hypers) assert csd_value == approx(-2.31363492918062)
def categorical_pmf(model, col_idx, row_idx): hypers, suffstats = _get_hypers_and_suffstats(model, col_idx, row_idx) ps = np.exp([csd.probability(i, suffstats, hypers) for i in range(len(suffstats)-2)]) return ps
def test_probability_values_3(hypers, suffstats): hypers['dirichlet_alpha'] = 2.5 csd_value = csd.probability(0, suffstats, hypers) assert csd_value == approx(-1.6094379124341)
def test_probability_values_2(hypers, suffstats): csd_value = csd.probability(1, suffstats, hypers) assert csd_value == approx(-0.95551144502744)
def test_probability_values_1(hypers, suffstats): csd_value = csd.probability(0, suffstats, hypers) assert csd_value == approx(-1.87180217690159)