def test_school_location(est_data, num_regression, dataframe_regression): from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model("school_location", return_data=True) m.load_data() loglike_prior = m.loglike() r = m.maximize_loglike(method="BHHH") num_regression.check( { "loglike_prior": loglike_prior, "loglike_converge": r.loglike }, basename="test_school_location_loglike", ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( m, data, result_dir=None, output_file=None, ) dataframe_regression.check( size_spec, basename="test_school_location_size_spec", default_tolerance=dict(atol=1e-6, rtol=1e-2), )
def test_location_model(est_data, num_regression, dataframe_regression, name, method): from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model(name, return_data=True) m.load_data() loglike_prior = m.loglike() r = m.maximize_loglike(method=method) num_regression.check( { "loglike_prior": loglike_prior, "loglike_converge": r.loglike }, basename=f"test_loc_{name}_loglike", ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( m, data, result_dir=None, output_file=None, ) dataframe_regression.check( size_spec, basename=f"test_loc_{name}_size_spec", default_tolerance=dict(atol=1e-6, rtol=1e-2) # set a little loose, as there is sometimes a little variance in these # results when switching backend implementations. )
def test_workplace_location(est_data, num_regression, dataframe_regression): from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model("workplace_location", return_data=True) m.load_data() loglike_prior = m.loglike() r = m.maximize_loglike(method="SLSQP") num_regression.check( { "loglike_prior": loglike_prior, "loglike_converge": r.loglike }, basename="test_workplace_location_loglike", ) _regression_check(dataframe_regression, m.pf) size_spec = update_size_spec( m, data, result_dir=None, output_file=None, ) dataframe_regression.check( size_spec, basename="test_workplace_location_size_spec", )
def test_stop_freq_model(est_data, num_regression, dataframe_regression): from activitysim.estimation.larch import component_model name = "stop_frequency" m, data = component_model(name, return_data=True) m.load_data() loglike_prior = m.loglike() r = m.maximize_loglike() num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_{name}_loglike", ) _regression_check(dataframe_regression, m.pf)
def test_scheduling_model(est_data, num_regression, dataframe_regression, name, method): from activitysim.estimation.larch import component_model, update_size_spec m, data = component_model(name, return_data=True) m.load_data() m.doctor(repair_ch_av='-') loglike_prior = m.loglike() r = m.maximize_loglike(method=method) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_{name}_loglike", ) _regression_check(dataframe_regression, m.pf)
def test_simple_simulate(est_data, num_regression, dataframe_regression, name, method): from activitysim.estimation.larch import component_model m = component_model(name) m.load_data() m.doctor(repair_ch_av='-') loglike_prior = m.loglike() r = m.maximize_loglike(method=method, options={"maxiter": 1000}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename=f"test_simple_simulate_{name}_{method}_loglike", default_tolerance=dict(atol=1e-6, rtol=1e-3), ) _regression_check(dataframe_regression, m.pf)
def test_nonmand_and_joint_tour_dest_choice(est_data, num_regression, dataframe_regression): from activitysim.estimation.larch import component_model modelname = ("non_mandatory_tour_destination", "joint_tour_destination") m, d = component_model(modelname, return_data=True) m.load_data() m.doctor(repair_ch_av="-") loglike_prior = m.loglike() r = m.maximize_loglike(method="SLSQP", options={"maxiter": 1000}) num_regression.check( {"loglike_prior": loglike_prior, "loglike_converge": r.loglike}, basename="test_nonmand_and_joint_tour_dest_choice_loglike", ) _regression_check(dataframe_regression, m.pf)