InversePropensityWeighting.plot_ate#

InversePropensityWeighting.plot_ate(idata=None, method=None, prop_draws=100, ate_draws=300)[source]#

Plot the Average Treatment Effect and propensity score distributions.

Produces a three-panel figure:

  • Top panel – Weighted and unweighted histograms of posterior propensity scores for treated and control groups, drawn from prop_draws posterior samples. The "raw" method shows unweighted counts; "overlap" uses overlap weights; all other methods ("robust", "doubly_robust") share a common IPW-weighted histogram branch.

  • Bottom-left panel – Histograms of the reweighted potential outcomes E[Y(1)] and E[Y(0)].

  • Bottom-right panel – Histogram of the ATE distribution with a vertical line at its posterior mean.

Parameters:
  • idata (InferenceData | None) – ArviZ InferenceData with posterior propensity score samples. If None, uses self.model.idata.

  • method (str | None) – Weighting scheme to apply. One of 'robust', 'raw', 'overlap', or 'doubly_robust'. If None, falls back to self.weighting_scheme.

  • prop_draws (int) – Number of posterior draws used for the propensity score histogram. Defaults to 100.

  • ate_draws (int) – Number of posterior draws used to compute ATE samples. Defaults to 300.

Returns:

The matplotlib Figure and a list of three Axes objects.

Return type:

tuple[plt.Figure, list[plt.Axes]]