Exemple #1
0
def calc_crit_val(params, options):
    df = simulate_truncated_data(params, options)

    crit_func = rp.get_crit_func(params, options, df)
    crit_val = crit_func(params)

    return crit_val
def test_generate_random_model():
    """Test if random model specifications can be simulated and processed."""
    params, options = generate_random_model()

    df = simulate_truncated_data(params, options)

    log_like = get_log_like_func(params, options, df)

    crit_val = log_like(params)

    assert isinstance(crit_val, float)
Exemple #3
0
def test_simulation_and_estimation_with_different_models():
    """Test the evaluation of the criterion function not at the true parameters."""
    # Simulate a dataset
    params, options = generate_random_model()
    df = simulate_truncated_data(params, options)

    # Evaluate at different points, ensuring that the simulated dataset still fits.
    crit_func = get_crit_func(params, options, df)
    params_ = add_noise_to_params(params, options)

    params.equals(params_)

    crit_func(params)
Exemple #4
0
def test_invariant_results_for_two_estimations():
    params, options = generate_random_model()
    df = simulate_truncated_data(params, options)

    crit_func = get_crit_func(params, options, df)

    # First estimation.
    crit_val = crit_func(params)

    # Second estimation.
    crit_val_ = crit_func(params)

    assert crit_val == crit_val_
Exemple #5
0
def test_generate_random_model(seed):
    """Test if random model specifications can be simulated and processed."""
    np.random.seed(seed)

    params, options = generate_random_model()

    df = simulate_truncated_data(params, options)

    crit_func = get_crit_func(params, options, df)

    crit_val = crit_func(params)

    assert isinstance(crit_val, float)
Exemple #6
0
def test_invariant_results_for_two_estimations():
    num_agents = np.random.randint(5, 100)
    constr = {
        "simulation_agents": num_agents,
        "n_periods": np.random.randint(1, 4),
        "n_lagged_choices": np.random.choice(2),
    }

    # Simulate a dataset.
    params, options = generate_random_model(point_constr=constr)
    df = simulate_truncated_data(params, options)

    crit_func = get_crit_func(params, options, df)

    # First estimation.
    crit_val = crit_func(params)

    # Second estimation.
    crit_val_ = crit_func(params)

    assert crit_val == crit_val_
Exemple #7
0
def test_simulation_and_estimation_with_different_models():
    """Test the evaluation of the criterion function not at the true parameters."""
    # Set constraints.
    num_agents = np.random.randint(5, 100)
    constr = {
        "simulation_agents": num_agents,
        "n_periods": np.random.randint(1, 4),
        "edu_max": 15,
        "edu_start": [7],
        "edu_share": [1],
        "n_lagged_choices": np.random.choice(2),
    }

    # Simulate a dataset
    params, options = generate_random_model(point_constr=constr)
    df = simulate_truncated_data(params, options)

    # Evaluate at different points, ensuring that the simulated dataset still fits.
    params, options = generate_random_model(point_constr=constr)
    crit_func = get_crit_func(params, options, df)

    crit_func(params)
Exemple #8
0
def compute_log_likelihood(params, options):
    df = simulate_truncated_data(params, options)
    log_like = get_log_like_func(params, options, df)
    crit_val = log_like(params)

    return crit_val