mcf_main.ModifiedCausalForest.predict_iv#

ModifiedCausalForest.predict_iv(data_df, new_keywords=None)#

Compute all effects for instrument mcf (possibly in 2 differnt ways).

train_iv() method must be run beforehand.

Parameters:
  • data_df (DataFrame) – Data used to compute the predictions. It must contain information about features (and treatment if effects for treatment specific subpopulations are desired as well).

  • new_keywords (Dictionary (or None). Default is None.) – Parameters of mcf instance to be changed. The keys in the dictionary are the parameters to be changed when running this method (and all methods that are run subsequently, like analyse or sensitivity), and the values corresponding to the keys are the new value (None is not allowed as new value). However, not all parameters can differ from those used during training. The following parameters can be changed, and thus specified as keys in this dictionary: ‘gen_output_type’, ‘var_x_name_balance_test_ord’, ‘var_x_name_balance_test_unord’, ‘var_x_name_balance_bgate’, ‘var_x_name_ba’, ‘var_z_name_ord’, ‘var_z_name_unord’, ‘p_ba’, ‘p_ba_adj_method’, ‘p_ba_pos_weights_only’, ‘p_ba_use_x’, ‘p_ba_use_prop_score’, ‘p_ba_use_prog_score’, ‘p_ate_no_se_only’, ‘p_atet’, ‘p_gatet’, ‘p_bgate’, ‘p_cbgate’, ‘p_iate’, ‘p_iate_se’, ‘p_iate_m_ate’, ‘p_bgate_sample_share’, ‘p_gates_minus_previous’, ‘p_gates_smooth_bandwidth’, ‘p_gates_smooth’, ‘p_gates_smooth_no_evalu_points’, ‘p_gates_no_evalu_points’, ‘p_qiate’, ‘p_qiate_se’, ‘p_qiate_m_mqiate’, ‘p_qiate_m_opp’, ‘p_qiate_no_of_quantiles’, ‘p_qiate_smooth’ ‘p_qiate_smooth_bandwidth’, ‘p_qiate_bias_adjust’, ‘p_bt_yes’, ‘p_choice_based_sampling’, ‘p_choice_based_probs’, ‘p_cond_var’, ‘p_knn’, ‘p_knn_const’, ‘p_knn_min_k’, ‘p_nw_bandw’, ‘p_nw_kern’, ‘p_ci_level’, ‘p_iv_aggregation_method’, ‘p_se_boot_ate’, ‘p_se_boot_gate’, ‘p_se_boot_iate’, ‘p_se_boot_qiate’, ‘post_bin_corr_threshold’, ‘post_bin_corr_yes’, ‘post_est_stats’, ‘post_kmeans_yes’, ‘post_kmeans_no_of_groups’, ‘post_kmeans_max_tries’, ‘post_kmeans_min_size_share’, ‘post_kmeans_replications’, ‘post_kmeans_single’, ‘post_random_forest_vi’, ‘post_relative_to_first_group_only’, ‘post_plots’, ‘post_tree’.

Returns:

  • results_global (Dictionary.) – Contains the results. This dictionary has the following structure: ‘ate’: LATE, ‘ate_se’: Standard error of LATE, ‘ate_effect_list’: List of names of estimated effects, ‘ate_1st’: ATE 1st stage, ‘ate_1st_se’: Standard error of ATE (1st) ‘ate 1st_effect_list’: List of names of estimated effects (1st), ‘ate_redf’: ATE reduced form, ‘ate_redf_se’: Standard error of ATE of reduced form, ‘ate redf_effect_list’: List of names of estimated effects (red.f.), ‘gate’: LGATE, ‘gate_se’: SE of LGATE, ‘gate_diff’: LGATE minus LATE, ‘gate_diff_se’: Standard error of LGATE minus LATE, ‘cbgate’: LCBGATE (all covariates balanced), ‘cbgate_se’: Standard error of LCBGATE, ‘cbgate_diff’: LCBGATE minus LATE, ‘cbgate_diff_se’: Standard error of LCBGATE minus LATE, ‘bgate’: LBGATE (only prespecified covariates balanced), ‘bgate_se’: Standard error of LBGATE, ‘bgate_diff’: LBGATE minus LATE, ‘bgate_diff_se’: Standard errror of LBGATE minus LATE, ‘gate_names_values’: Dictionary: Order of gates parameters and name and values of LGATE effects. ‘iate’: LIATE, ‘iate_se’: Standard error of LIATE, ‘iate_1st’: IATE (1st stage), ‘iate_1st_se’: Standard error of IATE (1st stage), ‘iate_redf’: IATE (reduced form), ‘iate_redf_se’: Standard error of IATE (reduced form), ‘iate_eff’: (More) Efficient LIATE (LIATE estimated twice and averaged where role of tree_building and tree_filling sample is exchanged), iate_1st_eff’: (More) Efficient IATE (1st stage), iate_redf_eff’: (More) Efficient IATE (reduced form), ‘iate_data_df’: DataFrame with LIATEs, ‘iate_1st_data_df’: DataFrame with IATEs (1st stage), ‘iate_redf_data_df’: DataFrame with IATEs (reduced form), ‘iate_names_dic’: Dictionary containing names of LIATEs, ‘iate_1st_names_dic’: Dictionary containing names of IATEs (1st), ‘iate_redf_dic’: Dictionary containing names of LIATEs (red.f.), ‘qiate’: QLIATE, ‘qiate_se’: Standard error of QLIATE, ‘bala_1st’: Effects of balancing tests (1st stage), ‘bala_1st_se’: Standard error of effects of balancing tests (1st), ‘bala_1st_effect_list’: Names of effects of balancing tests (1st), ‘bala_redf’: Effects of balancing tests (reduced form), ‘bala_redf_se’: Standard error of effects of balancing tests (red.), ‘bala_redf_effect_list’: Names of effects of balancing tests (red.). ‘common_support_probabilities’: pd.DataFrame containing treatment probabilities for all treatments, the identifier of the observation, and a dummy variable indicating whether the observation is inside or outside the common support. None if _int_with_output is False. ‘path_output’: Pathlib object, location of directory in which output is saved.

    It is empty if the IV estimation method ‘global’ has not been used.

  • results_local (Dictionary.) – Same content as results_wald. It is empty if the IV estimation method ‘local’ has not been used.