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