def test_LRSRegressor(generate_regression_data): y, X, treatment, tau, b, e = generate_regression_data() learner = LRSRegressor() # check the accuracy of the ATE estimation ate_p, lb, ub = learner.estimate_ate(X=X, treatment=treatment, y=y) assert (ate_p >= lb) and (ate_p <= ub) assert ape(tau.mean(), ate_p) < ERROR_THRESHOLD
def test_LRSRegressor(generate_regression_data): y, X, treatment, tau, b, e = generate_regression_data() learner = LRSRegressor() # check the accuracy of the ATE estimation ate_p, lb, ub = learner.estimate_ate(X=X, treatment=treatment, y=y) assert (ate_p >= lb) and (ate_p <= ub) assert ape(tau.mean(), ate_p) < ERROR_THRESHOLD # check pre-train model ate_p_pt, lb_pt, ub_pt = learner.estimate_ate(X=X, treatment=treatment, y=y, pretrain=True) assert (ate_p_pt == ate_p) and (lb_pt == lb) and (ub_pt == ub)
def test_get_synthetic_auuc(): preds_dict = get_synthetic_preds(synthetic_data_func=simulate_nuisance_and_easy_treatment, n=1000, estimators={'S Learner (LR)': LRSRegressor(), 'T Learner (XGB)': XGBTRegressor()}) auuc_df = get_synthetic_auuc(preds_dict, plot=False) print(auuc_df)
def test_get_synthetic_summary(): summary = get_synthetic_summary( synthetic_data_func=simulate_nuisance_and_easy_treatment, estimators={ 'S Learner (LR)': LRSRegressor(), 'T Learner (XGB)': XGBTRegressor() }) print(summary)
def test_get_synthetic_preds(synthetic_data_func): preds_dict = get_synthetic_preds(synthetic_data_func=synthetic_data_func, n=1000, estimators={ 'S Learner (LR)': LRSRegressor(), 'T Learner (XGB)': XGBTRegressor() }) assert preds_dict['S Learner (LR)'].shape[0] == preds_dict[ 'T Learner (XGB)'].shape[0]
def test_get_synthetic_preds(): preds_dict = get_synthetic_preds( synthetic_data_func=simulate_nuisance_and_easy_treatment, n=1000, estimators={ 'S Learner (LR)': LRSRegressor(), 'T Learner (XGB)': XGBTRegressor() }) assert preds_dict['S Learner (LR)'].shape[0] == preds_dict[ 'T Learner (XGB)'].shape[0]
def test_get_synthetic_preds(synthetic_data_func): preds_dict = get_synthetic_preds( synthetic_data_func=synthetic_data_func, n=1000, estimators={ "S Learner (LR)": LRSRegressor(), "T Learner (XGB)": XGBTRegressor(), }, ) assert ( preds_dict["S Learner (LR)"].shape[0] == preds_dict["T Learner (XGB)"].shape[0] )
def test_get_synthetic_preds_holdout(): preds_train, preds_valid = get_synthetic_preds_holdout( synthetic_data_func=simulate_nuisance_and_easy_treatment, n=1000, estimators={ "S Learner (LR)": LRSRegressor(), "T Learner (XGB)": XGBTRegressor(), }, ) assert ( preds_train["S Learner (LR)"].shape[0] == preds_train["T Learner (XGB)"].shape[0] ) assert ( preds_valid["S Learner (LR)"].shape[0] == preds_valid["T Learner (XGB)"].shape[0] )