Exemple #1
0
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
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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
Exemple #6
0
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)
Exemple #7
0
def test_probability_values_2(hypers, suffstats):
    csd_value = csd.probability(1, suffstats, hypers)
    assert csd_value == approx(-0.95551144502744)
Exemple #8
0
def test_probability_values_1(hypers, suffstats):

    csd_value = csd.probability(0, suffstats, hypers)
    assert csd_value == approx(-1.87180217690159)