2.3.2. doubleml.did.DoubleMLDIDAggregation#

class doubleml.did.DoubleMLDIDAggregation(frameworks, aggregation_weights, overall_aggregation_weights=None, aggregation_names=None, aggregation_method_name='Custom', additional_information=None, additional_parameters=None)#

Class for aggregating multiple difference-in-differences (DID) frameworks.

This class enables weighted aggregation of multiple DoubleMLFramework objects, allowing for both multiple separate aggregations and an overall aggregation across them. It provides methods for summarizing and visualizing aggregated treatment effects.

Parameters:
  • frameworks (list) – List of DoubleMLFramework objects to aggregate. Each framework must be one-dimensional (n_thetas = 1).

  • aggregation_weights (numpy.ndarray) – 2D array of weights for aggregating frameworks. Shape should be (n_aggregations, n_frameworks), where each row corresponds to a separate aggregation of the frameworks.

  • overall_aggregation_weights (numpy.ndarray, optional) – 1D array of weights for aggregating across the aggregated frameworks. Length should equal the number of rows in aggregation_weights. If None, equal weights are used. Default is None.

  • aggregation_names (list of str, optional) – Names for each aggregation. Length should equal the number of rows in aggregation_weights. If None, default names like “Aggregation_0”, “Aggregation_1”, etc. are used. Default is None.

  • aggregation_method_name (str, optional) – Name describing the aggregation method used. Default is “Custom”.

  • additional_information (dict, optional) – Dictionary containing additional information to display in the string representation. Default is None.

  • additional_parameters (dict, optional) – Dictionary containing additional parameters used by the class methods. For example, can contain ‘aggregation_color_idx’ for plot_effects(). Default is None.

Methods

plot_effects([level, joint, figsize, ...])

Plot aggregated treatment effect estimates with confidence intervals.

Attributes

additional_information

Additional information

additional_parameters

Additional parameters

aggregated_frameworks

Aggregated frameworks

aggregated_summary

A summary for the aggregated effects.

aggregation_method_name

Aggregation method name

aggregation_names

Aggregation names

aggregation_weights

Aggregation weights

base_frameworks

Underlying frameworks

n_aggregations

Number of aggregations

overall_aggregated_framework

Overall aggregated framework

overall_aggregation_weights

Overall aggregation weights

overall_summary

A summary for the overall aggregated effect.

DoubleMLDIDAggregation.plot_effects(level=0.95, joint=True, figsize=(12, 6), sort_by=None, color_palette='colorblind', title='Aggregated Treatment Effects', y_label='Effect')#

Plot aggregated treatment effect estimates with confidence intervals.

Parameters:
  • level (float) – Confidence level for the intervals. Default is 0.95.

  • joint (bool) – Indicates whether joint confidence intervals are computed. Default is True.

  • figsize (tuple) – Figure size as (width, height). Default is (12, 6).

  • sort_by (str or None) – How to sort the results - ‘estimate’, ‘name’, or None. Default is None.

  • color_palette (str or list) – Seaborn color palette name or list of colors. Default is "colorblind".

  • title (str) – Title for the plot. Default is "Aggregated Treatment Effects".

  • y_label (str) – Label for y-axis. Default is "Effect".

Returns:

  • fig (matplotlib.figure.Figure) – The created figure object.

  • ax (matplotlib.axes.Axes) – The axes object for further customization.

Notes

If joint=True and bootstrapping hasn’t been performed, this method will automatically perform bootstrapping with default parameters and issue a warning.