Example #1
0
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
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
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]
Example #6
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]
Example #7
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]
    )
Example #8
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]
    )