From 111d7e17538418fb4c2f04ba7597e66caf4970f9 Mon Sep 17 00:00:00 2001 From: igerber Date: Sat, 9 May 2026 20:45:17 -0400 Subject: [PATCH 1/6] docs: custom autosummary template + residual triage (PR 2.5 of 2.5) Closes the gap PR #407 left: 614 of 635 PR #407-residual warnings were member-level duplicate-object descriptions because :no-index: on page-level autoclass directives doesn't propagate to autodoc-generated members. PR 2.5 adds a custom autosummary class.rst template with :no-members: on the stub autoclass, and a function.rst template with :no-index: on the stub autofunction. All 50 class stubs and 48 function stubs are auto-regenerated on the next clean build (autosummary_generate_overwrite=True default). Architecture: - Class cross-refs resolve to stub URL (per PR #407 page-level :no-index:) - Member cross-refs resolve to page-level URL (only place still registered) - Function cross-refs resolve to page-level URL (stub now :no-index:) - Page-level pages keep current full inline member rendering (UX preserved) - Stubs become "header + autosummary tables linking to page-level" Also addresses 18 non-duplicate residuals so make html now warns 0: - 4 footnote-not-referenced + 1 def-list blank-line in source docstrings - 4 :doc: refs to .md files (myst-parser absent) converted to literal text - 4 broken markdown links to REGISTRY.html in T18/T19 notebooks - 3 orphan benchmarks.rst citations removed - T19 + T20 added to Tutorials: Business Applications toctree - 2 stale autosummary entries fixed (DiDResults.ci, CallawaySantAnnaResults.aggregate) - 3 page-vs-page function dups (chaisemartin_dhaultfoeuille, stacked_did, trop) resolved by adding :no-index: to page-level autofunction directives and switching 3 path-qualified autoclass directives to top-level paths Result: Sphinx make html went 2,170 (PR #407 start) -> 0 warnings (PR 2.5 end). This unblocks PR 3 (queued: -W enforcement in docs-tests.yml). Co-Authored-By: Claude Opus 4.7 (1M context) --- diff_diff/results.py | 1 + diff_diff/triple_diff.py | 10 +- docs/_templates/autosummary/class.rst | 28 ++++++ docs/_templates/autosummary/function.rst | 6 ++ .../diff_diff.BaconDecomposition.rst | 3 +- .../diff_diff.BaconDecompositionResults.rst | 4 +- .../diff_diff.CSBootstrapResults.rst | 3 +- .../diff_diff.CallawaySantAnna.rst | 4 +- .../diff_diff.CallawaySantAnnaResults.rst | 18 +++- .../diff_diff.ChaisemartinDHaultfoeuille.rst | 33 +++++++ ...diff.ChaisemartinDHaultfoeuilleResults.rst | 97 +++++++++++++++++++ .../_autosummary/diff_diff.Comparison2x2.rst | 3 +- .../_autosummary/diff_diff.ContinuousDiD.rst | 3 +- .../diff_diff.ContinuousDiDResults.rst | 14 ++- .../diff_diff.DCDHBootstrapResults.rst | 57 +++++++++++ docs/api/_autosummary/diff_diff.DeltaRM.rst | 3 +- docs/api/_autosummary/diff_diff.DeltaSD.rst | 3 +- docs/api/_autosummary/diff_diff.DeltaSDRM.rst | 3 +- .../api/_autosummary/diff_diff.DiDResults.rst | 7 +- .../diff_diff.DifferenceInDifferences.rst | 3 +- .../diff_diff.DoseResponseCurve.rst | 4 +- .../diff_diff.EDiDBootstrapResults.rst | 3 +- .../_autosummary/diff_diff.EfficientDiD.rst | 4 +- .../diff_diff.EfficientDiDResults.rst | 17 +++- .../diff_diff.GroupTimeEffect.rst | 3 +- .../diff_diff.HeterogeneousAdoptionDiD.rst | 24 +++++ ...erogeneousAdoptionDiDEventStudyResults.rst | 59 +++++++++++ ...f_diff.HeterogeneousAdoptionDiDResults.rst | 53 ++++++++++ docs/api/_autosummary/diff_diff.HonestDiD.rst | 3 +- .../diff_diff.HonestDiDResults.rst | 8 +- .../diff_diff.ImputationBootstrapResults.rst | 3 +- .../_autosummary/diff_diff.ImputationDiD.rst | 14 ++- .../diff_diff.ImputationDiDResults.rst | 11 ++- .../_autosummary/diff_diff.MultiPeriodDiD.rst | 3 +- .../diff_diff.MultiPeriodDiDResults.rst | 15 ++- .../_autosummary/diff_diff.PeriodEffect.rst | 3 +- .../diff_diff.PlaceboTestResults.rst | 3 +- .../_autosummary/diff_diff.PowerAnalysis.rst | 3 +- .../_autosummary/diff_diff.PowerResults.rst | 4 +- .../_autosummary/diff_diff.PreTrendsPower.rst | 3 +- .../diff_diff.PreTrendsPowerCurve.rst | 3 +- .../diff_diff.PreTrendsPowerResults.rst | 3 +- .../diff_diff.SABootstrapResults.rst | 3 +- .../diff_diff.SensitivityResults.rst | 3 +- .../diff_diff.SimulationMDEResults.rst | 40 ++++++++ .../diff_diff.SimulationPowerResults.rst | 8 +- .../diff_diff.SimulationSampleSizeResults.rst | 40 ++++++++ .../api/_autosummary/diff_diff.StackedDiD.rst | 3 +- .../diff_diff.StackedDiDResults.rst | 11 ++- .../api/_autosummary/diff_diff.SunAbraham.rst | 3 +- .../diff_diff.SunAbrahamResults.rst | 11 ++- .../_autosummary/diff_diff.SyntheticDiD.rst | 3 +- .../diff_diff.SyntheticDiDResults.rst | 14 ++- docs/api/_autosummary/diff_diff.TROP.rst | 13 ++- .../_autosummary/diff_diff.TROPResults.rst | 5 +- .../diff_diff.TripleDifference.rst | 3 +- .../diff_diff.TripleDifferenceResults.rst | 8 +- .../diff_diff.TwoStageBootstrapResults.rst | 3 +- .../_autosummary/diff_diff.TwoStageDiD.rst | 13 ++- .../diff_diff.TwoStageDiDResults.rst | 11 ++- .../diff_diff.TwoWayFixedEffects.rst | 3 +- .../diff_diff.WildBootstrapResults.rst | 3 +- .../_autosummary/diff_diff.WooldridgeDiD.rst | 30 ++++++ .../diff_diff.aggregate_to_cohorts.rst | 3 +- .../_autosummary/diff_diff.balance_panel.rst | 3 +- .../diff_diff.check_parallel_trends.rst | 3 +- ...diff_diff.check_parallel_trends_robust.rst | 3 +- .../_autosummary/diff_diff.clear_cache.rst | 3 +- .../diff_diff.compute_honest_did.rst | 3 +- .../_autosummary/diff_diff.compute_mde.rst | 3 +- .../_autosummary/diff_diff.compute_mdv.rst | 3 +- .../_autosummary/diff_diff.compute_power.rst | 3 +- .../diff_diff.compute_pretrends_power.rst | 3 +- .../diff_diff.compute_sample_size.rst | 3 +- .../diff_diff.create_event_time.rst | 3 +- .../diff_diff.equivalence_test_trends.rst | 3 +- ...diff_diff.generate_continuous_did_data.rst | 3 +- .../diff_diff.generate_ddd_data.rst | 3 +- .../diff_diff.generate_did_data.rst | 3 +- .../diff_diff.generate_event_study_data.rst | 3 +- .../diff_diff.generate_factor_data.rst | 3 +- .../diff_diff.generate_panel_data.rst | 3 +- .../diff_diff.generate_staggered_data.rst | 3 +- .../diff_diff.leave_one_out_test.rst | 3 +- .../_autosummary/diff_diff.list_datasets.rst | 3 +- .../diff_diff.load_card_krueger.rst | 3 +- .../diff_diff.load_castle_doctrine.rst | 3 +- .../_autosummary/diff_diff.load_dataset.rst | 3 +- .../diff_diff.load_divorce_laws.rst | 3 +- .../api/_autosummary/diff_diff.load_mpdta.rst | 3 +- .../diff_diff.make_post_indicator.rst | 3 +- .../diff_diff.make_treatment_indicator.rst | 3 +- .../diff_diff.permutation_test.rst | 3 +- .../diff_diff.placebo_group_test.rst | 3 +- .../diff_diff.placebo_timing_test.rst | 3 +- .../api/_autosummary/diff_diff.plot_bacon.rst | 3 +- .../diff_diff.plot_event_study.rst | 3 +- .../diff_diff.plot_group_effects.rst | 3 +- .../diff_diff.plot_honest_event_study.rst | 3 +- .../diff_diff.plot_power_curve.rst | 3 +- .../diff_diff.plot_pretrends_power.rst | 3 +- .../diff_diff.plot_sensitivity.rst | 3 +- .../_autosummary/diff_diff.profile_panel.rst | 7 ++ .../diff_diff.rank_control_units.rst | 3 +- .../diff_diff.run_all_placebo_tests.rst | 3 +- .../diff_diff.run_placebo_test.rst | 3 +- .../diff_diff.sensitivity_plot.rst | 3 +- .../_autosummary/diff_diff.simulate_mde.rst | 7 ++ .../_autosummary/diff_diff.simulate_power.rst | 3 +- .../diff_diff.simulate_sample_size.rst | 7 ++ .../diff_diff.summarize_did_data.rst | 3 +- .../diff_diff.validate_did_data.rst | 3 +- .../_autosummary/diff_diff.wide_to_long.rst | 3 +- .../diff_diff.wild_bootstrap_se.rst | 3 +- ...ooldridge_results.WooldridgeDiDResults.rst | 54 +++++++++++ docs/api/business_report.rst | 4 +- docs/api/chaisemartin_dhaultfoeuille.rst | 3 +- docs/api/diagnostic_report.rst | 4 +- docs/api/results.rst | 2 +- docs/api/stacked_did.rst | 3 +- docs/api/staggered.rst | 1 - docs/api/trop.rst | 3 +- docs/benchmarks.rst | 12 --- docs/index.rst | 2 + docs/tutorials/18_geo_experiments.ipynb | 19 +--- docs/tutorials/19_dcdh_marketing_pulse.ipynb | 49 ++-------- 126 files changed, 872 insertions(+), 229 deletions(-) create mode 100644 docs/_templates/autosummary/class.rst create mode 100644 docs/_templates/autosummary/function.rst create mode 100644 docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst create mode 100644 docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst create mode 100644 docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst create mode 100644 docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst create mode 100644 docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst create mode 100644 docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst create mode 100644 docs/api/_autosummary/diff_diff.SimulationMDEResults.rst create mode 100644 docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst create mode 100644 docs/api/_autosummary/diff_diff.WooldridgeDiD.rst create mode 100644 docs/api/_autosummary/diff_diff.profile_panel.rst create mode 100644 docs/api/_autosummary/diff_diff.simulate_mde.rst create mode 100644 docs/api/_autosummary/diff_diff.simulate_sample_size.rst create mode 100644 docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst diff --git a/diff_diff/results.py b/diff_diff/results.py index 185feff4..cead3f52 100644 --- a/diff_diff/results.py +++ b/diff_diff/results.py @@ -1275,6 +1275,7 @@ def in_time_placebo( - ``pre_fit_rmse`` — RMSE on the fake pre-window - ``n_pre_fake`` — periods before the fake date - ``n_post_fake`` — periods from the fake date onward + NaN is emitted only for dimensional infeasibility. Frank-Wolfe does not expose a mid-solver non-convergence signal; inspect ``pre_fit_rmse`` for poor refit quality. diff --git a/diff_diff/triple_diff.py b/diff_diff/triple_diff.py index 958903c2..fc504507 100644 --- a/diff_diff/triple_diff.py +++ b/diff_diff/triple_diff.py @@ -355,11 +355,13 @@ class TripleDifference: Estimates the Average Treatment effect on the Treated (ATT) when treatment requires satisfying two criteria: belonging to a treated group AND being - in an eligible partition of the population. + in an eligible partition of the population. The DDD design was popularized + by Gruber (1994) [2]_. - This implementation follows Ortiz-Villavicencio & Sant'Anna (2025), which - shows that naive DDD implementations (difference of two DiDs, three-way - fixed effects) are invalid when covariates are needed for identification. + This implementation follows Ortiz-Villavicencio & Sant'Anna (2025) [1]_, + which shows that naive DDD implementations (difference of two DiDs, + three-way fixed effects) are invalid when covariates are needed for + identification. Parameters ---------- diff --git a/docs/_templates/autosummary/class.rst b/docs/_templates/autosummary/class.rst new file mode 100644 index 00000000..418eef81 --- /dev/null +++ b/docs/_templates/autosummary/class.rst @@ -0,0 +1,28 @@ +{{ fullname | escape | underline}} + +.. currentmodule:: {{ module }} + +.. autoclass:: {{ objname }} + :no-members: + + {% block methods %} + {% if methods %} + .. rubric:: {{ _('Methods') }} + + .. autosummary:: + {% for item in methods %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block attributes %} + {% if attributes %} + .. rubric:: {{ _('Attributes') }} + + .. autosummary:: + {% for item in attributes %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} diff --git a/docs/_templates/autosummary/function.rst b/docs/_templates/autosummary/function.rst new file mode 100644 index 00000000..e88e9916 --- /dev/null +++ b/docs/_templates/autosummary/function.rst @@ -0,0 +1,6 @@ +{{ fullname | escape | underline}} + +.. currentmodule:: {{ module }} + +.. autofunction:: {{ objname }} + :no-index: diff --git a/docs/api/_autosummary/diff_diff.BaconDecomposition.rst b/docs/api/_autosummary/diff_diff.BaconDecomposition.rst index 6086f861..18aaef68 100644 --- a/docs/api/_autosummary/diff_diff.BaconDecomposition.rst +++ b/docs/api/_autosummary/diff_diff.BaconDecomposition.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: BaconDecomposition + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst b/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst index a9efaff6..925a3b6a 100644 --- a/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst +++ b/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: BaconDecompositionResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -30,6 +29,7 @@ ~BaconDecompositionResults.decomposition_error ~BaconDecompositionResults.n_obs + ~BaconDecompositionResults.survey_metadata ~BaconDecompositionResults.twfe_estimate ~BaconDecompositionResults.comparisons ~BaconDecompositionResults.total_weight_treated_vs_never diff --git a/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst b/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst index 88bdda66..98f18eca 100644 --- a/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: CSBootstrapResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst b/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst index 65aeee39..7e160ba4 100644 --- a/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst +++ b/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst @@ -4,16 +4,16 @@ .. currentmodule:: diff_diff .. autoclass:: CallawaySantAnna + :no-members: - .. automethod:: __init__ - .. rubric:: Methods .. autosummary:: ~CallawaySantAnna.__init__ + ~CallawaySantAnna.diagnose_propensity ~CallawaySantAnna.fit ~CallawaySantAnna.get_params ~CallawaySantAnna.print_summary diff --git a/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst b/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst index dc2f10fe..0f4a932c 100644 --- a/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst +++ b/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst @@ -4,16 +4,16 @@ .. currentmodule:: diff_diff .. autoclass:: CallawaySantAnnaResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods .. autosummary:: ~CallawaySantAnnaResults.__init__ + ~CallawaySantAnnaResults.epv_summary ~CallawaySantAnnaResults.print_summary ~CallawaySantAnnaResults.summary ~CallawaySantAnnaResults.to_dataframe @@ -27,16 +27,30 @@ .. autosummary:: ~CallawaySantAnnaResults.alpha + ~CallawaySantAnnaResults.anticipation + ~CallawaySantAnnaResults.att ~CallawaySantAnnaResults.base_period ~CallawaySantAnnaResults.bootstrap_results ~CallawaySantAnnaResults.cband_crit_value + ~CallawaySantAnnaResults.coef_var + ~CallawaySantAnnaResults.conf_int ~CallawaySantAnnaResults.control_group + ~CallawaySantAnnaResults.epv_diagnostics + ~CallawaySantAnnaResults.epv_threshold ~CallawaySantAnnaResults.event_study_effects + ~CallawaySantAnnaResults.event_study_vcov + ~CallawaySantAnnaResults.event_study_vcov_index ~CallawaySantAnnaResults.group_effects ~CallawaySantAnnaResults.influence_functions ~CallawaySantAnnaResults.is_significant + ~CallawaySantAnnaResults.p_value + ~CallawaySantAnnaResults.panel + ~CallawaySantAnnaResults.pscore_fallback ~CallawaySantAnnaResults.pscore_trim + ~CallawaySantAnnaResults.se ~CallawaySantAnnaResults.significance_stars + ~CallawaySantAnnaResults.survey_metadata + ~CallawaySantAnnaResults.t_stat ~CallawaySantAnnaResults.group_time_effects ~CallawaySantAnnaResults.overall_att ~CallawaySantAnnaResults.overall_se diff --git a/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst new file mode 100644 index 00000000..1634a9d8 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst @@ -0,0 +1,33 @@ +diff\_diff.ChaisemartinDHaultfoeuille +===================================== + +.. currentmodule:: diff_diff + +.. autoclass:: ChaisemartinDHaultfoeuille + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~ChaisemartinDHaultfoeuille.__init__ + ~ChaisemartinDHaultfoeuille.fit + ~ChaisemartinDHaultfoeuille.get_params + ~ChaisemartinDHaultfoeuille.set_params + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~ChaisemartinDHaultfoeuille.n_bootstrap + ~ChaisemartinDHaultfoeuille.bootstrap_weights + ~ChaisemartinDHaultfoeuille.alpha + ~ChaisemartinDHaultfoeuille.seed + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst new file mode 100644 index 00000000..e9b12a20 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst @@ -0,0 +1,97 @@ +diff\_diff.ChaisemartinDHaultfoeuilleResults +============================================ + +.. currentmodule:: diff_diff + +.. autoclass:: ChaisemartinDHaultfoeuilleResults + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~ChaisemartinDHaultfoeuilleResults.__init__ + ~ChaisemartinDHaultfoeuilleResults.print_summary + ~ChaisemartinDHaultfoeuilleResults.summary + ~ChaisemartinDHaultfoeuilleResults.to_dataframe + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~ChaisemartinDHaultfoeuilleResults.L_max + ~ChaisemartinDHaultfoeuilleResults.alpha + ~ChaisemartinDHaultfoeuilleResults.att + ~ChaisemartinDHaultfoeuilleResults.bootstrap_results + ~ChaisemartinDHaultfoeuilleResults.coef_var + ~ChaisemartinDHaultfoeuilleResults.conf_int + ~ChaisemartinDHaultfoeuilleResults.cost_benefit_delta + ~ChaisemartinDHaultfoeuilleResults.covariate_residuals + ~ChaisemartinDHaultfoeuilleResults.design2_effects + ~ChaisemartinDHaultfoeuilleResults.event_study_effects + ~ChaisemartinDHaultfoeuilleResults.heterogeneity_effects + ~ChaisemartinDHaultfoeuilleResults.honest_did_results + ~ChaisemartinDHaultfoeuilleResults.is_significant + ~ChaisemartinDHaultfoeuilleResults.linear_trends_effects + ~ChaisemartinDHaultfoeuilleResults.normalized_effects + ~ChaisemartinDHaultfoeuilleResults.p_value + ~ChaisemartinDHaultfoeuilleResults.path_cumulated_event_study + ~ChaisemartinDHaultfoeuilleResults.path_effects + ~ChaisemartinDHaultfoeuilleResults.path_placebo_event_study + ~ChaisemartinDHaultfoeuilleResults.path_sup_t_bands + ~ChaisemartinDHaultfoeuilleResults.placebo_event_study + ~ChaisemartinDHaultfoeuilleResults.se + ~ChaisemartinDHaultfoeuilleResults.significance_stars + ~ChaisemartinDHaultfoeuilleResults.sup_t_bands + ~ChaisemartinDHaultfoeuilleResults.survey_metadata + ~ChaisemartinDHaultfoeuilleResults.t_stat + ~ChaisemartinDHaultfoeuilleResults.trends_linear + ~ChaisemartinDHaultfoeuilleResults.twfe_beta_fe + ~ChaisemartinDHaultfoeuilleResults.twfe_fraction_negative + ~ChaisemartinDHaultfoeuilleResults.twfe_sigma_fe + ~ChaisemartinDHaultfoeuilleResults.twfe_weights + ~ChaisemartinDHaultfoeuilleResults.overall_att + ~ChaisemartinDHaultfoeuilleResults.overall_se + ~ChaisemartinDHaultfoeuilleResults.overall_t_stat + ~ChaisemartinDHaultfoeuilleResults.overall_p_value + ~ChaisemartinDHaultfoeuilleResults.overall_conf_int + ~ChaisemartinDHaultfoeuilleResults.joiners_att + ~ChaisemartinDHaultfoeuilleResults.joiners_se + ~ChaisemartinDHaultfoeuilleResults.joiners_t_stat + ~ChaisemartinDHaultfoeuilleResults.joiners_p_value + ~ChaisemartinDHaultfoeuilleResults.joiners_conf_int + ~ChaisemartinDHaultfoeuilleResults.n_joiner_cells + ~ChaisemartinDHaultfoeuilleResults.n_joiner_obs + ~ChaisemartinDHaultfoeuilleResults.joiners_available + ~ChaisemartinDHaultfoeuilleResults.leavers_att + ~ChaisemartinDHaultfoeuilleResults.leavers_se + ~ChaisemartinDHaultfoeuilleResults.leavers_t_stat + ~ChaisemartinDHaultfoeuilleResults.leavers_p_value + ~ChaisemartinDHaultfoeuilleResults.leavers_conf_int + ~ChaisemartinDHaultfoeuilleResults.n_leaver_cells + ~ChaisemartinDHaultfoeuilleResults.n_leaver_obs + ~ChaisemartinDHaultfoeuilleResults.leavers_available + ~ChaisemartinDHaultfoeuilleResults.placebo_effect + ~ChaisemartinDHaultfoeuilleResults.placebo_se + ~ChaisemartinDHaultfoeuilleResults.placebo_t_stat + ~ChaisemartinDHaultfoeuilleResults.placebo_p_value + ~ChaisemartinDHaultfoeuilleResults.placebo_conf_int + ~ChaisemartinDHaultfoeuilleResults.placebo_available + ~ChaisemartinDHaultfoeuilleResults.per_period_effects + ~ChaisemartinDHaultfoeuilleResults.groups + ~ChaisemartinDHaultfoeuilleResults.time_periods + ~ChaisemartinDHaultfoeuilleResults.n_obs + ~ChaisemartinDHaultfoeuilleResults.n_treated_obs + ~ChaisemartinDHaultfoeuilleResults.n_switcher_cells + ~ChaisemartinDHaultfoeuilleResults.n_cohorts + ~ChaisemartinDHaultfoeuilleResults.n_groups_dropped_crossers + ~ChaisemartinDHaultfoeuilleResults.n_groups_dropped_singleton_baseline + ~ChaisemartinDHaultfoeuilleResults.n_groups_dropped_never_switching + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.Comparison2x2.rst b/docs/api/_autosummary/diff_diff.Comparison2x2.rst index 718f5e87..2d0e8380 100644 --- a/docs/api/_autosummary/diff_diff.Comparison2x2.rst +++ b/docs/api/_autosummary/diff_diff.Comparison2x2.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: Comparison2x2 + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.ContinuousDiD.rst b/docs/api/_autosummary/diff_diff.ContinuousDiD.rst index 4dd604be..8c6f5f68 100644 --- a/docs/api/_autosummary/diff_diff.ContinuousDiD.rst +++ b/docs/api/_autosummary/diff_diff.ContinuousDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: ContinuousDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst b/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst index ad1df6e7..d8919cc1 100644 --- a/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: ContinuousDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -28,17 +27,28 @@ ~ContinuousDiDResults.alpha ~ContinuousDiDResults.anticipation + ~ContinuousDiDResults.att ~ContinuousDiDResults.base_period ~ContinuousDiDResults.bootstrap_weights + ~ContinuousDiDResults.coef_var + ~ContinuousDiDResults.conf_int ~ContinuousDiDResults.control_group ~ContinuousDiDResults.degree ~ContinuousDiDResults.event_study_effects ~ContinuousDiDResults.is_significant ~ContinuousDiDResults.n_bootstrap ~ContinuousDiDResults.num_knots + ~ContinuousDiDResults.overall_conf_int + ~ContinuousDiDResults.overall_p_value + ~ContinuousDiDResults.overall_se + ~ContinuousDiDResults.overall_t_stat + ~ContinuousDiDResults.p_value ~ContinuousDiDResults.rank_deficient_action + ~ContinuousDiDResults.se ~ContinuousDiDResults.seed ~ContinuousDiDResults.significance_stars + ~ContinuousDiDResults.survey_metadata + ~ContinuousDiDResults.t_stat ~ContinuousDiDResults.dose_response_att ~ContinuousDiDResults.dose_response_acrt ~ContinuousDiDResults.overall_att diff --git a/docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst b/docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst new file mode 100644 index 00000000..a65b4b1c --- /dev/null +++ b/docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst @@ -0,0 +1,57 @@ +diff\_diff.DCDHBootstrapResults +=============================== + +.. currentmodule:: diff_diff + +.. autoclass:: DCDHBootstrapResults + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~DCDHBootstrapResults.__init__ + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~DCDHBootstrapResults.bootstrap_distribution + ~DCDHBootstrapResults.cband_crit_value + ~DCDHBootstrapResults.event_study_cis + ~DCDHBootstrapResults.event_study_p_values + ~DCDHBootstrapResults.event_study_ses + ~DCDHBootstrapResults.joiners_ci + ~DCDHBootstrapResults.joiners_p_value + ~DCDHBootstrapResults.joiners_se + ~DCDHBootstrapResults.leavers_ci + ~DCDHBootstrapResults.leavers_p_value + ~DCDHBootstrapResults.leavers_se + ~DCDHBootstrapResults.path_cband_crit_values + ~DCDHBootstrapResults.path_cband_n_valid_horizons + ~DCDHBootstrapResults.path_cis + ~DCDHBootstrapResults.path_p_values + ~DCDHBootstrapResults.path_placebo_cis + ~DCDHBootstrapResults.path_placebo_p_values + ~DCDHBootstrapResults.path_placebo_ses + ~DCDHBootstrapResults.path_ses + ~DCDHBootstrapResults.placebo_ci + ~DCDHBootstrapResults.placebo_horizon_cis + ~DCDHBootstrapResults.placebo_horizon_p_values + ~DCDHBootstrapResults.placebo_horizon_ses + ~DCDHBootstrapResults.placebo_p_value + ~DCDHBootstrapResults.placebo_se + ~DCDHBootstrapResults.n_bootstrap + ~DCDHBootstrapResults.weight_type + ~DCDHBootstrapResults.alpha + ~DCDHBootstrapResults.overall_se + ~DCDHBootstrapResults.overall_ci + ~DCDHBootstrapResults.overall_p_value + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.DeltaRM.rst b/docs/api/_autosummary/diff_diff.DeltaRM.rst index fb6504a7..c5fcc338 100644 --- a/docs/api/_autosummary/diff_diff.DeltaRM.rst +++ b/docs/api/_autosummary/diff_diff.DeltaRM.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: DeltaRM + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.DeltaSD.rst b/docs/api/_autosummary/diff_diff.DeltaSD.rst index 2c28198b..9a3d0601 100644 --- a/docs/api/_autosummary/diff_diff.DeltaSD.rst +++ b/docs/api/_autosummary/diff_diff.DeltaSD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: DeltaSD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.DeltaSDRM.rst b/docs/api/_autosummary/diff_diff.DeltaSDRM.rst index 69f2f39c..f8051955 100644 --- a/docs/api/_autosummary/diff_diff.DeltaSDRM.rst +++ b/docs/api/_autosummary/diff_diff.DeltaSDRM.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: DeltaSDRM + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.DiDResults.rst b/docs/api/_autosummary/diff_diff.DiDResults.rst index 34b12bdc..e8bc7bf5 100644 --- a/docs/api/_autosummary/diff_diff.DiDResults.rst +++ b/docs/api/_autosummary/diff_diff.DiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: DiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -29,6 +28,8 @@ ~DiDResults.alpha ~DiDResults.bootstrap_distribution + ~DiDResults.cluster_name + ~DiDResults.coef_var ~DiDResults.coefficients ~DiDResults.fitted_values ~DiDResults.inference_method @@ -38,7 +39,9 @@ ~DiDResults.r_squared ~DiDResults.residuals ~DiDResults.significance_stars + ~DiDResults.survey_metadata ~DiDResults.vcov + ~DiDResults.vcov_type ~DiDResults.att ~DiDResults.se ~DiDResults.t_stat diff --git a/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst b/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst index c0832387..e0779317 100644 --- a/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst +++ b/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: DifferenceInDifferences + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst b/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst index cbafdacc..04da9878 100644 --- a/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst +++ b/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: DoseResponseCurve + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -24,6 +23,7 @@ .. autosummary:: + ~DoseResponseCurve.df_survey ~DoseResponseCurve.n_bootstrap ~DoseResponseCurve.p_value ~DoseResponseCurve.dose_grid diff --git a/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst b/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst index bbd47e37..d049147a 100644 --- a/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: EDiDBootstrapResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.EfficientDiD.rst b/docs/api/_autosummary/diff_diff.EfficientDiD.rst index 6a53b576..7a89b2e7 100644 --- a/docs/api/_autosummary/diff_diff.EfficientDiD.rst +++ b/docs/api/_autosummary/diff_diff.EfficientDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: EfficientDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -16,6 +15,7 @@ ~EfficientDiD.__init__ ~EfficientDiD.fit ~EfficientDiD.get_params + ~EfficientDiD.hausman_pretest ~EfficientDiD.print_summary ~EfficientDiD.set_params ~EfficientDiD.summary diff --git a/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst b/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst index 58fa230f..d3dbcbb6 100644 --- a/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: EfficientDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -28,18 +27,32 @@ ~EfficientDiDResults.alpha ~EfficientDiDResults.anticipation + ~EfficientDiDResults.att ~EfficientDiDResults.bootstrap_results ~EfficientDiDResults.bootstrap_weights + ~EfficientDiDResults.cluster + ~EfficientDiDResults.coef_var + ~EfficientDiDResults.conf_int + ~EfficientDiDResults.control_group ~EfficientDiDResults.efficient_weights + ~EfficientDiDResults.estimation_path ~EfficientDiDResults.event_study_effects ~EfficientDiDResults.group_effects ~EfficientDiDResults.influence_functions ~EfficientDiDResults.is_significant + ~EfficientDiDResults.kernel_bandwidth ~EfficientDiDResults.n_bootstrap ~EfficientDiDResults.omega_condition_numbers + ~EfficientDiDResults.p_value ~EfficientDiDResults.pt_assumption + ~EfficientDiDResults.ratio_clip + ~EfficientDiDResults.se ~EfficientDiDResults.seed + ~EfficientDiDResults.sieve_criterion + ~EfficientDiDResults.sieve_k_max ~EfficientDiDResults.significance_stars + ~EfficientDiDResults.survey_metadata + ~EfficientDiDResults.t_stat ~EfficientDiDResults.group_time_effects ~EfficientDiDResults.overall_att ~EfficientDiDResults.overall_se diff --git a/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst b/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst index 7258267d..148231d3 100644 --- a/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst +++ b/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: GroupTimeEffect + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst new file mode 100644 index 00000000..06656d3f --- /dev/null +++ b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst @@ -0,0 +1,24 @@ +diff\_diff.HeterogeneousAdoptionDiD +=================================== + +.. currentmodule:: diff_diff + +.. autoclass:: HeterogeneousAdoptionDiD + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~HeterogeneousAdoptionDiD.__init__ + ~HeterogeneousAdoptionDiD.fit + ~HeterogeneousAdoptionDiD.get_params + ~HeterogeneousAdoptionDiD.set_params + + + + + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst new file mode 100644 index 00000000..5e1411de --- /dev/null +++ b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst @@ -0,0 +1,59 @@ +diff\_diff.HeterogeneousAdoptionDiDEventStudyResults +==================================================== + +.. currentmodule:: diff_diff + +.. autoclass:: HeterogeneousAdoptionDiDEventStudyResults + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~HeterogeneousAdoptionDiDEventStudyResults.__init__ + ~HeterogeneousAdoptionDiDEventStudyResults.print_summary + ~HeterogeneousAdoptionDiDEventStudyResults.summary + ~HeterogeneousAdoptionDiDEventStudyResults.to_dataframe + ~HeterogeneousAdoptionDiDEventStudyResults.to_dict + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~HeterogeneousAdoptionDiDEventStudyResults.cband_crit_value + ~HeterogeneousAdoptionDiDEventStudyResults.cband_high + ~HeterogeneousAdoptionDiDEventStudyResults.cband_low + ~HeterogeneousAdoptionDiDEventStudyResults.cband_method + ~HeterogeneousAdoptionDiDEventStudyResults.cband_n_bootstrap + ~HeterogeneousAdoptionDiDEventStudyResults.effective_dose_mean + ~HeterogeneousAdoptionDiDEventStudyResults.variance_formula + ~HeterogeneousAdoptionDiDEventStudyResults.event_times + ~HeterogeneousAdoptionDiDEventStudyResults.att + ~HeterogeneousAdoptionDiDEventStudyResults.se + ~HeterogeneousAdoptionDiDEventStudyResults.t_stat + ~HeterogeneousAdoptionDiDEventStudyResults.p_value + ~HeterogeneousAdoptionDiDEventStudyResults.conf_int_low + ~HeterogeneousAdoptionDiDEventStudyResults.conf_int_high + ~HeterogeneousAdoptionDiDEventStudyResults.n_obs_per_horizon + ~HeterogeneousAdoptionDiDEventStudyResults.alpha + ~HeterogeneousAdoptionDiDEventStudyResults.design + ~HeterogeneousAdoptionDiDEventStudyResults.target_parameter + ~HeterogeneousAdoptionDiDEventStudyResults.d_lower + ~HeterogeneousAdoptionDiDEventStudyResults.dose_mean + ~HeterogeneousAdoptionDiDEventStudyResults.F + ~HeterogeneousAdoptionDiDEventStudyResults.n_units + ~HeterogeneousAdoptionDiDEventStudyResults.inference_method + ~HeterogeneousAdoptionDiDEventStudyResults.vcov_type + ~HeterogeneousAdoptionDiDEventStudyResults.cluster_name + ~HeterogeneousAdoptionDiDEventStudyResults.survey_metadata + ~HeterogeneousAdoptionDiDEventStudyResults.bandwidth_diagnostics + ~HeterogeneousAdoptionDiDEventStudyResults.bias_corrected_fit + ~HeterogeneousAdoptionDiDEventStudyResults.filter_info + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst new file mode 100644 index 00000000..03db6840 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst @@ -0,0 +1,53 @@ +diff\_diff.HeterogeneousAdoptionDiDResults +========================================== + +.. currentmodule:: diff_diff + +.. autoclass:: HeterogeneousAdoptionDiDResults + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~HeterogeneousAdoptionDiDResults.__init__ + ~HeterogeneousAdoptionDiDResults.print_summary + ~HeterogeneousAdoptionDiDResults.summary + ~HeterogeneousAdoptionDiDResults.to_dataframe + ~HeterogeneousAdoptionDiDResults.to_dict + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~HeterogeneousAdoptionDiDResults.effective_dose_mean + ~HeterogeneousAdoptionDiDResults.variance_formula + ~HeterogeneousAdoptionDiDResults.att + ~HeterogeneousAdoptionDiDResults.se + ~HeterogeneousAdoptionDiDResults.t_stat + ~HeterogeneousAdoptionDiDResults.p_value + ~HeterogeneousAdoptionDiDResults.conf_int + ~HeterogeneousAdoptionDiDResults.alpha + ~HeterogeneousAdoptionDiDResults.design + ~HeterogeneousAdoptionDiDResults.target_parameter + ~HeterogeneousAdoptionDiDResults.d_lower + ~HeterogeneousAdoptionDiDResults.dose_mean + ~HeterogeneousAdoptionDiDResults.n_obs + ~HeterogeneousAdoptionDiDResults.n_treated + ~HeterogeneousAdoptionDiDResults.n_control + ~HeterogeneousAdoptionDiDResults.n_mass_point + ~HeterogeneousAdoptionDiDResults.n_above_d_lower + ~HeterogeneousAdoptionDiDResults.inference_method + ~HeterogeneousAdoptionDiDResults.vcov_type + ~HeterogeneousAdoptionDiDResults.cluster_name + ~HeterogeneousAdoptionDiDResults.survey_metadata + ~HeterogeneousAdoptionDiDResults.bandwidth_diagnostics + ~HeterogeneousAdoptionDiDResults.bias_corrected_fit + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.HonestDiD.rst b/docs/api/_autosummary/diff_diff.HonestDiD.rst index b83cff50..ff28c9dc 100644 --- a/docs/api/_autosummary/diff_diff.HonestDiD.rst +++ b/docs/api/_autosummary/diff_diff.HonestDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: HonestDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.HonestDiDResults.rst b/docs/api/_autosummary/diff_diff.HonestDiDResults.rst index 99a1b729..0cfa3fcb 100644 --- a/docs/api/_autosummary/diff_diff.HonestDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.HonestDiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: HonestDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -30,11 +29,16 @@ ~HonestDiDResults.alpha ~HonestDiDResults.ci_method ~HonestDiDResults.ci_width + ~HonestDiDResults.df_survey ~HonestDiDResults.event_study_bounds ~HonestDiDResults.identified_set_width ~HonestDiDResults.is_significant ~HonestDiDResults.original_results + ~HonestDiDResults.post_periods_used + ~HonestDiDResults.pre_periods_used ~HonestDiDResults.significance_stars + ~HonestDiDResults.survey_metadata + ~HonestDiDResults.target_label ~HonestDiDResults.lb ~HonestDiDResults.ub ~HonestDiDResults.ci_lb diff --git a/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst b/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst index 62d6e57e..1caabc4c 100644 --- a/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: ImputationBootstrapResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.ImputationDiD.rst b/docs/api/_autosummary/diff_diff.ImputationDiD.rst index 21995ef3..a9ecd2fb 100644 --- a/docs/api/_autosummary/diff_diff.ImputationDiD.rst +++ b/docs/api/_autosummary/diff_diff.ImputationDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: ImputationDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -24,4 +23,15 @@ + .. rubric:: Attributes + + .. autosummary:: + + ~ImputationDiD.n_bootstrap + ~ImputationDiD.bootstrap_weights + ~ImputationDiD.alpha + ~ImputationDiD.seed + ~ImputationDiD.anticipation + ~ImputationDiD.horizon_max + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst b/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst index 5295eff3..a75d14e3 100644 --- a/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: ImputationDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -28,10 +27,18 @@ .. autosummary:: ~ImputationDiDResults.alpha + ~ImputationDiDResults.anticipation + ~ImputationDiDResults.att ~ImputationDiDResults.bootstrap_results + ~ImputationDiDResults.coef_var + ~ImputationDiDResults.conf_int ~ImputationDiDResults.is_significant + ~ImputationDiDResults.p_value ~ImputationDiDResults.pretrend_results + ~ImputationDiDResults.se ~ImputationDiDResults.significance_stars + ~ImputationDiDResults.survey_metadata + ~ImputationDiDResults.t_stat ~ImputationDiDResults.treatment_effects ~ImputationDiDResults.overall_att ~ImputationDiDResults.overall_se diff --git a/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst b/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst index 8cdb2b49..2b22f6ca 100644 --- a/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst +++ b/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: MultiPeriodDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst b/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst index fee778ac..1d886479 100644 --- a/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: MultiPeriodDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -29,17 +28,29 @@ .. autosummary:: ~MultiPeriodDiDResults.alpha + ~MultiPeriodDiDResults.att + ~MultiPeriodDiDResults.cluster_name + ~MultiPeriodDiDResults.coef_var ~MultiPeriodDiDResults.coefficients + ~MultiPeriodDiDResults.conf_int ~MultiPeriodDiDResults.fitted_values + ~MultiPeriodDiDResults.inference_method ~MultiPeriodDiDResults.interaction_indices ~MultiPeriodDiDResults.is_significant + ~MultiPeriodDiDResults.n_bootstrap + ~MultiPeriodDiDResults.n_clusters + ~MultiPeriodDiDResults.p_value ~MultiPeriodDiDResults.post_period_effects ~MultiPeriodDiDResults.pre_period_effects ~MultiPeriodDiDResults.r_squared ~MultiPeriodDiDResults.reference_period ~MultiPeriodDiDResults.residuals + ~MultiPeriodDiDResults.se ~MultiPeriodDiDResults.significance_stars + ~MultiPeriodDiDResults.survey_metadata + ~MultiPeriodDiDResults.t_stat ~MultiPeriodDiDResults.vcov + ~MultiPeriodDiDResults.vcov_type ~MultiPeriodDiDResults.period_effects ~MultiPeriodDiDResults.avg_att ~MultiPeriodDiDResults.avg_se diff --git a/docs/api/_autosummary/diff_diff.PeriodEffect.rst b/docs/api/_autosummary/diff_diff.PeriodEffect.rst index c92e2fc3..3c48188d 100644 --- a/docs/api/_autosummary/diff_diff.PeriodEffect.rst +++ b/docs/api/_autosummary/diff_diff.PeriodEffect.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: PeriodEffect + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst b/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst index 99bb7f0b..8a7712d2 100644 --- a/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst +++ b/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: PlaceboTestResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.PowerAnalysis.rst b/docs/api/_autosummary/diff_diff.PowerAnalysis.rst index ee97ad01..6ba17810 100644 --- a/docs/api/_autosummary/diff_diff.PowerAnalysis.rst +++ b/docs/api/_autosummary/diff_diff.PowerAnalysis.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: PowerAnalysis + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.PowerResults.rst b/docs/api/_autosummary/diff_diff.PowerResults.rst index 46f7948e..9dc908d6 100644 --- a/docs/api/_autosummary/diff_diff.PowerResults.rst +++ b/docs/api/_autosummary/diff_diff.PowerResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: PowerResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -27,6 +26,7 @@ .. autosummary:: + ~PowerResults.deff ~PowerResults.design ~PowerResults.rho ~PowerResults.power diff --git a/docs/api/_autosummary/diff_diff.PreTrendsPower.rst b/docs/api/_autosummary/diff_diff.PreTrendsPower.rst index c685085f..d74ae935 100644 --- a/docs/api/_autosummary/diff_diff.PreTrendsPower.rst +++ b/docs/api/_autosummary/diff_diff.PreTrendsPower.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: PreTrendsPower + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst b/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst index 70caeb77..50a84ad5 100644 --- a/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst +++ b/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: PreTrendsPowerCurve + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst b/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst index da320524..d19c8c83 100644 --- a/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst +++ b/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: PreTrendsPowerResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.SABootstrapResults.rst b/docs/api/_autosummary/diff_diff.SABootstrapResults.rst index a39d3b39..f30d4f67 100644 --- a/docs/api/_autosummary/diff_diff.SABootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.SABootstrapResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: SABootstrapResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.SensitivityResults.rst b/docs/api/_autosummary/diff_diff.SensitivityResults.rst index 4c30df18..8c0e4ab9 100644 --- a/docs/api/_autosummary/diff_diff.SensitivityResults.rst +++ b/docs/api/_autosummary/diff_diff.SensitivityResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: SensitivityResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.SimulationMDEResults.rst b/docs/api/_autosummary/diff_diff.SimulationMDEResults.rst new file mode 100644 index 00000000..2713b5ee --- /dev/null +++ b/docs/api/_autosummary/diff_diff.SimulationMDEResults.rst @@ -0,0 +1,40 @@ +diff\_diff.SimulationMDEResults +=============================== + +.. currentmodule:: diff_diff + +.. autoclass:: SimulationMDEResults + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~SimulationMDEResults.__init__ + ~SimulationMDEResults.summary + ~SimulationMDEResults.to_dataframe + ~SimulationMDEResults.to_dict + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~SimulationMDEResults.effective_n_units + ~SimulationMDEResults.survey_config + ~SimulationMDEResults.mde + ~SimulationMDEResults.power_at_mde + ~SimulationMDEResults.target_power + ~SimulationMDEResults.alpha + ~SimulationMDEResults.n_units + ~SimulationMDEResults.n_simulations_per_step + ~SimulationMDEResults.n_steps + ~SimulationMDEResults.search_path + ~SimulationMDEResults.estimator_name + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst b/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst index 0a4f46e1..2573230f 100644 --- a/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst +++ b/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: SimulationPowerResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -28,7 +27,12 @@ .. autosummary:: + ~SimulationPowerResults.effective_n_units + ~SimulationPowerResults.mean_deff + ~SimulationPowerResults.mean_icc_realized + ~SimulationPowerResults.n_simulation_failures ~SimulationPowerResults.simulation_results + ~SimulationPowerResults.survey_config ~SimulationPowerResults.power ~SimulationPowerResults.power_se ~SimulationPowerResults.power_ci diff --git a/docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst b/docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst new file mode 100644 index 00000000..ebcd6417 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst @@ -0,0 +1,40 @@ +diff\_diff.SimulationSampleSizeResults +====================================== + +.. currentmodule:: diff_diff + +.. autoclass:: SimulationSampleSizeResults + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~SimulationSampleSizeResults.__init__ + ~SimulationSampleSizeResults.summary + ~SimulationSampleSizeResults.to_dataframe + ~SimulationSampleSizeResults.to_dict + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~SimulationSampleSizeResults.effective_n_units + ~SimulationSampleSizeResults.survey_config + ~SimulationSampleSizeResults.required_n + ~SimulationSampleSizeResults.power_at_n + ~SimulationSampleSizeResults.target_power + ~SimulationSampleSizeResults.alpha + ~SimulationSampleSizeResults.effect_size + ~SimulationSampleSizeResults.n_simulations_per_step + ~SimulationSampleSizeResults.n_steps + ~SimulationSampleSizeResults.search_path + ~SimulationSampleSizeResults.estimator_name + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.StackedDiD.rst b/docs/api/_autosummary/diff_diff.StackedDiD.rst index 50546d33..7982ddd3 100644 --- a/docs/api/_autosummary/diff_diff.StackedDiD.rst +++ b/docs/api/_autosummary/diff_diff.StackedDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: StackedDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.StackedDiDResults.rst b/docs/api/_autosummary/diff_diff.StackedDiDResults.rst index b9586304..ad16f96e 100644 --- a/docs/api/_autosummary/diff_diff.StackedDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.StackedDiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: StackedDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -27,7 +26,11 @@ .. autosummary:: ~StackedDiDResults.alpha + ~StackedDiDResults.anticipation + ~StackedDiDResults.att ~StackedDiDResults.clean_control + ~StackedDiDResults.coef_var + ~StackedDiDResults.conf_int ~StackedDiDResults.is_significant ~StackedDiDResults.kappa_post ~StackedDiDResults.kappa_pre @@ -36,7 +39,11 @@ ~StackedDiDResults.n_stacked_obs ~StackedDiDResults.n_sub_experiments ~StackedDiDResults.n_treated_units + ~StackedDiDResults.p_value + ~StackedDiDResults.se ~StackedDiDResults.significance_stars + ~StackedDiDResults.survey_metadata + ~StackedDiDResults.t_stat ~StackedDiDResults.weighting ~StackedDiDResults.overall_att ~StackedDiDResults.overall_se diff --git a/docs/api/_autosummary/diff_diff.SunAbraham.rst b/docs/api/_autosummary/diff_diff.SunAbraham.rst index eadb3608..669c22d2 100644 --- a/docs/api/_autosummary/diff_diff.SunAbraham.rst +++ b/docs/api/_autosummary/diff_diff.SunAbraham.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: SunAbraham + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst b/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst index fb259973..ac045f28 100644 --- a/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst +++ b/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: SunAbrahamResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -27,11 +26,19 @@ .. autosummary:: ~SunAbrahamResults.alpha + ~SunAbrahamResults.anticipation + ~SunAbrahamResults.att ~SunAbrahamResults.bootstrap_results + ~SunAbrahamResults.coef_var ~SunAbrahamResults.cohort_effects + ~SunAbrahamResults.conf_int ~SunAbrahamResults.control_group ~SunAbrahamResults.is_significant + ~SunAbrahamResults.p_value + ~SunAbrahamResults.se ~SunAbrahamResults.significance_stars + ~SunAbrahamResults.survey_metadata + ~SunAbrahamResults.t_stat ~SunAbrahamResults.event_study_effects ~SunAbrahamResults.overall_att ~SunAbrahamResults.overall_se diff --git a/docs/api/_autosummary/diff_diff.SyntheticDiD.rst b/docs/api/_autosummary/diff_diff.SyntheticDiD.rst index 4e03c271..d191e12e 100644 --- a/docs/api/_autosummary/diff_diff.SyntheticDiD.rst +++ b/docs/api/_autosummary/diff_diff.SyntheticDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: SyntheticDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst b/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst index 1b996bdd..75f9cef2 100644 --- a/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst @@ -4,19 +4,22 @@ .. currentmodule:: diff_diff .. autoclass:: SyntheticDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods .. autosummary:: ~SyntheticDiDResults.__init__ + ~SyntheticDiDResults.get_loo_effects_df ~SyntheticDiDResults.get_time_weights_df ~SyntheticDiDResults.get_unit_weights_df + ~SyntheticDiDResults.get_weight_concentration + ~SyntheticDiDResults.in_time_placebo ~SyntheticDiDResults.print_summary + ~SyntheticDiDResults.sensitivity_to_zeta_omega ~SyntheticDiDResults.summary ~SyntheticDiDResults.to_dataframe ~SyntheticDiDResults.to_dict @@ -30,12 +33,19 @@ .. autosummary:: ~SyntheticDiDResults.alpha + ~SyntheticDiDResults.coef_var ~SyntheticDiDResults.is_significant ~SyntheticDiDResults.n_bootstrap ~SyntheticDiDResults.noise_level ~SyntheticDiDResults.placebo_effects ~SyntheticDiDResults.pre_treatment_fit ~SyntheticDiDResults.significance_stars + ~SyntheticDiDResults.survey_metadata + ~SyntheticDiDResults.synthetic_post_trajectory + ~SyntheticDiDResults.synthetic_pre_trajectory + ~SyntheticDiDResults.time_weights_array + ~SyntheticDiDResults.treated_post_trajectory + ~SyntheticDiDResults.treated_pre_trajectory ~SyntheticDiDResults.variance_method ~SyntheticDiDResults.zeta_lambda ~SyntheticDiDResults.zeta_omega diff --git a/docs/api/_autosummary/diff_diff.TROP.rst b/docs/api/_autosummary/diff_diff.TROP.rst index c223329d..aa782f94 100644 --- a/docs/api/_autosummary/diff_diff.TROP.rst +++ b/docs/api/_autosummary/diff_diff.TROP.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: TROP + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -27,5 +26,15 @@ .. autosummary:: ~TROP.CONVERGENCE_TOL_SVD + ~TROP.max_iter + ~TROP.tol + ~TROP.n_bootstrap + ~TROP.seed + ~TROP.lambda_time_grid + ~TROP.lambda_unit_grid + ~TROP.lambda_nn_grid + ~TROP.alpha + ~TROP.results_ + ~TROP.is_fitted_ \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.TROPResults.rst b/docs/api/_autosummary/diff_diff.TROPResults.rst index a111fe37..4bc738fb 100644 --- a/docs/api/_autosummary/diff_diff.TROPResults.rst +++ b/docs/api/_autosummary/diff_diff.TROPResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: TROPResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -32,11 +31,13 @@ ~TROPResults.alpha ~TROPResults.bootstrap_distribution + ~TROPResults.coef_var ~TROPResults.is_significant ~TROPResults.n_bootstrap ~TROPResults.n_post_periods ~TROPResults.n_pre_periods ~TROPResults.significance_stars + ~TROPResults.survey_metadata ~TROPResults.att ~TROPResults.se ~TROPResults.t_stat diff --git a/docs/api/_autosummary/diff_diff.TripleDifference.rst b/docs/api/_autosummary/diff_diff.TripleDifference.rst index 37621322..dc09ebac 100644 --- a/docs/api/_autosummary/diff_diff.TripleDifference.rst +++ b/docs/api/_autosummary/diff_diff.TripleDifference.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: TripleDifference + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst b/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst index cfaf2368..a3d19042 100644 --- a/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst +++ b/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst @@ -4,16 +4,16 @@ .. currentmodule:: diff_diff .. autoclass:: TripleDifferenceResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods .. autosummary:: ~TripleDifferenceResults.__init__ + ~TripleDifferenceResults.epv_summary ~TripleDifferenceResults.print_summary ~TripleDifferenceResults.summary ~TripleDifferenceResults.to_dataframe @@ -29,14 +29,18 @@ ~TripleDifferenceResults.alpha ~TripleDifferenceResults.covariate_balance + ~TripleDifferenceResults.epv_diagnostics + ~TripleDifferenceResults.epv_threshold ~TripleDifferenceResults.group_means ~TripleDifferenceResults.inference_method ~TripleDifferenceResults.is_significant ~TripleDifferenceResults.n_bootstrap ~TripleDifferenceResults.n_clusters + ~TripleDifferenceResults.pscore_fallback ~TripleDifferenceResults.pscore_stats ~TripleDifferenceResults.r_squared ~TripleDifferenceResults.significance_stars + ~TripleDifferenceResults.survey_metadata ~TripleDifferenceResults.att ~TripleDifferenceResults.se ~TripleDifferenceResults.t_stat diff --git a/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst b/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst index f38b4e42..5dac3ee1 100644 --- a/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: TwoStageBootstrapResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.TwoStageDiD.rst b/docs/api/_autosummary/diff_diff.TwoStageDiD.rst index 648b8131..06b62a0c 100644 --- a/docs/api/_autosummary/diff_diff.TwoStageDiD.rst +++ b/docs/api/_autosummary/diff_diff.TwoStageDiD.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: TwoStageDiD + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -24,4 +23,14 @@ + .. rubric:: Attributes + + .. autosummary:: + + ~TwoStageDiD.n_bootstrap + ~TwoStageDiD.bootstrap_weights + ~TwoStageDiD.alpha + ~TwoStageDiD.seed + ~TwoStageDiD.horizon_max + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst b/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst index 624a26dd..25aeec6d 100644 --- a/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: TwoStageDiDResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods @@ -27,9 +26,17 @@ .. autosummary:: ~TwoStageDiDResults.alpha + ~TwoStageDiDResults.anticipation + ~TwoStageDiDResults.att ~TwoStageDiDResults.bootstrap_results + ~TwoStageDiDResults.coef_var + ~TwoStageDiDResults.conf_int ~TwoStageDiDResults.is_significant + ~TwoStageDiDResults.p_value + ~TwoStageDiDResults.se ~TwoStageDiDResults.significance_stars + ~TwoStageDiDResults.survey_metadata + ~TwoStageDiDResults.t_stat ~TwoStageDiDResults.treatment_effects ~TwoStageDiDResults.overall_att ~TwoStageDiDResults.overall_se diff --git a/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst b/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst index 8eddb62b..ebaa0338 100644 --- a/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst +++ b/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: TwoWayFixedEffects + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst b/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst index a61f6ce2..5ba36bb0 100644 --- a/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst @@ -4,10 +4,9 @@ .. currentmodule:: diff_diff .. autoclass:: WildBootstrapResults + :no-members: - .. automethod:: __init__ - .. rubric:: Methods diff --git a/docs/api/_autosummary/diff_diff.WooldridgeDiD.rst b/docs/api/_autosummary/diff_diff.WooldridgeDiD.rst new file mode 100644 index 00000000..4a773d1f --- /dev/null +++ b/docs/api/_autosummary/diff_diff.WooldridgeDiD.rst @@ -0,0 +1,30 @@ +diff\_diff.WooldridgeDiD +======================== + +.. currentmodule:: diff_diff + +.. autoclass:: WooldridgeDiD + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~WooldridgeDiD.__init__ + ~WooldridgeDiD.fit + ~WooldridgeDiD.get_params + ~WooldridgeDiD.set_params + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~WooldridgeDiD.results_ + + \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.aggregate_to_cohorts.rst b/docs/api/_autosummary/diff_diff.aggregate_to_cohorts.rst index 24d5b63c..5084819f 100644 --- a/docs/api/_autosummary/diff_diff.aggregate_to_cohorts.rst +++ b/docs/api/_autosummary/diff_diff.aggregate_to_cohorts.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: aggregate_to_cohorts \ No newline at end of file +.. autofunction:: aggregate_to_cohorts + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.balance_panel.rst b/docs/api/_autosummary/diff_diff.balance_panel.rst index bf163bc9..6b4bb834 100644 --- a/docs/api/_autosummary/diff_diff.balance_panel.rst +++ b/docs/api/_autosummary/diff_diff.balance_panel.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: balance_panel \ No newline at end of file +.. autofunction:: balance_panel + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.check_parallel_trends.rst b/docs/api/_autosummary/diff_diff.check_parallel_trends.rst index bf77dd37..dadfbcf7 100644 --- a/docs/api/_autosummary/diff_diff.check_parallel_trends.rst +++ b/docs/api/_autosummary/diff_diff.check_parallel_trends.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: check_parallel_trends \ No newline at end of file +.. autofunction:: check_parallel_trends + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.check_parallel_trends_robust.rst b/docs/api/_autosummary/diff_diff.check_parallel_trends_robust.rst index 9780e1b8..6e475c51 100644 --- a/docs/api/_autosummary/diff_diff.check_parallel_trends_robust.rst +++ b/docs/api/_autosummary/diff_diff.check_parallel_trends_robust.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: check_parallel_trends_robust \ No newline at end of file +.. autofunction:: check_parallel_trends_robust + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.clear_cache.rst b/docs/api/_autosummary/diff_diff.clear_cache.rst index 3a0a778f..fa59c55a 100644 --- a/docs/api/_autosummary/diff_diff.clear_cache.rst +++ b/docs/api/_autosummary/diff_diff.clear_cache.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: clear_cache \ No newline at end of file +.. autofunction:: clear_cache + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.compute_honest_did.rst b/docs/api/_autosummary/diff_diff.compute_honest_did.rst index 128b910b..8bab8f4f 100644 --- a/docs/api/_autosummary/diff_diff.compute_honest_did.rst +++ b/docs/api/_autosummary/diff_diff.compute_honest_did.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: compute_honest_did \ No newline at end of file +.. autofunction:: compute_honest_did + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.compute_mde.rst b/docs/api/_autosummary/diff_diff.compute_mde.rst index 2962fb3a..37c3031a 100644 --- a/docs/api/_autosummary/diff_diff.compute_mde.rst +++ b/docs/api/_autosummary/diff_diff.compute_mde.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: compute_mde \ No newline at end of file +.. autofunction:: compute_mde + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.compute_mdv.rst b/docs/api/_autosummary/diff_diff.compute_mdv.rst index a015be76..7b526017 100644 --- a/docs/api/_autosummary/diff_diff.compute_mdv.rst +++ b/docs/api/_autosummary/diff_diff.compute_mdv.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: compute_mdv \ No newline at end of file +.. autofunction:: compute_mdv + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.compute_power.rst b/docs/api/_autosummary/diff_diff.compute_power.rst index 5afd4245..65b134a6 100644 --- a/docs/api/_autosummary/diff_diff.compute_power.rst +++ b/docs/api/_autosummary/diff_diff.compute_power.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: compute_power \ No newline at end of file +.. autofunction:: compute_power + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.compute_pretrends_power.rst b/docs/api/_autosummary/diff_diff.compute_pretrends_power.rst index 776dd827..5d5b74ff 100644 --- a/docs/api/_autosummary/diff_diff.compute_pretrends_power.rst +++ b/docs/api/_autosummary/diff_diff.compute_pretrends_power.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: compute_pretrends_power \ No newline at end of file +.. autofunction:: compute_pretrends_power + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.compute_sample_size.rst b/docs/api/_autosummary/diff_diff.compute_sample_size.rst index e26beba1..eb53501c 100644 --- a/docs/api/_autosummary/diff_diff.compute_sample_size.rst +++ b/docs/api/_autosummary/diff_diff.compute_sample_size.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: compute_sample_size \ No newline at end of file +.. autofunction:: compute_sample_size + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.create_event_time.rst b/docs/api/_autosummary/diff_diff.create_event_time.rst index 3b660100..fef2b94c 100644 --- a/docs/api/_autosummary/diff_diff.create_event_time.rst +++ b/docs/api/_autosummary/diff_diff.create_event_time.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: create_event_time \ No newline at end of file +.. autofunction:: create_event_time + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.equivalence_test_trends.rst b/docs/api/_autosummary/diff_diff.equivalence_test_trends.rst index d4422557..abe0f6b9 100644 --- a/docs/api/_autosummary/diff_diff.equivalence_test_trends.rst +++ b/docs/api/_autosummary/diff_diff.equivalence_test_trends.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: equivalence_test_trends \ No newline at end of file +.. autofunction:: equivalence_test_trends + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.generate_continuous_did_data.rst b/docs/api/_autosummary/diff_diff.generate_continuous_did_data.rst index 7302b87c..488afb1a 100644 --- a/docs/api/_autosummary/diff_diff.generate_continuous_did_data.rst +++ b/docs/api/_autosummary/diff_diff.generate_continuous_did_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: generate_continuous_did_data \ No newline at end of file +.. autofunction:: generate_continuous_did_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.generate_ddd_data.rst b/docs/api/_autosummary/diff_diff.generate_ddd_data.rst index 9c511d33..0e069e15 100644 --- a/docs/api/_autosummary/diff_diff.generate_ddd_data.rst +++ b/docs/api/_autosummary/diff_diff.generate_ddd_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: generate_ddd_data \ No newline at end of file +.. autofunction:: generate_ddd_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.generate_did_data.rst b/docs/api/_autosummary/diff_diff.generate_did_data.rst index 387ea053..07b744a3 100644 --- a/docs/api/_autosummary/diff_diff.generate_did_data.rst +++ b/docs/api/_autosummary/diff_diff.generate_did_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: generate_did_data \ No newline at end of file +.. autofunction:: generate_did_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.generate_event_study_data.rst b/docs/api/_autosummary/diff_diff.generate_event_study_data.rst index 15d7134e..c866a4bc 100644 --- a/docs/api/_autosummary/diff_diff.generate_event_study_data.rst +++ b/docs/api/_autosummary/diff_diff.generate_event_study_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: generate_event_study_data \ No newline at end of file +.. autofunction:: generate_event_study_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.generate_factor_data.rst b/docs/api/_autosummary/diff_diff.generate_factor_data.rst index f4c3c0fa..06d430b6 100644 --- a/docs/api/_autosummary/diff_diff.generate_factor_data.rst +++ b/docs/api/_autosummary/diff_diff.generate_factor_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: generate_factor_data \ No newline at end of file +.. autofunction:: generate_factor_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.generate_panel_data.rst b/docs/api/_autosummary/diff_diff.generate_panel_data.rst index 48f25044..92d18e33 100644 --- a/docs/api/_autosummary/diff_diff.generate_panel_data.rst +++ b/docs/api/_autosummary/diff_diff.generate_panel_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: generate_panel_data \ No newline at end of file +.. autofunction:: generate_panel_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.generate_staggered_data.rst b/docs/api/_autosummary/diff_diff.generate_staggered_data.rst index 18686f59..4f2ca199 100644 --- a/docs/api/_autosummary/diff_diff.generate_staggered_data.rst +++ b/docs/api/_autosummary/diff_diff.generate_staggered_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: generate_staggered_data \ No newline at end of file +.. autofunction:: generate_staggered_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.leave_one_out_test.rst b/docs/api/_autosummary/diff_diff.leave_one_out_test.rst index 24f0c6c9..ea7cd428 100644 --- a/docs/api/_autosummary/diff_diff.leave_one_out_test.rst +++ b/docs/api/_autosummary/diff_diff.leave_one_out_test.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: leave_one_out_test \ No newline at end of file +.. autofunction:: leave_one_out_test + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.list_datasets.rst b/docs/api/_autosummary/diff_diff.list_datasets.rst index 25f27152..d93feae6 100644 --- a/docs/api/_autosummary/diff_diff.list_datasets.rst +++ b/docs/api/_autosummary/diff_diff.list_datasets.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: list_datasets \ No newline at end of file +.. autofunction:: list_datasets + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.load_card_krueger.rst b/docs/api/_autosummary/diff_diff.load_card_krueger.rst index 9a8191c9..2ded9e96 100644 --- a/docs/api/_autosummary/diff_diff.load_card_krueger.rst +++ b/docs/api/_autosummary/diff_diff.load_card_krueger.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: load_card_krueger \ No newline at end of file +.. autofunction:: load_card_krueger + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.load_castle_doctrine.rst b/docs/api/_autosummary/diff_diff.load_castle_doctrine.rst index 65729d66..91d49347 100644 --- a/docs/api/_autosummary/diff_diff.load_castle_doctrine.rst +++ b/docs/api/_autosummary/diff_diff.load_castle_doctrine.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: load_castle_doctrine \ No newline at end of file +.. autofunction:: load_castle_doctrine + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.load_dataset.rst b/docs/api/_autosummary/diff_diff.load_dataset.rst index a39ef3ca..71224ee7 100644 --- a/docs/api/_autosummary/diff_diff.load_dataset.rst +++ b/docs/api/_autosummary/diff_diff.load_dataset.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: load_dataset \ No newline at end of file +.. autofunction:: load_dataset + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.load_divorce_laws.rst b/docs/api/_autosummary/diff_diff.load_divorce_laws.rst index 7ba295ab..3ac17950 100644 --- a/docs/api/_autosummary/diff_diff.load_divorce_laws.rst +++ b/docs/api/_autosummary/diff_diff.load_divorce_laws.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: load_divorce_laws \ No newline at end of file +.. autofunction:: load_divorce_laws + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.load_mpdta.rst b/docs/api/_autosummary/diff_diff.load_mpdta.rst index bda15b2a..7f94f463 100644 --- a/docs/api/_autosummary/diff_diff.load_mpdta.rst +++ b/docs/api/_autosummary/diff_diff.load_mpdta.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: load_mpdta \ No newline at end of file +.. autofunction:: load_mpdta + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.make_post_indicator.rst b/docs/api/_autosummary/diff_diff.make_post_indicator.rst index daed0e26..de56260f 100644 --- a/docs/api/_autosummary/diff_diff.make_post_indicator.rst +++ b/docs/api/_autosummary/diff_diff.make_post_indicator.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: make_post_indicator \ No newline at end of file +.. autofunction:: make_post_indicator + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.make_treatment_indicator.rst b/docs/api/_autosummary/diff_diff.make_treatment_indicator.rst index 2306d84a..672e8cd1 100644 --- a/docs/api/_autosummary/diff_diff.make_treatment_indicator.rst +++ b/docs/api/_autosummary/diff_diff.make_treatment_indicator.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: make_treatment_indicator \ No newline at end of file +.. autofunction:: make_treatment_indicator + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.permutation_test.rst b/docs/api/_autosummary/diff_diff.permutation_test.rst index 44fc53bd..3d19fd1e 100644 --- a/docs/api/_autosummary/diff_diff.permutation_test.rst +++ b/docs/api/_autosummary/diff_diff.permutation_test.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: permutation_test \ No newline at end of file +.. autofunction:: permutation_test + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.placebo_group_test.rst b/docs/api/_autosummary/diff_diff.placebo_group_test.rst index 867b4e48..243b4bd9 100644 --- a/docs/api/_autosummary/diff_diff.placebo_group_test.rst +++ b/docs/api/_autosummary/diff_diff.placebo_group_test.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: placebo_group_test \ No newline at end of file +.. autofunction:: placebo_group_test + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.placebo_timing_test.rst b/docs/api/_autosummary/diff_diff.placebo_timing_test.rst index cf7512a0..bcc8214a 100644 --- a/docs/api/_autosummary/diff_diff.placebo_timing_test.rst +++ b/docs/api/_autosummary/diff_diff.placebo_timing_test.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: placebo_timing_test \ No newline at end of file +.. autofunction:: placebo_timing_test + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.plot_bacon.rst b/docs/api/_autosummary/diff_diff.plot_bacon.rst index b02c5bb0..933c1077 100644 --- a/docs/api/_autosummary/diff_diff.plot_bacon.rst +++ b/docs/api/_autosummary/diff_diff.plot_bacon.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: plot_bacon \ No newline at end of file +.. autofunction:: plot_bacon + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.plot_event_study.rst b/docs/api/_autosummary/diff_diff.plot_event_study.rst index 97cf3178..42d2236c 100644 --- a/docs/api/_autosummary/diff_diff.plot_event_study.rst +++ b/docs/api/_autosummary/diff_diff.plot_event_study.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: plot_event_study \ No newline at end of file +.. autofunction:: plot_event_study + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.plot_group_effects.rst b/docs/api/_autosummary/diff_diff.plot_group_effects.rst index d00d43b8..e4104b1d 100644 --- a/docs/api/_autosummary/diff_diff.plot_group_effects.rst +++ b/docs/api/_autosummary/diff_diff.plot_group_effects.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: plot_group_effects \ No newline at end of file +.. autofunction:: plot_group_effects + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.plot_honest_event_study.rst b/docs/api/_autosummary/diff_diff.plot_honest_event_study.rst index 635744b4..e113dbca 100644 --- a/docs/api/_autosummary/diff_diff.plot_honest_event_study.rst +++ b/docs/api/_autosummary/diff_diff.plot_honest_event_study.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: plot_honest_event_study \ No newline at end of file +.. autofunction:: plot_honest_event_study + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.plot_power_curve.rst b/docs/api/_autosummary/diff_diff.plot_power_curve.rst index b70ac6ca..afe1a1cf 100644 --- a/docs/api/_autosummary/diff_diff.plot_power_curve.rst +++ b/docs/api/_autosummary/diff_diff.plot_power_curve.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: plot_power_curve \ No newline at end of file +.. autofunction:: plot_power_curve + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.plot_pretrends_power.rst b/docs/api/_autosummary/diff_diff.plot_pretrends_power.rst index 9bb17a23..727f4a15 100644 --- a/docs/api/_autosummary/diff_diff.plot_pretrends_power.rst +++ b/docs/api/_autosummary/diff_diff.plot_pretrends_power.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: plot_pretrends_power \ No newline at end of file +.. autofunction:: plot_pretrends_power + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.plot_sensitivity.rst b/docs/api/_autosummary/diff_diff.plot_sensitivity.rst index b1e5d374..db791a00 100644 --- a/docs/api/_autosummary/diff_diff.plot_sensitivity.rst +++ b/docs/api/_autosummary/diff_diff.plot_sensitivity.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: plot_sensitivity \ No newline at end of file +.. autofunction:: plot_sensitivity + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.profile_panel.rst b/docs/api/_autosummary/diff_diff.profile_panel.rst new file mode 100644 index 00000000..b7496d28 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.profile_panel.rst @@ -0,0 +1,7 @@ +diff\_diff.profile\_panel +========================= + +.. currentmodule:: diff_diff + +.. autofunction:: profile_panel + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.rank_control_units.rst b/docs/api/_autosummary/diff_diff.rank_control_units.rst index 461068d4..800c81f8 100644 --- a/docs/api/_autosummary/diff_diff.rank_control_units.rst +++ b/docs/api/_autosummary/diff_diff.rank_control_units.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: rank_control_units \ No newline at end of file +.. autofunction:: rank_control_units + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.run_all_placebo_tests.rst b/docs/api/_autosummary/diff_diff.run_all_placebo_tests.rst index ea9b5364..072177bc 100644 --- a/docs/api/_autosummary/diff_diff.run_all_placebo_tests.rst +++ b/docs/api/_autosummary/diff_diff.run_all_placebo_tests.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: run_all_placebo_tests \ No newline at end of file +.. autofunction:: run_all_placebo_tests + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.run_placebo_test.rst b/docs/api/_autosummary/diff_diff.run_placebo_test.rst index deb2f0ab..372ef123 100644 --- a/docs/api/_autosummary/diff_diff.run_placebo_test.rst +++ b/docs/api/_autosummary/diff_diff.run_placebo_test.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: run_placebo_test \ No newline at end of file +.. autofunction:: run_placebo_test + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.sensitivity_plot.rst b/docs/api/_autosummary/diff_diff.sensitivity_plot.rst index 8784526c..29f8e527 100644 --- a/docs/api/_autosummary/diff_diff.sensitivity_plot.rst +++ b/docs/api/_autosummary/diff_diff.sensitivity_plot.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: sensitivity_plot \ No newline at end of file +.. autofunction:: sensitivity_plot + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.simulate_mde.rst b/docs/api/_autosummary/diff_diff.simulate_mde.rst new file mode 100644 index 00000000..e2c3f723 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.simulate_mde.rst @@ -0,0 +1,7 @@ +diff\_diff.simulate\_mde +======================== + +.. currentmodule:: diff_diff + +.. autofunction:: simulate_mde + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.simulate_power.rst b/docs/api/_autosummary/diff_diff.simulate_power.rst index 76c35f4a..ec4cc3ee 100644 --- a/docs/api/_autosummary/diff_diff.simulate_power.rst +++ b/docs/api/_autosummary/diff_diff.simulate_power.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: simulate_power \ No newline at end of file +.. autofunction:: simulate_power + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.simulate_sample_size.rst b/docs/api/_autosummary/diff_diff.simulate_sample_size.rst new file mode 100644 index 00000000..2e9bc587 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.simulate_sample_size.rst @@ -0,0 +1,7 @@ +diff\_diff.simulate\_sample\_size +================================= + +.. currentmodule:: diff_diff + +.. autofunction:: simulate_sample_size + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.summarize_did_data.rst b/docs/api/_autosummary/diff_diff.summarize_did_data.rst index 59bca45d..d07e45e1 100644 --- a/docs/api/_autosummary/diff_diff.summarize_did_data.rst +++ b/docs/api/_autosummary/diff_diff.summarize_did_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: summarize_did_data \ No newline at end of file +.. autofunction:: summarize_did_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.validate_did_data.rst b/docs/api/_autosummary/diff_diff.validate_did_data.rst index 3886f8e9..fd3eb0d5 100644 --- a/docs/api/_autosummary/diff_diff.validate_did_data.rst +++ b/docs/api/_autosummary/diff_diff.validate_did_data.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: validate_did_data \ No newline at end of file +.. autofunction:: validate_did_data + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.wide_to_long.rst b/docs/api/_autosummary/diff_diff.wide_to_long.rst index 223316b3..f027dc7b 100644 --- a/docs/api/_autosummary/diff_diff.wide_to_long.rst +++ b/docs/api/_autosummary/diff_diff.wide_to_long.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: wide_to_long \ No newline at end of file +.. autofunction:: wide_to_long + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.wild_bootstrap_se.rst b/docs/api/_autosummary/diff_diff.wild_bootstrap_se.rst index 18312037..32fed535 100644 --- a/docs/api/_autosummary/diff_diff.wild_bootstrap_se.rst +++ b/docs/api/_autosummary/diff_diff.wild_bootstrap_se.rst @@ -3,4 +3,5 @@ .. currentmodule:: diff_diff -.. autofunction:: wild_bootstrap_se \ No newline at end of file +.. autofunction:: wild_bootstrap_se + :no-index: \ No newline at end of file diff --git a/docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst b/docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst new file mode 100644 index 00000000..00a192b0 --- /dev/null +++ b/docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst @@ -0,0 +1,54 @@ +diff\_diff.wooldridge\_results.WooldridgeDiDResults +=================================================== + +.. currentmodule:: diff_diff.wooldridge_results + +.. autoclass:: WooldridgeDiDResults + :no-members: + + + + .. rubric:: Methods + + .. autosummary:: + + ~WooldridgeDiDResults.__init__ + ~WooldridgeDiDResults.aggregate + ~WooldridgeDiDResults.plot_event_study + ~WooldridgeDiDResults.summary + ~WooldridgeDiDResults.to_dataframe + + + + + + .. rubric:: Attributes + + .. autosummary:: + + ~WooldridgeDiDResults.alpha + ~WooldridgeDiDResults.anticipation + ~WooldridgeDiDResults.att + ~WooldridgeDiDResults.calendar_effects + ~WooldridgeDiDResults.conf_int + ~WooldridgeDiDResults.control_group + ~WooldridgeDiDResults.event_study_effects + ~WooldridgeDiDResults.group_effects + ~WooldridgeDiDResults.method + ~WooldridgeDiDResults.n_control_units + ~WooldridgeDiDResults.n_obs + ~WooldridgeDiDResults.n_treated_units + ~WooldridgeDiDResults.p_value + ~WooldridgeDiDResults.se + ~WooldridgeDiDResults.survey_metadata + ~WooldridgeDiDResults.t_stat + ~WooldridgeDiDResults.group_time_effects + ~WooldridgeDiDResults.overall_att + ~WooldridgeDiDResults.overall_se + ~WooldridgeDiDResults.overall_t_stat + ~WooldridgeDiDResults.overall_p_value + ~WooldridgeDiDResults.overall_conf_int + ~WooldridgeDiDResults.groups + ~WooldridgeDiDResults.time_periods + + \ No newline at end of file diff --git a/docs/api/business_report.rst b/docs/api/business_report.rst index 953b6e2d..d63ded5d 100644 --- a/docs/api/business_report.rst +++ b/docs/api/business_report.rst @@ -47,7 +47,7 @@ pretest to opt in. Methodology deviations (no traffic-light gates, pre-trends verdict thresholds, power-aware phrasing, unit-translation policy, schema -stability) are documented in :doc:`../methodology/REPORTING`. +stability) are documented in ``docs/methodology/REPORTING.md``. The schema carries a top-level ``target_parameter`` block (experimental) naming what the headline scalar represents per @@ -62,7 +62,7 @@ distinguishes the populated-surface subcase (per-horizon table available on ``linear_trends_effects``) from the empty-surface subcase (no horizons survived estimation; re-fit with a larger ``L_max`` or with ``trends_linear=False``). See the "Target -parameter" section of :doc:`../methodology/REPORTING` for the +parameter" section of ``docs/methodology/REPORTING.md`` for the full per-estimator dispatch table and schema shape. Example diff --git a/docs/api/chaisemartin_dhaultfoeuille.rst b/docs/api/chaisemartin_dhaultfoeuille.rst index 3a240da7..fe730d91 100644 --- a/docs/api/chaisemartin_dhaultfoeuille.rst +++ b/docs/api/chaisemartin_dhaultfoeuille.rst @@ -157,6 +157,7 @@ Convenience Function -------------------- .. autofunction:: diff_diff.chaisemartin_dhaultfoeuille + :no-index: Standalone TWFE Decomposition Diagnostic ---------------------------------------- @@ -170,7 +171,7 @@ treatment effects that could flip the sign of the plain TWFE coefficient. .. autofunction:: diff_diff.twowayfeweights -.. autoclass:: diff_diff.chaisemartin_dhaultfoeuille.TWFEWeightsResult +.. autoclass:: diff_diff.TWFEWeightsResult :no-index: :members: diff --git a/docs/api/diagnostic_report.rst b/docs/api/diagnostic_report.rst index e0cc3375..d86c8a71 100644 --- a/docs/api/diagnostic_report.rst +++ b/docs/api/diagnostic_report.rst @@ -13,12 +13,12 @@ result. Methodology deviations (no traffic-light gates, opt-in placebo battery, estimator-native diagnostic routing, power-aware phrasing -threshold) are documented in :doc:`../methodology/REPORTING`. +threshold) are documented in ``docs/methodology/REPORTING.md``. The schema carries a top-level ``target_parameter`` block (experimental) naming what the headline scalar represents per estimator. See the "Target parameter" section of -:doc:`../methodology/REPORTING` for the per-estimator dispatch and +``docs/methodology/REPORTING.md`` for the per-estimator dispatch and schema shape. Data-dependent checks (2x2 parallel trends on simple DiD, diff --git a/docs/api/results.rst b/docs/api/results.rst index 44d5909c..4545ef66 100644 --- a/docs/api/results.rst +++ b/docs/api/results.rst @@ -24,7 +24,7 @@ Results from basic DifferenceInDifferences estimation. ~DiDResults.se ~DiDResults.t_stat ~DiDResults.p_value - ~DiDResults.ci + ~DiDResults.conf_int ~DiDResults.n_obs ~DiDResults.is_significant ~DiDResults.significance_stars diff --git a/docs/api/stacked_did.rst b/docs/api/stacked_did.rst index 9ae5c617..89c06f68 100644 --- a/docs/api/stacked_did.rst +++ b/docs/api/stacked_did.rst @@ -50,7 +50,7 @@ StackedDiDResults Results container for Stacked DiD estimation. -.. autoclass:: diff_diff.stacked_did.StackedDiDResults +.. autoclass:: diff_diff.StackedDiDResults :no-index: :members: :undoc-members: @@ -68,6 +68,7 @@ Convenience Function -------------------- .. autofunction:: diff_diff.stacked_did + :no-index: Example Usage ------------- diff --git a/docs/api/staggered.rst b/docs/api/staggered.rst index 8bf5fbd0..1ceb0e15 100644 --- a/docs/api/staggered.rst +++ b/docs/api/staggered.rst @@ -48,7 +48,6 @@ Results container for Callaway-Sant'Anna estimation. .. autosummary:: - ~CallawaySantAnnaResults.aggregate ~CallawaySantAnnaResults.summary ~CallawaySantAnnaResults.to_dataframe diff --git a/docs/api/trop.rst b/docs/api/trop.rst index d37c630c..afcea0e5 100644 --- a/docs/api/trop.rst +++ b/docs/api/trop.rst @@ -52,7 +52,7 @@ TROPResults Results container for TROP estimation. -.. autoclass:: diff_diff.trop.TROPResults +.. autoclass:: diff_diff.TROPResults :no-index: :members: :undoc-members: @@ -74,6 +74,7 @@ Convenience Function -------------------- .. autofunction:: diff_diff.trop + :no-index: Tuning Parameters ----------------- diff --git a/docs/benchmarks.rst b/docs/benchmarks.rst index 2943eff2..3ad3b7ff 100644 --- a/docs/benchmarks.rst +++ b/docs/benchmarks.rst @@ -937,15 +937,3 @@ Known Differences Point estimates and unit/time weights are numerically identical since both implementations use the same Frank-Wolfe optimizer. -References ----------- - -.. [CS2021] Callaway, B., & Sant'Anna, P. H. (2021). Difference-in-Differences - with multiple time periods. *Journal of Econometrics*, 225(2), 200-230. - -.. [AHIW2021] Arkhangelsky, D., Athey, S., Hirshberg, D. A., Imbens, G. W., - & Wager, S. (2021). Synthetic Difference-in-Differences. *American Economic - Review*, 111(12), 4088-4118. - -.. [RR2023] Rambachan, A., & Roth, J. (2023). A More Credible Approach to - Parallel Trends. *Review of Economic Studies*, 90(5), 2555-2591. diff --git a/docs/index.rst b/docs/index.rst index f1922a1f..4f1435d4 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -79,6 +79,8 @@ Quick Links tutorials/17_brand_awareness_survey tutorials/18_geo_experiments + tutorials/19_dcdh_marketing_pulse + tutorials/20_had_brand_campaign .. toctree:: :maxdepth: 1 diff --git a/docs/tutorials/18_geo_experiments.ipynb b/docs/tutorials/18_geo_experiments.ipynb index 3a660470..1be2e26d 100644 --- a/docs/tutorials/18_geo_experiments.ipynb +++ b/docs/tutorials/18_geo_experiments.ipynb @@ -40,13 +40,7 @@ "cell_type": "markdown", "id": "t18-cell-005", "metadata": {}, - "source": [ - "**Why diff-diff.** The diff-diff library implements Synthetic Difference-in-Differences following [Arkhangelsky et al. (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159) - both the unit weights and the time weights, the placebo standard error procedure from the paper, and full panel-data interpretability. Implementation details and any documented deviations from the R `synthdid` reference are tracked in [`docs/methodology/REGISTRY.md`](../methodology/REGISTRY.html).\n", - "\n", - "This tutorial sits in SDiD's documented sweet spot: a small number of treated markets in a larger pool of donor controls, where basic DiD's averaging doesn't help and you need a counterfactual built specifically for your treated markets. The library's [practitioner decision tree](../practitioner_decision_tree.html#few-test-markets) puts SyntheticDiD on the \"Few Test Markets\" branch for exactly this reason.\n", - "\n", - "If you've been using GeoLift, CausalImpact, or rolling your own synthetic control in pandas, this tutorial gives you the canonical SDiD implementation in Python with the diagnostics, inference, and stakeholder packaging in one place." - ] + "source": "**Why diff-diff.** The diff-diff library implements Synthetic Difference-in-Differences following [Arkhangelsky et al. (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159) - both the unit weights and the time weights, the placebo standard error procedure from the paper, and full panel-data interpretability. Implementation details and any documented deviations from the R `synthdid` reference are tracked in `docs/methodology/REGISTRY.md`.\n\nThis tutorial sits in SDiD's documented sweet spot: a small number of treated markets in a larger pool of donor controls, where basic DiD's averaging doesn't help and you need a counterfactual built specifically for your treated markets. The library's [practitioner decision tree](../practitioner_decision_tree.rst) puts SyntheticDiD on the \"Few Test Markets\" branch for exactly this reason.\n\nIf you've been using GeoLift, CausalImpact, or rolling your own synthetic control in pandas, this tutorial gives you the canonical SDiD implementation in Python with the diagnostics, inference, and stakeholder packaging in one place." }, { "cell_type": "code", @@ -438,16 +432,7 @@ "cell_type": "markdown", "id": "t18-cell-015", "metadata": {}, - "source": [ - "Synthetic Difference-in-Differences finds two sets of weights:\n", - "\n", - "1. **Unit weights** ($\\omega_j$): a weighted blend of control markets whose pre-period trajectory matches the treated markets' pre-period trajectory.\n", - "2. **Time weights** ($\\lambda_t$): a weighting of pre-treatment periods that emphasizes the baseline weeks most informative for the comparison.\n", - "\n", - "The ATT estimator combines both: take the time-weighted average of (treated mean minus unit-weighted control mean), then subtract the same quantity computed in the pre-period. The unit weights make the synthetic control match the treated group; the time weights make the comparison robust to pre-treatment level differences.\n", - "\n", - "This is the method introduced in [Arkhangelsky, Athey, Hirshberg, Imbens, & Wager (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159). Algorithmic details and any documented deviations from the R `synthdid` reference live in [`docs/methodology/REGISTRY.md`](../methodology/REGISTRY.html)." - ] + "source": "Synthetic Difference-in-Differences finds two sets of weights:\n\n1. **Unit weights** ($\\omega_j$): a weighted blend of control markets whose pre-period trajectory matches the treated markets' pre-period trajectory.\n2. **Time weights** ($\\lambda_t$): a weighting of pre-treatment periods that emphasizes the baseline weeks most informative for the comparison.\n\nThe ATT estimator combines both: take the time-weighted average of (treated mean minus unit-weighted control mean), then subtract the same quantity computed in the pre-period. The unit weights make the synthetic control match the treated group; the time weights make the comparison robust to pre-treatment level differences.\n\nThis is the method introduced in [Arkhangelsky, Athey, Hirshberg, Imbens, & Wager (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159). Algorithmic details and any documented deviations from the R `synthdid` reference live in `docs/methodology/REGISTRY.md`." }, { "cell_type": "code", diff --git a/docs/tutorials/19_dcdh_marketing_pulse.ipynb b/docs/tutorials/19_dcdh_marketing_pulse.ipynb index f6e37fb0..37d1363e 100644 --- a/docs/tutorials/19_dcdh_marketing_pulse.ipynb +++ b/docs/tutorials/19_dcdh_marketing_pulse.ipynb @@ -14,15 +14,7 @@ "cell_type": "markdown", "id": "t19-cell-002", "metadata": {}, - "source": [ - "## 1. The Marketing Pulse Problem\n", - "\n", - "Your team runs paid-promo pulses across 60 markets. Some markets ran the promo at the start of the quarter and turned it off as the campaign budget rolled to the next geo (leavers); others started untreated and switched the promo on at some point during the quarter (joiners). Leadership wants the average lift on weekly checkout sessions while the promo was on.\n", - "\n", - "**Why dCDH.** This panel has *reversible* (non-absorbing) treatment in the dCDH sense: across the panel, the promo turns on in some markets and off in others - both directions appear in the same dataset. Every other modern staggered-DiD estimator in diff-diff (Callaway-Sant'Anna, Sun-Abraham, Wooldridge ETWFE, ImputationDiD, TwoStageDiD, EfficientDiD) assumes treatment is absorbing: once treated, always treated. They simply don't apply to a panel that contains leavers. dCDH does, following [de Chaisemartin & D'Haultfoeuille (2020)](https://www.aeaweb.org/articles?id=10.1257/aer.20181169) and the [dynamic companion paper](https://www.nber.org/papers/w29873).\n", - "\n", - "**Scope of this tutorial.** Each market in our panel switches *at most once* during the quarter (the dCDH paper's Assumption 5, which the default analytical SE path requires). So a market is either a stable-untreated unit, a joiner that turns the promo on exactly once, a leaver that turns it off exactly once, or a stable-treated unit. dCDH does support multi-switch within-market paths (e.g., on-off-on cycles) via `drop_larger_lower=False` plus `by_path=k` for per-path effects, but that's a separate scope - see the extensions section at the end. Implementation details and any documented deviations from R's `did_multiplegt_dyn` reference live in [`docs/methodology/REGISTRY.md`](../methodology/REGISTRY.html)." - ] + "source": "## 1. The Marketing Pulse Problem\n\nYour team runs paid-promo pulses across 60 markets. Some markets ran the promo at the start of the quarter and turned it off as the campaign budget rolled to the next geo (leavers); others started untreated and switched the promo on at some point during the quarter (joiners). Leadership wants the average lift on weekly checkout sessions while the promo was on.\n\n**Why dCDH.** This panel has *reversible* (non-absorbing) treatment in the dCDH sense: across the panel, the promo turns on in some markets and off in others - both directions appear in the same dataset. Every other modern staggered-DiD estimator in diff-diff (Callaway-Sant'Anna, Sun-Abraham, Wooldridge ETWFE, ImputationDiD, TwoStageDiD, EfficientDiD) assumes treatment is absorbing: once treated, always treated. They simply don't apply to a panel that contains leavers. dCDH does, following [de Chaisemartin & D'Haultfoeuille (2020)](https://www.aeaweb.org/articles?id=10.1257/aer.20181169) and the [dynamic companion paper](https://www.nber.org/papers/w29873).\n\n**Scope of this tutorial.** Each market in our panel switches *at most once* during the quarter (the dCDH paper's Assumption 5, which the default analytical SE path requires). So a market is either a stable-untreated unit, a joiner that turns the promo on exactly once, a leaver that turns it off exactly once, or a stable-treated unit. dCDH does support multi-switch within-market paths (e.g., on-off-on cycles) via `drop_larger_lower=False` plus `by_path=k` for per-path effects, but that's a separate scope - see the extensions section at the end. Implementation details and any documented deviations from R's `did_multiplegt_dyn` reference live in `docs/methodology/REGISTRY.md`." }, { "cell_type": "code", @@ -46,16 +38,7 @@ "cell_type": "markdown", "id": "t19-cell-004", "metadata": {}, - "source": [ - "## 2. The Data\n", - "\n", - "We'll simulate a panel that mirrors a marketing pulse campaign:\n", - "\n", - "- **60 markets**, each observed for **8 weeks**\n", - "- Some markets started the quarter with the promo on and switched it off (leavers); others started untreated and switched the promo on (joiners). Each market switches exactly once during the panel - the [A5 single-switch contract](../methodology/REGISTRY.html) the analytical SE is derived under.\n", - "- Outcome: weekly checkout sessions per market, baseline ~110\n", - "- True treatment effect: **+12 sessions per market-week** when the promo is on, with mild cell-level heterogeneity around that average." - ] + "source": "## 2. The Data\n\nWe'll simulate a panel that mirrors a marketing pulse campaign:\n\n- **60 markets**, each observed for **8 weeks**\n- Some markets started the quarter with the promo on and switched it off (leavers); others started untreated and switched the promo on (joiners). Each market switches exactly once during the panel - the A5 single-switch contract (see `docs/methodology/REGISTRY.md`) the analytical SE is derived under.\n- Outcome: weekly checkout sessions per market, baseline ~110\n- True treatment effect: **+12 sessions per market-week** when the promo is on, with mild cell-level heterogeneity around that average." }, { "cell_type": "code", @@ -101,8 +84,8 @@ "outputs": [], "source": [ "# Switcher-type counts. With pattern=\"single_switch\" every market\n", - "# switches exactly once, so we have only joiners (0 \u2192 1) and\n", - "# leavers (1 \u2192 0); no never-treated or always-treated markets by\n", + "# switches exactly once, so we have only joiners (0 → 1) and\n", + "# leavers (1 → 0); no never-treated or always-treated markets by\n", "# construction.\n", "df.groupby(\"switcher_type\").size()" ] @@ -146,8 +129,8 @@ "\n", "`DID_M` is the headline dCDH estimator: the average across periods of two pieces:\n", "\n", - "- **DID_+** (joiners): markets switching `0 \u2192 1` between consecutive periods, compared to *contemporaneously untreated* control cells.\n", - "- **DID_-** (leavers): markets switching `1 \u2192 0`, compared to *contemporaneously treated* control cells.\n", + "- **DID_+** (joiners): markets switching `0 → 1` between consecutive periods, compared to *contemporaneously untreated* control cells.\n", + "- **DID_-** (leavers): markets switching `1 → 0`, compared to *contemporaneously treated* control cells.\n", "\n", "Both pieces use only cells whose treatment status was stable across the two periods being compared - so no treated unit is ever used as a control for another treated unit. The library reports DID_+, DID_-, and their average DID_M separately, so you can see if the two halves agree." ] @@ -205,7 +188,7 @@ "id": "t19-cell-013", "metadata": {}, "source": [ - "**Reading joiners vs leavers.** Both halves should produce a positive lift in a healthy marketing-pulse design - turning the promo on increases sessions, and turning it off decreases them. Here DID_+ \u2248 12.1 (38 joiner cells) and DID_- \u2248 11.9 (22 leaver cells): both substantially positive, both within sampling uncertainty of each other and of the true effect of 12. If they had disagreed by sign or by a large margin (say one was 5 and the other was 20), that would be a heterogeneity signal worth investigating before reporting one number to leadership." + "**Reading joiners vs leavers.** Both halves should produce a positive lift in a healthy marketing-pulse design - turning the promo on increases sessions, and turning it off decreases them. Here DID_+ ≈ 12.1 (38 joiner cells) and DID_- ≈ 11.9 (22 leaver cells): both substantially positive, both within sampling uncertainty of each other and of the true effect of 12. If they had disagreed by sign or by a large margin (say one was 5 and the other was 20), that would be a heterogeneity signal worth investigating before reporting one number to leadership." ] }, { @@ -351,26 +334,14 @@ "id": "t19-cell-020", "metadata": {}, "source": [ - "Adapt this template for your own campaign by swapping in your numbers from `results.summary()`, your own market and switcher counts, your own validity diagnostics, and your own business translation. The pattern - **headline \u2192 sample size and design \u2192 validity evidence \u2192 business interpretation \u2192 practical significance** - is the part to keep." + "Adapt this template for your own campaign by swapping in your numbers from `results.summary()`, your own market and switcher counts, your own validity diagnostics, and your own business translation. The pattern - **headline → sample size and design → validity evidence → business interpretation → practical significance** - is the part to keep." ] }, { "cell_type": "markdown", "id": "t19-cell-021", "metadata": {}, - "source": [ - "## 6. Extensions and Where to Go Next\n", - "\n", - "This tutorial covered the core dCDH workflow on a reversible panel: `DID_M` with the joiners/leavers split, plus the `L_max` multi-horizon event study with multiplier bootstrap. The library also supports several extensions we did not demonstrate here:\n", - "\n", - "- **Per-trajectory disaggregation** (`by_path=k`): when joiners and leavers each follow a few common treatment paths (e.g., on-off-on vs on-on-off), `by_path=k` reports the event study separately for the top-k most common observed paths. Useful for pulse campaigns where the schedule varies across markets.\n", - "- **Group-specific linear trends** (`trends_linear=True`): allows each market to have its own pre-treatment slope, absorbing differential trends.\n", - "- **State-set-specific trends** (`trends_nonparam=...`): allows non-parametric trends shared within state-set strata.\n", - "- **HonestDiD sensitivity analysis** (`honest_did=True`): Rambachan-Roth (2023) bounds on the post-treatment effects under controlled parallel-trends violations, computed on the placebo event-study surface.\n", - "- **Survey-design support** (`survey_design=...`): Taylor-series linearization with sampling weights, strata, PSU, and FPC.\n", - "\n", - "See [`docs/api/chaisemartin_dhaultfoeuille.rst`](../api/chaisemartin_dhaultfoeuille.html) for the full parameter reference and [`docs/methodology/REGISTRY.md`](../methodology/REGISTRY.html) for the methodology contract on each surface." - ] + "source": "## 6. Extensions and Where to Go Next\n\nThis tutorial covered the core dCDH workflow on a reversible panel: `DID_M` with the joiners/leavers split, plus the `L_max` multi-horizon event study with multiplier bootstrap. The library also supports several extensions we did not demonstrate here:\n\n- **Per-trajectory disaggregation** (`by_path=k`): when joiners and leavers each follow a few common treatment paths (e.g., on-off-on vs on-on-off), `by_path=k` reports the event study separately for the top-k most common observed paths. Useful for pulse campaigns where the schedule varies across markets.\n- **Group-specific linear trends** (`trends_linear=True`): allows each market to have its own pre-treatment slope, absorbing differential trends.\n- **State-set-specific trends** (`trends_nonparam=...`): allows non-parametric trends shared within state-set strata.\n- **HonestDiD sensitivity analysis** (`honest_did=True`): Rambachan-Roth (2023) bounds on the post-treatment effects under controlled parallel-trends violations, computed on the placebo event-study surface.\n- **Survey-design support** (`survey_design=...`): Taylor-series linearization with sampling weights, strata, PSU, and FPC.\n\nSee [`docs/api/chaisemartin_dhaultfoeuille.rst`](../api/chaisemartin_dhaultfoeuille.html) for the full parameter reference and `docs/methodology/REGISTRY.md` for the methodology contract on each surface." }, { "cell_type": "markdown", @@ -416,4 +387,4 @@ }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file From 477c1c19cc38017481f832d2af5d7c2a022a977f Mon Sep 17 00:00:00 2001 From: igerber Date: Sun, 10 May 2026 10:07:40 -0400 Subject: [PATCH 2/6] Address PR #410 R1 P2: restore shadowed function inventory Reviewer flagged that page-level :no-index: on .. autofunction:: (added in initial PR 2.5 commit to resolve 3 page-vs-page duplicates) made diff_diff.{trop,stacked_did,chaisemartin_dhaultfoeuille} convenience functions absent from the py:function inventory entirely - so :py:func: cross-refs and intersphinx pointers to those public functions wouldn't resolve. Empirical investigation surfaced the actual conflict source: each of the 3 files had a top-level ``.. module:: diff_diff.`` directive that registered the module FQN, colliding with the function FQN of the same name. Removing the .. module:: directive lets .. autofunction:: register the function as the canonical (and only) :py:function entry. The .. autoclass:: directives on those pages were already converted to top-level paths (diff_diff.X form) in the initial PR 2.5 commit and don't depend on the implicit module context. Verified: make html shows 0 ERRORs / 0 WARNINGs / 0 duplicates; all 3 convenience functions present in objects.inv as py:function entries. Doc-snippet test parity preserved (111 passed, 4 skipped). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/api/chaisemartin_dhaultfoeuille.rst | 3 --- docs/api/stacked_did.rst | 3 --- docs/api/trop.rst | 3 --- 3 files changed, 9 deletions(-) diff --git a/docs/api/chaisemartin_dhaultfoeuille.rst b/docs/api/chaisemartin_dhaultfoeuille.rst index fe730d91..8cf8578b 100644 --- a/docs/api/chaisemartin_dhaultfoeuille.rst +++ b/docs/api/chaisemartin_dhaultfoeuille.rst @@ -100,8 +100,6 @@ library option for non-absorbing treatments. Difference-in-Differences Estimators of Intertemporal Treatment Effects. NBER Working Paper 29873. -.. module:: diff_diff.chaisemartin_dhaultfoeuille - ChaisemartinDHaultfoeuille -------------------------- @@ -157,7 +155,6 @@ Convenience Function -------------------- .. autofunction:: diff_diff.chaisemartin_dhaultfoeuille - :no-index: Standalone TWFE Decomposition Diagnostic ---------------------------------------- diff --git a/docs/api/stacked_did.rst b/docs/api/stacked_did.rst index 89c06f68..20c2da8c 100644 --- a/docs/api/stacked_did.rst +++ b/docs/api/stacked_did.rst @@ -23,8 +23,6 @@ which addresses bias in naive stacked DiD regressions by: Difference-in-Differences. *NBER Working Paper* 32054. ``_ -.. module:: diff_diff.stacked_did - StackedDiD ---------- @@ -68,7 +66,6 @@ Convenience Function -------------------- .. autofunction:: diff_diff.stacked_did - :no-index: Example Usage ------------- diff --git a/docs/api/trop.rst b/docs/api/trop.rst index afcea0e5..743992a3 100644 --- a/docs/api/trop.rst +++ b/docs/api/trop.rst @@ -25,8 +25,6 @@ which combines three robustness components: **Reference:** Athey, S., Imbens, G. W., Qu, Z., & Viviano, D. (2025). Triply Robust Panel Estimators. *Working Paper*. `arXiv:2508.21536 `_ -.. module:: diff_diff.trop - TROP ---- @@ -74,7 +72,6 @@ Convenience Function -------------------- .. autofunction:: diff_diff.trop - :no-index: Tuning Parameters ----------------- From 0062778c0d6ce44d7e8dcec03fdd6eada4f609d8 Mon Sep 17 00:00:00 2001 From: igerber Date: Sun, 10 May 2026 10:54:47 -0400 Subject: [PATCH 3/6] Address PR #410 R2 P2: restore plot helper + dataset function inventory R2 reviewer flagged 3 plotting helpers (plot_bacon, plot_power_curve, plot_pretrends_power) as having :no-index: stubs without page-level indexed replacements. Added page-level .. autofunction:: directives in visualization.rst, power.rst, and pretrends.rst. Proactive sweep (per feedback_ci_reviewer_pattern_checks) surfaced 7 sibling dataset loaders (load_card_krueger, load_castle_doctrine, load_divorce_laws, load_mpdta, load_dataset, list_datasets, clear_cache) with the same class of issue: docs/api/datasets.rst used bare names under .. module:: diff_diff.datasets, registering them at diff_diff.datasets.X instead of the canonical diff_diff.X export FQN. Removed the .. module:: directive and switched to fully-qualified diff_diff.X names so they appear at the same FQN as their autosummary listings. Verified: full coverage sweep finds 51/51 functions and 59/59 classes in py:function / py:class inventory under their canonical diff_diff.X FQN. make html shows 0 ERRORs / 0 WARNINGs / 0 duplicates. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/api/datasets.rst | 16 +++++++--------- docs/api/power.rst | 7 +++++++ docs/api/pretrends.rst | 7 +++++++ docs/api/visualization.rst | 7 +++++++ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/docs/api/datasets.rst b/docs/api/datasets.rst index d74f2c61..39a937e0 100644 --- a/docs/api/datasets.rst +++ b/docs/api/datasets.rst @@ -3,8 +3,6 @@ Datasets Built-in real-world datasets from published studies for examples, tutorials, and testing. -.. module:: diff_diff.datasets - All datasets are downloaded from public sources on first use and cached locally at ``~/.cache/diff_diff/datasets/``. Pass ``force_download=True`` to any loader to refresh the cache. If the download fails and a cached copy exists, the cached @@ -20,7 +18,7 @@ Card & Krueger (1994) minimum wage study. Classic 2x2 DiD comparing fast-food employment in New Jersey (treated) and Pennsylvania (control) around NJ's 1992 minimum wage increase. -.. autofunction:: load_card_krueger +.. autofunction:: diff_diff.load_card_krueger Example ^^^^^^^ @@ -50,7 +48,7 @@ Castle doctrine (Stand Your Ground) gun law study. Staggered adoption of self-defense law expansions across U.S. states (2000--2010), suitable for Callaway--Sant'Anna or Sun--Abraham estimation. -.. autofunction:: load_castle_doctrine +.. autofunction:: diff_diff.load_castle_doctrine Example ^^^^^^^ @@ -77,7 +75,7 @@ Unilateral (no-fault) divorce law reforms. Staggered adoption across U.S. states (1968--1988) from Stevenson & Wolfers (2006), with outcomes for divorce rate, female labor force participation, and female suicide rate. -.. autofunction:: load_divorce_laws +.. autofunction:: diff_diff.load_divorce_laws Example ^^^^^^^ @@ -104,7 +102,7 @@ Minimum wage panel data for training (Callaway & Sant'Anna 2021). Simulated county-level employment data with staggered minimum wage increases (2003--2007), from the R ``did`` package. -.. autofunction:: load_mpdta +.. autofunction:: diff_diff.load_mpdta Example ^^^^^^^ @@ -132,21 +130,21 @@ load_dataset Generic loader that fetches a dataset by name. -.. autofunction:: load_dataset +.. autofunction:: diff_diff.load_dataset list_datasets ~~~~~~~~~~~~~ List all available datasets with descriptions. -.. autofunction:: list_datasets +.. autofunction:: diff_diff.list_datasets clear_cache ~~~~~~~~~~~~ Remove all cached dataset files from ``~/.cache/diff_diff/datasets/``. -.. autofunction:: clear_cache +.. autofunction:: diff_diff.clear_cache Listing and Loading Datasets ---------------------------- diff --git a/docs/api/power.rst b/docs/api/power.rst index dbbb9b57..e9265819 100644 --- a/docs/api/power.rst +++ b/docs/api/power.rst @@ -147,6 +147,13 @@ Simulation-based sample size for any DiD estimator. .. autofunction:: diff_diff.simulate_sample_size +plot_power_curve +~~~~~~~~~~~~~~~~ + +Visualization for a power curve from ``PowerAnalysis`` results. + +.. autofunction:: diff_diff.plot_power_curve + Complete Example ---------------- diff --git a/docs/api/pretrends.rst b/docs/api/pretrends.rst index c149e73c..8924cb13 100644 --- a/docs/api/pretrends.rst +++ b/docs/api/pretrends.rst @@ -100,6 +100,13 @@ Compute minimum detectable violation. .. autofunction:: diff_diff.compute_mdv +plot_pretrends_power +~~~~~~~~~~~~~~~~~~~~ + +Plot a pre-trends test power curve. + +.. autofunction:: diff_diff.plot_pretrends_power + Violation Types --------------- diff --git a/docs/api/visualization.rst b/docs/api/visualization.rst index 7db5ba59..50aba75e 100644 --- a/docs/api/visualization.rst +++ b/docs/api/visualization.rst @@ -171,6 +171,13 @@ Heatmap of group-time treatment effects. .. autofunction:: diff_diff.plot_group_time_heatmap +plot_bacon +---------- + +Visualize Goodman-Bacon decomposition results. + +.. autofunction:: diff_diff.plot_bacon + Example ~~~~~~~ From 6a55a9a5e3c893ddb500f7831e9f44ba54290e47 Mon Sep 17 00:00:00 2001 From: igerber Date: Sun, 10 May 2026 11:02:40 -0400 Subject: [PATCH 4/6] Update TODO.md: remove 4 Sphinx debt rows resolved by PR 2.5 Per PR #410 R3 reviewer P3-informational: TODO.md still listed Sphinx duplicate-object, autodoc-import-failure, EDiDBootstrapResults cross-ref ambiguity, and stale-autosummary-stubs entries that this PR resolves. Removed: - L134 ~1583 duplicate object description Sphinx warnings (now 0) - L137 Sphinx autodoc fails to import DiDResults.ci, MultiPeriodDiDResults.att, CallawaySantAnnaResults.aggregate (typo fixes + template change) - L138 EDiDBootstrapResults cross-reference ambiguous (no "more than one target" warnings remain in build log) - L139 Tracked autosummary stubs stale + 6 untracked (PR 2.5 regenerates all from the new templates and commits the previously-untracked ones) Kept L135 (.txt AI guides outside CI) and L136 (doc-deps.yaml integrity) since neither is in PR 2.5 scope. Co-Authored-By: Claude Opus 4.7 (1M context) --- TODO.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/TODO.md b/TODO.md index 17d2659e..e805586d 100644 --- a/TODO.md +++ b/TODO.md @@ -131,12 +131,8 @@ Deferred items from PR reviews that were not addressed before merge. |-------|----------|----|----------| | R comparison tests spawn separate `Rscript` per test (slow CI) | `tests/test_methodology_twfe.py:294` | #139 | Low | | CS R helpers hard-code `xformla = ~ 1`; no covariate-adjusted R benchmark for IRLS path | `tests/test_methodology_callaway.py` | #202 | Low | -| ~1583 `duplicate object description` Sphinx warnings — restructure `docs/api/*.rst` to avoid duplicate `:members:` + `autosummary` (count grew from ~376 as API surface expanded) | `docs/api/*.rst` | — | Low | | Doc-snippet smoke tests only cover `.rst` files; `.txt` AI guides outside CI validation | `tests/test_doc_snippets.py` | #239 | Low | | Add CI validation for `docs/doc-deps.yaml` integrity (stale paths, unmapped source files) | `docs/doc-deps.yaml` | #269 | Low | -| Sphinx autodoc fails to import 3 result members: `DiDResults.ci`, `MultiPeriodDiDResults.att`, `CallawaySantAnnaResults.aggregate` — investigate whether these are renamed/removed or just unresolvable from autosummary template | `docs/api/results.rst`, `docs/api/staggered.rst` | — | Medium | -| `EDiDBootstrapResults` cross-reference is ambiguous — class is exported from both `diff_diff` and `diff_diff.efficient_did_bootstrap`, producing 3 "more than one target found" warnings. Add `:noindex:` to one source or use full-path refs | `diff_diff/efficient_did_results.py`, `docs/api/efficient_did.rst` | — | Low | -| Tracked Sphinx autosummary stubs in `docs/api/_autosummary/*.rst` are stale — every sphinx build regenerates them with new attributes (e.g., `coef_var`, `survey_metadata`) that have been added to result classes. Either commit a refresh or move the directory to `.gitignore` and treat as build output. Also 6 untracked stubs exist for newer estimators (`WooldridgeDiD`, `SimulationMDEResults`, etc.) that have never been committed. | `docs/api/_autosummary/` | — | Low | | HonestDiD `test_m0_short_circuit` uses wall-clock `elapsed < 0.5s` as a proxy for "short-circuit path taken" instead of calling the full optimizer. Replace with a direct correctness signal (mock/spy the optimizer or check a state flag) so the test doesn't depend on CI timing. Not flaky today at 500ms, but load-bearing correctness on a timing proxy is brittle. | `tests/test_methodology_honest_did.py:246` | — | Low | | SyntheticDiD: rename internal `placebo_effects` variable to `variance_effects` (or `resampled_effects`). Misleading name across the placebo/bootstrap/jackknife dispatch paths — holds three different contents depending on variance method. Low-risk refactor; user-facing field rename should preserve `placebo_effects` as a deprecated alias for one release. | `synthetic_did.py`, `results.py` | follow-up | Medium | From 10eff92a70089de7985d9af5aa9045c9985e9f07 Mon Sep 17 00:00:00 2001 From: igerber Date: Sun, 10 May 2026 11:13:35 -0400 Subject: [PATCH 5/6] Address PR #410 R3 P2+P3: plot_bacon placement + template whitespace R3 findings: - P2: plot_bacon section was inserted before plot_group_time_heatmap's Example block, so the heatmap example rendered under the plot_bacon heading. Reordered to put plot_bacon AFTER the heatmap example, and added a real plot_bacon example. - P3: docs/_templates/autosummary/class.rst had {% block %} tags with 3-space indent that produced trailing-whitespace blank lines in every generated stub. Switched the block tags to column 0 (no indent) so Jinja control flow doesn't leak indentation into the rendered output. Regenerated all 50 class stubs - now whitespace-clean. Verified: 0 ERRORs / 0 WARNINGs, 0 stubs with trailing whitespace, git diff --check passes, page-level rendering preserved (286
--- docs/_templates/autosummary/class.rst | 28 +++++++++---------- .../diff_diff.BaconDecomposition.rst | 13 ++++----- .../diff_diff.BaconDecompositionResults.rst | 17 +++++------ .../diff_diff.CSBootstrapResults.rst | 17 +++++------ .../diff_diff.CallawaySantAnna.rst | 17 +++++------ .../diff_diff.CallawaySantAnnaResults.rst | 17 +++++------ .../diff_diff.ChaisemartinDHaultfoeuille.rst | 17 +++++------ ...diff.ChaisemartinDHaultfoeuilleResults.rst | 17 +++++------ .../_autosummary/diff_diff.Comparison2x2.rst | 17 +++++------ .../_autosummary/diff_diff.ContinuousDiD.rst | 13 ++++----- .../diff_diff.ContinuousDiDResults.rst | 17 +++++------ .../diff_diff.DCDHBootstrapResults.rst | 17 +++++------ docs/api/_autosummary/diff_diff.DeltaRM.rst | 17 +++++------ docs/api/_autosummary/diff_diff.DeltaSD.rst | 17 +++++------ docs/api/_autosummary/diff_diff.DeltaSDRM.rst | 17 +++++------ .../api/_autosummary/diff_diff.DiDResults.rst | 17 +++++------ .../diff_diff.DifferenceInDifferences.rst | 13 ++++----- .../diff_diff.DoseResponseCurve.rst | 17 +++++------ .../diff_diff.EDiDBootstrapResults.rst | 17 +++++------ .../_autosummary/diff_diff.EfficientDiD.rst | 17 +++++------ .../diff_diff.EfficientDiDResults.rst | 17 +++++------ .../diff_diff.GroupTimeEffect.rst | 17 +++++------ .../diff_diff.HeterogeneousAdoptionDiD.rst | 13 ++++----- ...erogeneousAdoptionDiDEventStudyResults.rst | 17 +++++------ ...f_diff.HeterogeneousAdoptionDiDResults.rst | 17 +++++------ docs/api/_autosummary/diff_diff.HonestDiD.rst | 13 ++++----- .../diff_diff.HonestDiDResults.rst | 17 +++++------ .../diff_diff.ImputationBootstrapResults.rst | 17 +++++------ .../_autosummary/diff_diff.ImputationDiD.rst | 17 +++++------ .../diff_diff.ImputationDiDResults.rst | 17 +++++------ .../_autosummary/diff_diff.MultiPeriodDiD.rst | 13 ++++----- .../diff_diff.MultiPeriodDiDResults.rst | 17 +++++------ .../_autosummary/diff_diff.PeriodEffect.rst | 17 +++++------ .../diff_diff.PlaceboTestResults.rst | 17 +++++------ .../_autosummary/diff_diff.PowerAnalysis.rst | 13 ++++----- .../_autosummary/diff_diff.PowerResults.rst | 17 +++++------ .../_autosummary/diff_diff.PreTrendsPower.rst | 13 ++++----- .../diff_diff.PreTrendsPowerCurve.rst | 17 +++++------ .../diff_diff.PreTrendsPowerResults.rst | 17 +++++------ .../diff_diff.SABootstrapResults.rst | 17 +++++------ .../diff_diff.SensitivityResults.rst | 17 +++++------ .../diff_diff.SimulationMDEResults.rst | 17 +++++------ .../diff_diff.SimulationPowerResults.rst | 17 +++++------ .../diff_diff.SimulationSampleSizeResults.rst | 17 +++++------ .../api/_autosummary/diff_diff.StackedDiD.rst | 13 ++++----- .../diff_diff.StackedDiDResults.rst | 17 +++++------ .../api/_autosummary/diff_diff.SunAbraham.rst | 13 ++++----- .../diff_diff.SunAbrahamResults.rst | 17 +++++------ .../_autosummary/diff_diff.SyntheticDiD.rst | 13 ++++----- .../diff_diff.SyntheticDiDResults.rst | 17 +++++------ docs/api/_autosummary/diff_diff.TROP.rst | 17 +++++------ .../_autosummary/diff_diff.TROPResults.rst | 17 +++++------ .../diff_diff.TripleDifference.rst | 13 ++++----- .../diff_diff.TripleDifferenceResults.rst | 17 +++++------ .../diff_diff.TwoStageBootstrapResults.rst | 17 +++++------ .../_autosummary/diff_diff.TwoStageDiD.rst | 17 +++++------ .../diff_diff.TwoStageDiDResults.rst | 17 +++++------ .../diff_diff.TwoWayFixedEffects.rst | 13 ++++----- .../diff_diff.WildBootstrapResults.rst | 17 +++++------ .../_autosummary/diff_diff.WooldridgeDiD.rst | 17 +++++------ ...ooldridge_results.WooldridgeDiDResults.rst | 17 +++++------ docs/api/visualization.rst | 28 ++++++++++++++----- 62 files changed, 428 insertions(+), 596 deletions(-) diff --git a/docs/_templates/autosummary/class.rst b/docs/_templates/autosummary/class.rst index 418eef81..6866ebb2 100644 --- a/docs/_templates/autosummary/class.rst +++ b/docs/_templates/autosummary/class.rst @@ -1,28 +1,26 @@ -{{ fullname | escape | underline}} +{{ fullname | escape | underline }} .. currentmodule:: {{ module }} .. autoclass:: {{ objname }} :no-members: - - {% block methods %} - {% if methods %} +{% block methods %} +{% if methods %} .. rubric:: {{ _('Methods') }} .. autosummary:: - {% for item in methods %} +{% for item in methods %} ~{{ name }}.{{ item }} - {%- endfor %} - {% endif %} - {% endblock %} - - {% block attributes %} - {% if attributes %} +{%- endfor %} +{% endif %} +{% endblock %} +{% block attributes %} +{% if attributes %} .. rubric:: {{ _('Attributes') }} .. autosummary:: - {% for item in attributes %} +{% for item in attributes %} ~{{ name }}.{{ item }} - {%- endfor %} - {% endif %} - {% endblock %} +{%- endfor %} +{% endif %} +{% endblock %} diff --git a/docs/api/_autosummary/diff_diff.BaconDecomposition.rst b/docs/api/_autosummary/diff_diff.BaconDecomposition.rst index 18aaef68..60729342 100644 --- a/docs/api/_autosummary/diff_diff.BaconDecomposition.rst +++ b/docs/api/_autosummary/diff_diff.BaconDecomposition.rst @@ -6,21 +6,18 @@ .. autoclass:: BaconDecomposition :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~BaconDecomposition.__init__ ~BaconDecomposition.fit ~BaconDecomposition.get_params ~BaconDecomposition.print_summary ~BaconDecomposition.set_params ~BaconDecomposition.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst b/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst index 925a3b6a..222a72a0 100644 --- a/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst +++ b/docs/api/_autosummary/diff_diff.BaconDecompositionResults.rst @@ -6,27 +6,25 @@ .. autoclass:: BaconDecompositionResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~BaconDecompositionResults.__init__ ~BaconDecompositionResults.effect_by_type ~BaconDecompositionResults.print_summary ~BaconDecompositionResults.summary ~BaconDecompositionResults.to_dataframe ~BaconDecompositionResults.weight_by_type - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~BaconDecompositionResults.decomposition_error ~BaconDecompositionResults.n_obs ~BaconDecompositionResults.survey_metadata @@ -41,5 +39,4 @@ ~BaconDecompositionResults.n_timing_groups ~BaconDecompositionResults.n_never_treated ~BaconDecompositionResults.timing_groups - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst b/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst index 98f18eca..e7a16b54 100644 --- a/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.CSBootstrapResults.rst @@ -6,22 +6,20 @@ .. autoclass:: CSBootstrapResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~CSBootstrapResults.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~CSBootstrapResults.bootstrap_distribution ~CSBootstrapResults.cband_crit_value ~CSBootstrapResults.event_study_cis @@ -39,5 +37,4 @@ ~CSBootstrapResults.group_time_ses ~CSBootstrapResults.group_time_cis ~CSBootstrapResults.group_time_p_values - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst b/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst index 7e160ba4..facf4993 100644 --- a/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst +++ b/docs/api/_autosummary/diff_diff.CallawaySantAnna.rst @@ -6,12 +6,11 @@ .. autoclass:: CallawaySantAnna :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~CallawaySantAnna.__init__ ~CallawaySantAnna.diagnose_propensity ~CallawaySantAnna.fit @@ -19,20 +18,18 @@ ~CallawaySantAnna.print_summary ~CallawaySantAnna.set_params ~CallawaySantAnna.summary - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~CallawaySantAnna.n_bootstrap ~CallawaySantAnna.bootstrap_weights ~CallawaySantAnna.alpha ~CallawaySantAnna.seed ~CallawaySantAnna.anticipation ~CallawaySantAnna.base_period - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst b/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst index 0f4a932c..e264159f 100644 --- a/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst +++ b/docs/api/_autosummary/diff_diff.CallawaySantAnnaResults.rst @@ -6,26 +6,24 @@ .. autoclass:: CallawaySantAnnaResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~CallawaySantAnnaResults.__init__ ~CallawaySantAnnaResults.epv_summary ~CallawaySantAnnaResults.print_summary ~CallawaySantAnnaResults.summary ~CallawaySantAnnaResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~CallawaySantAnnaResults.alpha ~CallawaySantAnnaResults.anticipation ~CallawaySantAnnaResults.att @@ -62,5 +60,4 @@ ~CallawaySantAnnaResults.n_obs ~CallawaySantAnnaResults.n_treated_units ~CallawaySantAnnaResults.n_control_units - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst index 1634a9d8..f2318b81 100644 --- a/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst +++ b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuille.rst @@ -6,28 +6,25 @@ .. autoclass:: ChaisemartinDHaultfoeuille :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~ChaisemartinDHaultfoeuille.__init__ ~ChaisemartinDHaultfoeuille.fit ~ChaisemartinDHaultfoeuille.get_params ~ChaisemartinDHaultfoeuille.set_params - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~ChaisemartinDHaultfoeuille.n_bootstrap ~ChaisemartinDHaultfoeuille.bootstrap_weights ~ChaisemartinDHaultfoeuille.alpha ~ChaisemartinDHaultfoeuille.seed - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst index e9b12a20..ea711d8a 100644 --- a/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst +++ b/docs/api/_autosummary/diff_diff.ChaisemartinDHaultfoeuilleResults.rst @@ -6,25 +6,23 @@ .. autoclass:: ChaisemartinDHaultfoeuilleResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~ChaisemartinDHaultfoeuilleResults.__init__ ~ChaisemartinDHaultfoeuilleResults.print_summary ~ChaisemartinDHaultfoeuilleResults.summary ~ChaisemartinDHaultfoeuilleResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~ChaisemartinDHaultfoeuilleResults.L_max ~ChaisemartinDHaultfoeuilleResults.alpha ~ChaisemartinDHaultfoeuilleResults.att @@ -93,5 +91,4 @@ ~ChaisemartinDHaultfoeuilleResults.n_groups_dropped_crossers ~ChaisemartinDHaultfoeuilleResults.n_groups_dropped_singleton_baseline ~ChaisemartinDHaultfoeuilleResults.n_groups_dropped_never_switching - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.Comparison2x2.rst b/docs/api/_autosummary/diff_diff.Comparison2x2.rst index 2d0e8380..092f621e 100644 --- a/docs/api/_autosummary/diff_diff.Comparison2x2.rst +++ b/docs/api/_autosummary/diff_diff.Comparison2x2.rst @@ -6,22 +6,20 @@ .. autoclass:: Comparison2x2 :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~Comparison2x2.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~Comparison2x2.treated_group ~Comparison2x2.control_group ~Comparison2x2.comparison_type @@ -30,5 +28,4 @@ ~Comparison2x2.n_treated ~Comparison2x2.n_control ~Comparison2x2.time_window - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.ContinuousDiD.rst b/docs/api/_autosummary/diff_diff.ContinuousDiD.rst index 8c6f5f68..14764cb1 100644 --- a/docs/api/_autosummary/diff_diff.ContinuousDiD.rst +++ b/docs/api/_autosummary/diff_diff.ContinuousDiD.rst @@ -6,19 +6,16 @@ .. autoclass:: ContinuousDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~ContinuousDiD.__init__ ~ContinuousDiD.fit ~ContinuousDiD.get_params ~ContinuousDiD.set_params - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst b/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst index d8919cc1..282e9255 100644 --- a/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.ContinuousDiDResults.rst @@ -6,25 +6,23 @@ .. autoclass:: ContinuousDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~ContinuousDiDResults.__init__ ~ContinuousDiDResults.print_summary ~ContinuousDiDResults.summary ~ContinuousDiDResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~ContinuousDiDResults.alpha ~ContinuousDiDResults.anticipation ~ContinuousDiDResults.att @@ -68,5 +66,4 @@ ~ContinuousDiDResults.n_obs ~ContinuousDiDResults.n_treated_units ~ContinuousDiDResults.n_control_units - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst b/docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst index a65b4b1c..0090365d 100644 --- a/docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.DCDHBootstrapResults.rst @@ -6,22 +6,20 @@ .. autoclass:: DCDHBootstrapResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~DCDHBootstrapResults.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~DCDHBootstrapResults.bootstrap_distribution ~DCDHBootstrapResults.cband_crit_value ~DCDHBootstrapResults.event_study_cis @@ -53,5 +51,4 @@ ~DCDHBootstrapResults.overall_se ~DCDHBootstrapResults.overall_ci ~DCDHBootstrapResults.overall_p_value - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.DeltaRM.rst b/docs/api/_autosummary/diff_diff.DeltaRM.rst index c5fcc338..c8f6bef2 100644 --- a/docs/api/_autosummary/diff_diff.DeltaRM.rst +++ b/docs/api/_autosummary/diff_diff.DeltaRM.rst @@ -6,22 +6,19 @@ .. autoclass:: DeltaRM :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~DeltaRM.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~DeltaRM.Mbar - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.DeltaSD.rst b/docs/api/_autosummary/diff_diff.DeltaSD.rst index 9a3d0601..0d581bd5 100644 --- a/docs/api/_autosummary/diff_diff.DeltaSD.rst +++ b/docs/api/_autosummary/diff_diff.DeltaSD.rst @@ -6,22 +6,19 @@ .. autoclass:: DeltaSD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~DeltaSD.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~DeltaSD.M - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.DeltaSDRM.rst b/docs/api/_autosummary/diff_diff.DeltaSDRM.rst index f8051955..8ba5e182 100644 --- a/docs/api/_autosummary/diff_diff.DeltaSDRM.rst +++ b/docs/api/_autosummary/diff_diff.DeltaSDRM.rst @@ -6,23 +6,20 @@ .. autoclass:: DeltaSDRM :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~DeltaSDRM.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~DeltaSDRM.M ~DeltaSDRM.Mbar - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.DiDResults.rst b/docs/api/_autosummary/diff_diff.DiDResults.rst index e8bc7bf5..5178e915 100644 --- a/docs/api/_autosummary/diff_diff.DiDResults.rst +++ b/docs/api/_autosummary/diff_diff.DiDResults.rst @@ -6,26 +6,24 @@ .. autoclass:: DiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~DiDResults.__init__ ~DiDResults.print_summary ~DiDResults.summary ~DiDResults.to_dataframe ~DiDResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~DiDResults.alpha ~DiDResults.bootstrap_distribution ~DiDResults.cluster_name @@ -50,5 +48,4 @@ ~DiDResults.n_obs ~DiDResults.n_treated ~DiDResults.n_control - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst b/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst index e0779317..ed617e61 100644 --- a/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst +++ b/docs/api/_autosummary/diff_diff.DifferenceInDifferences.rst @@ -6,12 +6,11 @@ .. autoclass:: DifferenceInDifferences :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~DifferenceInDifferences.__init__ ~DifferenceInDifferences.fit ~DifferenceInDifferences.get_params @@ -19,9 +18,7 @@ ~DifferenceInDifferences.print_summary ~DifferenceInDifferences.set_params ~DifferenceInDifferences.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst b/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst index 04da9878..65434f23 100644 --- a/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst +++ b/docs/api/_autosummary/diff_diff.DoseResponseCurve.rst @@ -6,23 +6,21 @@ .. autoclass:: DoseResponseCurve :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~DoseResponseCurve.__init__ ~DoseResponseCurve.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~DoseResponseCurve.df_survey ~DoseResponseCurve.n_bootstrap ~DoseResponseCurve.p_value @@ -32,5 +30,4 @@ ~DoseResponseCurve.conf_int_lower ~DoseResponseCurve.conf_int_upper ~DoseResponseCurve.target - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst b/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst index d049147a..52f6956b 100644 --- a/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.EDiDBootstrapResults.rst @@ -6,22 +6,20 @@ .. autoclass:: EDiDBootstrapResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~EDiDBootstrapResults.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~EDiDBootstrapResults.bootstrap_distribution ~EDiDBootstrapResults.event_study_cis ~EDiDBootstrapResults.event_study_p_values @@ -38,5 +36,4 @@ ~EDiDBootstrapResults.group_time_ses ~EDiDBootstrapResults.group_time_cis ~EDiDBootstrapResults.group_time_p_values - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.EfficientDiD.rst b/docs/api/_autosummary/diff_diff.EfficientDiD.rst index 7a89b2e7..6696b5c4 100644 --- a/docs/api/_autosummary/diff_diff.EfficientDiD.rst +++ b/docs/api/_autosummary/diff_diff.EfficientDiD.rst @@ -6,12 +6,11 @@ .. autoclass:: EfficientDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~EfficientDiD.__init__ ~EfficientDiD.fit ~EfficientDiD.get_params @@ -19,19 +18,17 @@ ~EfficientDiD.print_summary ~EfficientDiD.set_params ~EfficientDiD.summary - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~EfficientDiD.n_bootstrap ~EfficientDiD.bootstrap_weights ~EfficientDiD.alpha ~EfficientDiD.seed ~EfficientDiD.anticipation - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst b/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst index d3dbcbb6..d19233eb 100644 --- a/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.EfficientDiDResults.rst @@ -6,25 +6,23 @@ .. autoclass:: EfficientDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~EfficientDiDResults.__init__ ~EfficientDiDResults.print_summary ~EfficientDiDResults.summary ~EfficientDiDResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~EfficientDiDResults.alpha ~EfficientDiDResults.anticipation ~EfficientDiDResults.att @@ -64,5 +62,4 @@ ~EfficientDiDResults.n_obs ~EfficientDiDResults.n_treated_units ~EfficientDiDResults.n_control_units - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst b/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst index 148231d3..3f374873 100644 --- a/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst +++ b/docs/api/_autosummary/diff_diff.GroupTimeEffect.rst @@ -6,22 +6,20 @@ .. autoclass:: GroupTimeEffect :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~GroupTimeEffect.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~GroupTimeEffect.is_significant ~GroupTimeEffect.significance_stars ~GroupTimeEffect.group @@ -33,5 +31,4 @@ ~GroupTimeEffect.conf_int ~GroupTimeEffect.n_treated ~GroupTimeEffect.n_control - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst index 06656d3f..41b9190f 100644 --- a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst +++ b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiD.rst @@ -6,19 +6,16 @@ .. autoclass:: HeterogeneousAdoptionDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~HeterogeneousAdoptionDiD.__init__ ~HeterogeneousAdoptionDiD.fit ~HeterogeneousAdoptionDiD.get_params ~HeterogeneousAdoptionDiD.set_params - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst index 5e1411de..09e0e2a9 100644 --- a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst +++ b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDEventStudyResults.rst @@ -6,26 +6,24 @@ .. autoclass:: HeterogeneousAdoptionDiDEventStudyResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~HeterogeneousAdoptionDiDEventStudyResults.__init__ ~HeterogeneousAdoptionDiDEventStudyResults.print_summary ~HeterogeneousAdoptionDiDEventStudyResults.summary ~HeterogeneousAdoptionDiDEventStudyResults.to_dataframe ~HeterogeneousAdoptionDiDEventStudyResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~HeterogeneousAdoptionDiDEventStudyResults.cband_crit_value ~HeterogeneousAdoptionDiDEventStudyResults.cband_high ~HeterogeneousAdoptionDiDEventStudyResults.cband_low @@ -55,5 +53,4 @@ ~HeterogeneousAdoptionDiDEventStudyResults.bandwidth_diagnostics ~HeterogeneousAdoptionDiDEventStudyResults.bias_corrected_fit ~HeterogeneousAdoptionDiDEventStudyResults.filter_info - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst index 03db6840..f3907b05 100644 --- a/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.HeterogeneousAdoptionDiDResults.rst @@ -6,26 +6,24 @@ .. autoclass:: HeterogeneousAdoptionDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~HeterogeneousAdoptionDiDResults.__init__ ~HeterogeneousAdoptionDiDResults.print_summary ~HeterogeneousAdoptionDiDResults.summary ~HeterogeneousAdoptionDiDResults.to_dataframe ~HeterogeneousAdoptionDiDResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~HeterogeneousAdoptionDiDResults.effective_dose_mean ~HeterogeneousAdoptionDiDResults.variance_formula ~HeterogeneousAdoptionDiDResults.att @@ -49,5 +47,4 @@ ~HeterogeneousAdoptionDiDResults.survey_metadata ~HeterogeneousAdoptionDiDResults.bandwidth_diagnostics ~HeterogeneousAdoptionDiDResults.bias_corrected_fit - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.HonestDiD.rst b/docs/api/_autosummary/diff_diff.HonestDiD.rst index ff28c9dc..8e09e39c 100644 --- a/docs/api/_autosummary/diff_diff.HonestDiD.rst +++ b/docs/api/_autosummary/diff_diff.HonestDiD.rst @@ -6,21 +6,18 @@ .. autoclass:: HonestDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~HonestDiD.__init__ ~HonestDiD.breakdown_value ~HonestDiD.fit ~HonestDiD.get_params ~HonestDiD.sensitivity_analysis ~HonestDiD.set_params - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.HonestDiDResults.rst b/docs/api/_autosummary/diff_diff.HonestDiDResults.rst index 0cfa3fcb..22ce46e9 100644 --- a/docs/api/_autosummary/diff_diff.HonestDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.HonestDiDResults.rst @@ -6,26 +6,24 @@ .. autoclass:: HonestDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~HonestDiDResults.__init__ ~HonestDiDResults.print_summary ~HonestDiDResults.summary ~HonestDiDResults.to_dataframe ~HonestDiDResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~HonestDiDResults.alpha ~HonestDiDResults.ci_method ~HonestDiDResults.ci_width @@ -47,5 +45,4 @@ ~HonestDiDResults.method ~HonestDiDResults.original_estimate ~HonestDiDResults.original_se - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst b/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst index 1caabc4c..ca66a034 100644 --- a/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.ImputationBootstrapResults.rst @@ -6,22 +6,20 @@ .. autoclass:: ImputationBootstrapResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~ImputationBootstrapResults.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~ImputationBootstrapResults.bootstrap_distribution ~ImputationBootstrapResults.event_study_cis ~ImputationBootstrapResults.event_study_p_values @@ -35,5 +33,4 @@ ~ImputationBootstrapResults.overall_att_se ~ImputationBootstrapResults.overall_att_ci ~ImputationBootstrapResults.overall_att_p_value - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.ImputationDiD.rst b/docs/api/_autosummary/diff_diff.ImputationDiD.rst index a9ecd2fb..6794ab8f 100644 --- a/docs/api/_autosummary/diff_diff.ImputationDiD.rst +++ b/docs/api/_autosummary/diff_diff.ImputationDiD.rst @@ -6,32 +6,29 @@ .. autoclass:: ImputationDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~ImputationDiD.__init__ ~ImputationDiD.fit ~ImputationDiD.get_params ~ImputationDiD.print_summary ~ImputationDiD.set_params ~ImputationDiD.summary - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~ImputationDiD.n_bootstrap ~ImputationDiD.bootstrap_weights ~ImputationDiD.alpha ~ImputationDiD.seed ~ImputationDiD.anticipation ~ImputationDiD.horizon_max - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst b/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst index a75d14e3..367e35aa 100644 --- a/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.ImputationDiDResults.rst @@ -6,26 +6,24 @@ .. autoclass:: ImputationDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~ImputationDiDResults.__init__ ~ImputationDiDResults.pretrend_test ~ImputationDiDResults.print_summary ~ImputationDiDResults.summary ~ImputationDiDResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~ImputationDiDResults.alpha ~ImputationDiDResults.anticipation ~ImputationDiDResults.att @@ -54,5 +52,4 @@ ~ImputationDiDResults.n_untreated_obs ~ImputationDiDResults.n_treated_units ~ImputationDiDResults.n_control_units - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst b/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst index 2b22f6ca..f0c3e56c 100644 --- a/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst +++ b/docs/api/_autosummary/diff_diff.MultiPeriodDiD.rst @@ -6,12 +6,11 @@ .. autoclass:: MultiPeriodDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~MultiPeriodDiD.__init__ ~MultiPeriodDiD.fit ~MultiPeriodDiD.get_params @@ -19,9 +18,7 @@ ~MultiPeriodDiD.print_summary ~MultiPeriodDiD.set_params ~MultiPeriodDiD.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst b/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst index 1d886479..b364264f 100644 --- a/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.MultiPeriodDiDResults.rst @@ -6,27 +6,25 @@ .. autoclass:: MultiPeriodDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~MultiPeriodDiDResults.__init__ ~MultiPeriodDiDResults.get_effect ~MultiPeriodDiDResults.print_summary ~MultiPeriodDiDResults.summary ~MultiPeriodDiDResults.to_dataframe ~MultiPeriodDiDResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~MultiPeriodDiDResults.alpha ~MultiPeriodDiDResults.att ~MultiPeriodDiDResults.cluster_name @@ -62,5 +60,4 @@ ~MultiPeriodDiDResults.n_control ~MultiPeriodDiDResults.pre_periods ~MultiPeriodDiDResults.post_periods - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.PeriodEffect.rst b/docs/api/_autosummary/diff_diff.PeriodEffect.rst index 3c48188d..303501b6 100644 --- a/docs/api/_autosummary/diff_diff.PeriodEffect.rst +++ b/docs/api/_autosummary/diff_diff.PeriodEffect.rst @@ -6,22 +6,20 @@ .. autoclass:: PeriodEffect :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~PeriodEffect.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~PeriodEffect.is_significant ~PeriodEffect.significance_stars ~PeriodEffect.period @@ -30,5 +28,4 @@ ~PeriodEffect.t_stat ~PeriodEffect.p_value ~PeriodEffect.conf_int - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst b/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst index 8a7712d2..54aaa8f4 100644 --- a/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst +++ b/docs/api/_autosummary/diff_diff.PlaceboTestResults.rst @@ -6,26 +6,24 @@ .. autoclass:: PlaceboTestResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~PlaceboTestResults.__init__ ~PlaceboTestResults.print_summary ~PlaceboTestResults.summary ~PlaceboTestResults.to_dataframe ~PlaceboTestResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~PlaceboTestResults.alpha ~PlaceboTestResults.fake_group ~PlaceboTestResults.fake_period @@ -43,5 +41,4 @@ ~PlaceboTestResults.conf_int ~PlaceboTestResults.n_obs ~PlaceboTestResults.is_significant - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.PowerAnalysis.rst b/docs/api/_autosummary/diff_diff.PowerAnalysis.rst index 6ba17810..a9d4b7c6 100644 --- a/docs/api/_autosummary/diff_diff.PowerAnalysis.rst +++ b/docs/api/_autosummary/diff_diff.PowerAnalysis.rst @@ -6,21 +6,18 @@ .. autoclass:: PowerAnalysis :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~PowerAnalysis.__init__ ~PowerAnalysis.mde ~PowerAnalysis.power ~PowerAnalysis.power_curve ~PowerAnalysis.sample_size ~PowerAnalysis.sample_size_curve - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.PowerResults.rst b/docs/api/_autosummary/diff_diff.PowerResults.rst index 9dc908d6..59d107c3 100644 --- a/docs/api/_autosummary/diff_diff.PowerResults.rst +++ b/docs/api/_autosummary/diff_diff.PowerResults.rst @@ -6,26 +6,24 @@ .. autoclass:: PowerResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~PowerResults.__init__ ~PowerResults.print_summary ~PowerResults.summary ~PowerResults.to_dataframe ~PowerResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~PowerResults.deff ~PowerResults.design ~PowerResults.rho @@ -40,5 +38,4 @@ ~PowerResults.n_pre ~PowerResults.n_post ~PowerResults.sigma - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.PreTrendsPower.rst b/docs/api/_autosummary/diff_diff.PreTrendsPower.rst index d74ae935..b5085f8e 100644 --- a/docs/api/_autosummary/diff_diff.PreTrendsPower.rst +++ b/docs/api/_autosummary/diff_diff.PreTrendsPower.rst @@ -6,12 +6,11 @@ .. autoclass:: PreTrendsPower :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~PreTrendsPower.__init__ ~PreTrendsPower.fit ~PreTrendsPower.get_params @@ -19,9 +18,7 @@ ~PreTrendsPower.power_curve ~PreTrendsPower.sensitivity_to_honest_did ~PreTrendsPower.set_params - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst b/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst index 50a84ad5..64584465 100644 --- a/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst +++ b/docs/api/_autosummary/diff_diff.PreTrendsPowerCurve.rst @@ -6,29 +6,26 @@ .. autoclass:: PreTrendsPowerCurve :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~PreTrendsPowerCurve.__init__ ~PreTrendsPowerCurve.plot ~PreTrendsPowerCurve.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~PreTrendsPowerCurve.M_values ~PreTrendsPowerCurve.powers ~PreTrendsPowerCurve.mdv ~PreTrendsPowerCurve.alpha ~PreTrendsPowerCurve.target_power ~PreTrendsPowerCurve.violation_type - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst b/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst index d19c8c83..cfbbe639 100644 --- a/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst +++ b/docs/api/_autosummary/diff_diff.PreTrendsPowerResults.rst @@ -6,27 +6,25 @@ .. autoclass:: PreTrendsPowerResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~PreTrendsPowerResults.__init__ ~PreTrendsPowerResults.power_at ~PreTrendsPowerResults.print_summary ~PreTrendsPowerResults.summary ~PreTrendsPowerResults.to_dataframe ~PreTrendsPowerResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~PreTrendsPowerResults.is_informative ~PreTrendsPowerResults.original_results ~PreTrendsPowerResults.power_adequate @@ -43,5 +41,4 @@ ~PreTrendsPowerResults.pre_period_effects ~PreTrendsPowerResults.pre_period_ses ~PreTrendsPowerResults.vcov - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.SABootstrapResults.rst b/docs/api/_autosummary/diff_diff.SABootstrapResults.rst index f30d4f67..15003f14 100644 --- a/docs/api/_autosummary/diff_diff.SABootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.SABootstrapResults.rst @@ -6,22 +6,20 @@ .. autoclass:: SABootstrapResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SABootstrapResults.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~SABootstrapResults.bootstrap_distribution ~SABootstrapResults.n_bootstrap ~SABootstrapResults.weight_type @@ -32,5 +30,4 @@ ~SABootstrapResults.event_study_ses ~SABootstrapResults.event_study_cis ~SABootstrapResults.event_study_p_values - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.SensitivityResults.rst b/docs/api/_autosummary/diff_diff.SensitivityResults.rst index 8c0e4ab9..f6b2dd1f 100644 --- a/docs/api/_autosummary/diff_diff.SensitivityResults.rst +++ b/docs/api/_autosummary/diff_diff.SensitivityResults.rst @@ -6,26 +6,24 @@ .. autoclass:: SensitivityResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SensitivityResults.__init__ ~SensitivityResults.plot ~SensitivityResults.print_summary ~SensitivityResults.summary ~SensitivityResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~SensitivityResults.alpha ~SensitivityResults.has_breakdown ~SensitivityResults.M_values @@ -35,5 +33,4 @@ ~SensitivityResults.method ~SensitivityResults.original_estimate ~SensitivityResults.original_se - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.SimulationMDEResults.rst b/docs/api/_autosummary/diff_diff.SimulationMDEResults.rst index 2713b5ee..52eab21a 100644 --- a/docs/api/_autosummary/diff_diff.SimulationMDEResults.rst +++ b/docs/api/_autosummary/diff_diff.SimulationMDEResults.rst @@ -6,25 +6,23 @@ .. autoclass:: SimulationMDEResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SimulationMDEResults.__init__ ~SimulationMDEResults.summary ~SimulationMDEResults.to_dataframe ~SimulationMDEResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~SimulationMDEResults.effective_n_units ~SimulationMDEResults.survey_config ~SimulationMDEResults.mde @@ -36,5 +34,4 @@ ~SimulationMDEResults.n_steps ~SimulationMDEResults.search_path ~SimulationMDEResults.estimator_name - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst b/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst index 2573230f..6eff7687 100644 --- a/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst +++ b/docs/api/_autosummary/diff_diff.SimulationPowerResults.rst @@ -6,27 +6,25 @@ .. autoclass:: SimulationPowerResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SimulationPowerResults.__init__ ~SimulationPowerResults.power_curve_df ~SimulationPowerResults.print_summary ~SimulationPowerResults.summary ~SimulationPowerResults.to_dataframe ~SimulationPowerResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~SimulationPowerResults.effective_n_units ~SimulationPowerResults.mean_deff ~SimulationPowerResults.mean_icc_realized @@ -49,5 +47,4 @@ ~SimulationPowerResults.estimator_name ~SimulationPowerResults.bias ~SimulationPowerResults.rmse - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst b/docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst index ebcd6417..3bd374fe 100644 --- a/docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst +++ b/docs/api/_autosummary/diff_diff.SimulationSampleSizeResults.rst @@ -6,25 +6,23 @@ .. autoclass:: SimulationSampleSizeResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SimulationSampleSizeResults.__init__ ~SimulationSampleSizeResults.summary ~SimulationSampleSizeResults.to_dataframe ~SimulationSampleSizeResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~SimulationSampleSizeResults.effective_n_units ~SimulationSampleSizeResults.survey_config ~SimulationSampleSizeResults.required_n @@ -36,5 +34,4 @@ ~SimulationSampleSizeResults.n_steps ~SimulationSampleSizeResults.search_path ~SimulationSampleSizeResults.estimator_name - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.StackedDiD.rst b/docs/api/_autosummary/diff_diff.StackedDiD.rst index 7982ddd3..681a8bb3 100644 --- a/docs/api/_autosummary/diff_diff.StackedDiD.rst +++ b/docs/api/_autosummary/diff_diff.StackedDiD.rst @@ -6,21 +6,18 @@ .. autoclass:: StackedDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~StackedDiD.__init__ ~StackedDiD.fit ~StackedDiD.get_params ~StackedDiD.print_summary ~StackedDiD.set_params ~StackedDiD.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.StackedDiDResults.rst b/docs/api/_autosummary/diff_diff.StackedDiDResults.rst index ad16f96e..73c3b0eb 100644 --- a/docs/api/_autosummary/diff_diff.StackedDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.StackedDiDResults.rst @@ -6,25 +6,23 @@ .. autoclass:: StackedDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~StackedDiDResults.__init__ ~StackedDiDResults.print_summary ~StackedDiDResults.summary ~StackedDiDResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~StackedDiDResults.alpha ~StackedDiDResults.anticipation ~StackedDiDResults.att @@ -56,5 +54,4 @@ ~StackedDiDResults.groups ~StackedDiDResults.trimmed_groups ~StackedDiDResults.time_periods - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.SunAbraham.rst b/docs/api/_autosummary/diff_diff.SunAbraham.rst index 669c22d2..a6aacc72 100644 --- a/docs/api/_autosummary/diff_diff.SunAbraham.rst +++ b/docs/api/_autosummary/diff_diff.SunAbraham.rst @@ -6,21 +6,18 @@ .. autoclass:: SunAbraham :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SunAbraham.__init__ ~SunAbraham.fit ~SunAbraham.get_params ~SunAbraham.print_summary ~SunAbraham.set_params ~SunAbraham.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst b/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst index ac045f28..99be9bea 100644 --- a/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst +++ b/docs/api/_autosummary/diff_diff.SunAbrahamResults.rst @@ -6,25 +6,23 @@ .. autoclass:: SunAbrahamResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SunAbrahamResults.__init__ ~SunAbrahamResults.print_summary ~SunAbrahamResults.summary ~SunAbrahamResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~SunAbrahamResults.alpha ~SunAbrahamResults.anticipation ~SunAbrahamResults.att @@ -51,5 +49,4 @@ ~SunAbrahamResults.n_obs ~SunAbrahamResults.n_treated_units ~SunAbrahamResults.n_control_units - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.SyntheticDiD.rst b/docs/api/_autosummary/diff_diff.SyntheticDiD.rst index d191e12e..2827a478 100644 --- a/docs/api/_autosummary/diff_diff.SyntheticDiD.rst +++ b/docs/api/_autosummary/diff_diff.SyntheticDiD.rst @@ -6,12 +6,11 @@ .. autoclass:: SyntheticDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SyntheticDiD.__init__ ~SyntheticDiD.fit ~SyntheticDiD.get_params @@ -19,9 +18,7 @@ ~SyntheticDiD.print_summary ~SyntheticDiD.set_params ~SyntheticDiD.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst b/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst index 75f9cef2..57a1c2a5 100644 --- a/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.SyntheticDiDResults.rst @@ -6,12 +6,11 @@ .. autoclass:: SyntheticDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~SyntheticDiDResults.__init__ ~SyntheticDiDResults.get_loo_effects_df ~SyntheticDiDResults.get_time_weights_df @@ -23,15 +22,14 @@ ~SyntheticDiDResults.summary ~SyntheticDiDResults.to_dataframe ~SyntheticDiDResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~SyntheticDiDResults.alpha ~SyntheticDiDResults.coef_var ~SyntheticDiDResults.is_significant @@ -61,5 +59,4 @@ ~SyntheticDiDResults.time_weights ~SyntheticDiDResults.pre_periods ~SyntheticDiDResults.post_periods - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.TROP.rst b/docs/api/_autosummary/diff_diff.TROP.rst index aa782f94..f6eb94d1 100644 --- a/docs/api/_autosummary/diff_diff.TROP.rst +++ b/docs/api/_autosummary/diff_diff.TROP.rst @@ -6,25 +6,23 @@ .. autoclass:: TROP :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TROP.__init__ ~TROP.fit ~TROP.get_params ~TROP.set_params - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~TROP.CONVERGENCE_TOL_SVD ~TROP.max_iter ~TROP.tol @@ -36,5 +34,4 @@ ~TROP.alpha ~TROP.results_ ~TROP.is_fitted_ - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.TROPResults.rst b/docs/api/_autosummary/diff_diff.TROPResults.rst index 4bc738fb..2186f45b 100644 --- a/docs/api/_autosummary/diff_diff.TROPResults.rst +++ b/docs/api/_autosummary/diff_diff.TROPResults.rst @@ -6,12 +6,11 @@ .. autoclass:: TROPResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TROPResults.__init__ ~TROPResults.get_time_effects_df ~TROPResults.get_treatment_effects_df @@ -20,15 +19,14 @@ ~TROPResults.summary ~TROPResults.to_dataframe ~TROPResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~TROPResults.alpha ~TROPResults.bootstrap_distribution ~TROPResults.coef_var @@ -56,5 +54,4 @@ ~TROPResults.factor_matrix ~TROPResults.effective_rank ~TROPResults.loocv_score - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.TripleDifference.rst b/docs/api/_autosummary/diff_diff.TripleDifference.rst index dc09ebac..2f80893c 100644 --- a/docs/api/_autosummary/diff_diff.TripleDifference.rst +++ b/docs/api/_autosummary/diff_diff.TripleDifference.rst @@ -6,21 +6,18 @@ .. autoclass:: TripleDifference :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TripleDifference.__init__ ~TripleDifference.fit ~TripleDifference.get_params ~TripleDifference.print_summary ~TripleDifference.set_params ~TripleDifference.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst b/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst index a3d19042..991fe9dd 100644 --- a/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst +++ b/docs/api/_autosummary/diff_diff.TripleDifferenceResults.rst @@ -6,27 +6,25 @@ .. autoclass:: TripleDifferenceResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TripleDifferenceResults.__init__ ~TripleDifferenceResults.epv_summary ~TripleDifferenceResults.print_summary ~TripleDifferenceResults.summary ~TripleDifferenceResults.to_dataframe ~TripleDifferenceResults.to_dict - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~TripleDifferenceResults.alpha ~TripleDifferenceResults.covariate_balance ~TripleDifferenceResults.epv_diagnostics @@ -52,5 +50,4 @@ ~TripleDifferenceResults.n_control_eligible ~TripleDifferenceResults.n_control_ineligible ~TripleDifferenceResults.estimation_method - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst b/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst index 5dac3ee1..67e4d7c9 100644 --- a/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.TwoStageBootstrapResults.rst @@ -6,22 +6,20 @@ .. autoclass:: TwoStageBootstrapResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TwoStageBootstrapResults.__init__ - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~TwoStageBootstrapResults.bootstrap_distribution ~TwoStageBootstrapResults.event_study_cis ~TwoStageBootstrapResults.event_study_p_values @@ -35,5 +33,4 @@ ~TwoStageBootstrapResults.overall_att_se ~TwoStageBootstrapResults.overall_att_ci ~TwoStageBootstrapResults.overall_att_p_value - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.TwoStageDiD.rst b/docs/api/_autosummary/diff_diff.TwoStageDiD.rst index 06b62a0c..0eaedf9b 100644 --- a/docs/api/_autosummary/diff_diff.TwoStageDiD.rst +++ b/docs/api/_autosummary/diff_diff.TwoStageDiD.rst @@ -6,31 +6,28 @@ .. autoclass:: TwoStageDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TwoStageDiD.__init__ ~TwoStageDiD.fit ~TwoStageDiD.get_params ~TwoStageDiD.print_summary ~TwoStageDiD.set_params ~TwoStageDiD.summary - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~TwoStageDiD.n_bootstrap ~TwoStageDiD.bootstrap_weights ~TwoStageDiD.alpha ~TwoStageDiD.seed ~TwoStageDiD.horizon_max - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst b/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst index 25aeec6d..00c5d5c0 100644 --- a/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.TwoStageDiDResults.rst @@ -6,25 +6,23 @@ .. autoclass:: TwoStageDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TwoStageDiDResults.__init__ ~TwoStageDiDResults.print_summary ~TwoStageDiDResults.summary ~TwoStageDiDResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~TwoStageDiDResults.alpha ~TwoStageDiDResults.anticipation ~TwoStageDiDResults.att @@ -52,5 +50,4 @@ ~TwoStageDiDResults.n_untreated_obs ~TwoStageDiDResults.n_treated_units ~TwoStageDiDResults.n_control_units - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst b/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst index ebaa0338..7eecc57f 100644 --- a/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst +++ b/docs/api/_autosummary/diff_diff.TwoWayFixedEffects.rst @@ -6,12 +6,11 @@ .. autoclass:: TwoWayFixedEffects :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~TwoWayFixedEffects.__init__ ~TwoWayFixedEffects.decompose ~TwoWayFixedEffects.fit @@ -20,9 +19,7 @@ ~TwoWayFixedEffects.print_summary ~TwoWayFixedEffects.set_params ~TwoWayFixedEffects.summary - - - - - \ No newline at end of file + + + diff --git a/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst b/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst index 5ba36bb0..d09127d7 100644 --- a/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst +++ b/docs/api/_autosummary/diff_diff.WildBootstrapResults.rst @@ -6,24 +6,22 @@ .. autoclass:: WildBootstrapResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~WildBootstrapResults.__init__ ~WildBootstrapResults.print_summary ~WildBootstrapResults.summary - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~WildBootstrapResults.alpha ~WildBootstrapResults.bootstrap_distribution ~WildBootstrapResults.se @@ -34,5 +32,4 @@ ~WildBootstrapResults.n_clusters ~WildBootstrapResults.n_bootstrap ~WildBootstrapResults.weight_type - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.WooldridgeDiD.rst b/docs/api/_autosummary/diff_diff.WooldridgeDiD.rst index 4a773d1f..972db0bb 100644 --- a/docs/api/_autosummary/diff_diff.WooldridgeDiD.rst +++ b/docs/api/_autosummary/diff_diff.WooldridgeDiD.rst @@ -6,25 +6,22 @@ .. autoclass:: WooldridgeDiD :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~WooldridgeDiD.__init__ ~WooldridgeDiD.fit ~WooldridgeDiD.get_params ~WooldridgeDiD.set_params - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~WooldridgeDiD.results_ - - \ No newline at end of file + diff --git a/docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst b/docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst index 00a192b0..228e21ff 100644 --- a/docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst +++ b/docs/api/_autosummary/diff_diff.wooldridge_results.WooldridgeDiDResults.rst @@ -6,26 +6,24 @@ .. autoclass:: WooldridgeDiDResults :no-members: - - + .. rubric:: Methods .. autosummary:: - + ~WooldridgeDiDResults.__init__ ~WooldridgeDiDResults.aggregate ~WooldridgeDiDResults.plot_event_study ~WooldridgeDiDResults.summary ~WooldridgeDiDResults.to_dataframe - - - - + + + .. rubric:: Attributes .. autosummary:: - + ~WooldridgeDiDResults.alpha ~WooldridgeDiDResults.anticipation ~WooldridgeDiDResults.att @@ -50,5 +48,4 @@ ~WooldridgeDiDResults.overall_conf_int ~WooldridgeDiDResults.groups ~WooldridgeDiDResults.time_periods - - \ No newline at end of file + diff --git a/docs/api/visualization.rst b/docs/api/visualization.rst index 50aba75e..7edae6bc 100644 --- a/docs/api/visualization.rst +++ b/docs/api/visualization.rst @@ -171,13 +171,6 @@ Heatmap of group-time treatment effects. .. autofunction:: diff_diff.plot_group_time_heatmap -plot_bacon ----------- - -Visualize Goodman-Bacon decomposition results. - -.. autofunction:: diff_diff.plot_bacon - Example ~~~~~~~ @@ -195,6 +188,27 @@ Example # Grey out non-significant cells ax = plot_group_time_heatmap(results, mask_insignificant=True) +plot_bacon +---------- + +Visualize Goodman-Bacon decomposition results. + +.. autofunction:: diff_diff.plot_bacon + +Example +~~~~~~~ + +.. code-block:: python + + from diff_diff import BaconDecomposition, plot_bacon + + bd = BaconDecomposition() + results = bd.fit(data, outcome='y', unit='unit_id', + time='period', treatment='treated') + + # Scatter of 2x2 comparisons by weight, colored by comparison type + ax = plot_bacon(results) + Plotly Backend -------------- From e25445e87c2bd46182daa183f707490c8413870c Mon Sep 17 00:00:00 2001 From: igerber Date: Sun, 10 May 2026 12:46:17 -0400 Subject: [PATCH 6/6] Fix doc-snippet test failures from PR 2.5 plot_bacon insertion CI's "Validate RST code snippets" job failed with 2 errors after the plot_bacon section was inserted in docs/api/visualization.rst: 1. block8 (new plot_bacon example) used wrong API: BaconDecomposition.fit() takes first_treat=, not treatment=. Fixed to first_treat='first_treat'. 2. block9 (Plotly Backend, was block8 before insertion) raised NameError on 'results' because it relies on context from earlier blocks. The _CONTEXT_DEPENDENT_SNIPPETS allowlist had api_visualization:block8 which now points to my new plot_bacon block (which is standalone and does NOT need leniency); the actual context-dependent block moved to index 9. Updated allowlist entry to api_visualization:block9. Verified locally: both blocks now pass under PYTHONPATH=. DIFF_DIFF_BACKEND=python pytest Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/api/visualization.rst | 2 +- tests/test_doc_snippets.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/api/visualization.rst b/docs/api/visualization.rst index 7edae6bc..09ede641 100644 --- a/docs/api/visualization.rst +++ b/docs/api/visualization.rst @@ -204,7 +204,7 @@ Example bd = BaconDecomposition() results = bd.fit(data, outcome='y', unit='unit_id', - time='period', treatment='treated') + time='period', first_treat='first_treat') # Scatter of 2x2 comparisons by weight, colored by comparison type ax = plot_bacon(results) diff --git a/tests/test_doc_snippets.py b/tests/test_doc_snippets.py index e03ced49..c9879140 100644 --- a/tests/test_doc_snippets.py +++ b/tests/test_doc_snippets.py @@ -358,7 +358,7 @@ def _restore_datasets_module(): "api_bacon:block2", "api_visualization:block2", "api_visualization:block3", - "api_visualization:block8", + "api_visualization:block9", "python_comparison:block5", "quickstart:block3", "quickstart:block9",