SPB Git
1.9 KB · 33 lines python
1#!/usr/bin/env python32"""Figure ch43 — inférence de randomisation exacte pour le DiD du cas 4 (DONNÉES SYNTHÉTIQUES) : distribution des 17 2963estimateurs placebo obtenus en affectant le « traitement » à chacune des combinaisons de 3 immeubles parmi 48, estimateur4observé et vérité ; (a) estimateur 2 × 2 naïf, (b) estimateur par strate de RMR.5Sortie : assets/figures/ch43/ch43-fig-placebos.pdf"""6import sys, pathlib7ROOT = pathlib.Path(__file__).resolve().parents[3]8sys.path.insert(0, str(ROOT / "analysis/python")); sys.path.insert(0, str(ROOT / "analysis/python/cases"))9import numpy as np, matplotlib.pyplot as plt10from traite.style import setup, palette, savefig, LARGEUR11import ch43_risques as cas121314def main():15    setup()16    pan = cas.panel_choc(); dd = cas.did_cas4(pan)17    fig, axes = plt.subplots(1, 2, figsize=(LARGEUR, 2.9), sharey=True)18    for ax, dist, obs, p, titre in [(axes[0], dd["placebo_dist"], dd["estimateur_2x2"], dd["p_ri"], "(a) DiD 2 × 2 naïf"),19                                    (axes[1], dd["placebo_dist_strate"], dd["estimateur_strate"], dd["p_ri_strate"], "(b) DiD par strate de RMR")]:20        ax.hist(dist, bins=60, color=palette.cat[0], alpha=0.75, linewidth=0, density=True)21        ax.axvline(obs, color=palette.cat[1], linewidth=1.6); ax.axvline(-obs, color=palette.cat[1], linewidth=1.0, linestyle=":")22        ax.axvline(cas.CHOC_PERMANENT, color=palette.ink, linewidth=1.0, linestyle="--")23        ax.text(obs + 0.004, ax.get_ylim()[1] * 0.92, f"observé {obs:.3f}\np = {p:.3f}", ha="left", fontsize=7.5, color=palette.ink)24        ax.text(cas.CHOC_PERMANENT + 0.004, ax.get_ylim()[1] * 0.60, f"vérité {cas.CHOC_PERMANENT:.2f}", fontsize=7.5, color=palette.ink)25        ax.set_xlabel("Estimateur placebo (ln RNE)"); ax.set_title(titre, loc="left")26    axes[0].set_ylabel("Densité")27    fig.tight_layout()28    savefig(fig, "ch43/ch43-fig-placebos.pdf")293031if __name__ == "__main__":32    main()33
Files · cd76781f94cbc7113926bd8a4bd920d14c17c982
Menu

Theme