Example #1
0
def test_io_score_t1t2():

    rng = irm.RNG()

    for D1_N, D2_N in [(10, 20), (20, 30), (200, 300)]:
        for model_name in ["BetaBernoulliNonConj", 
                           "LogisticDistance", 
                           "LinearDistance"]: 

            d = {'domains' : {'d1' : {'N' : D1_N}, 
                              'd2' : {'N' : D2_N}},
                    'relations' : {'R1' : {'relation' : ('d1', 'd2'), 
                                           'model' : model_name}}}

            l = {}

            new_latent, new_data = data.synth.prior_generate(l, d)

            irm_model = irmio.create_model_from_data(new_data, rng=rng)
            irmio.set_model_latent(irm_model, new_latent, rng=rng)

            s1 = irm_model.total_score()

            extracted_latent = irmio.get_latent(irm_model)

            irm_model2 = irmio.create_model_from_data(new_data, rng=rng)
            irmio.set_model_latent(irm_model, extracted_latent, rng=rng)

            s2 = irm_model.total_score()
            np.testing.assert_approx_equal(s1, s2, 5)
Example #2
0
def test_io_score_t1t2():

    rng = irm.RNG()

    for D1_N, D2_N in [(10, 20), (20, 30), (200, 300)]:
        for model_name in ["BetaBernoulliNonConj", "LogisticDistance", "LinearDistance"]:

            d = {
                "domains": {"d1": {"N": D1_N}, "d2": {"N": D2_N}},
                "relations": {"R1": {"relation": ("d1", "d2"), "model": model_name}},
            }

            l = {}

            new_latent, new_data = data.synth.prior_generate(l, d)

            irm_model = irmio.create_model_from_data(new_data, rng=rng)
            irmio.set_model_latent(irm_model, new_latent, rng=rng)

            s1 = irm_model.total_score()

            extracted_latent = irmio.get_latent(irm_model)

            irm_model2 = irmio.create_model_from_data(new_data, rng=rng)
            irmio.set_model_latent(irm_model, extracted_latent, rng=rng)

            s2 = irm_model.total_score()
            np.testing.assert_approx_equal(s1, s2, 5)
Example #3
0
def test_simple_nonconj_inout():
    rng = irm.RNG()
    irm_model = irmio.create_model_from_data(data_simple_nonconj, rng=rng)
    
    irmio.set_model_latent(irm_model, latent_simple_nonconj, rng=rng)

    latent = irmio.get_latent(irm_model)
    irmio.latent_equality(latent_simple_nonconj, latent, data_simple_nonconj)
Example #4
0
def test_simple_nonconj_inout():
    rng = irm.RNG()
    irm_model = irmio.create_model_from_data(data_simple_nonconj, rng=rng)

    irmio.set_model_latent(irm_model, latent_simple_nonconj, rng=rng)

    latent = irmio.get_latent(irm_model)
    irmio.latent_equality(latent_simple_nonconj, latent, data_simple_nonconj)