Estimation.ATT.DML
This file defines the population-share oracle comparison for the one-shot sample-split augmented inverse-probability weighted estimator of the back-door average treatment effect on the treated.
DML 2 core · 2 supporting This file defines the population-share oracle comparison for the one-shot sample-split augmented inverse-probability weighted estimator of the back-door average treatment effect on the treated. ★ oracleEstimator_ATT_isAsymLinear
Double Machine Learning for ATT
This file defines the population-share oracle comparison for the one-shot
sample-split augmented inverse-probability weighted estimator of the back-door
average treatment effect on the treated. The theorem connects the oracle
to the ATT AIPW influence function under the one-sided ATT back-door assumption
bundle, an additional one-sided upper-overlap bound, second-moment,
sample-split, and nuisance-rate conditions. Parallel to
Estimation/ATE/DML.lean.
The main declarations are oracleEstimator_ATT, the derived influence-function
facts ψ_ATT_integral_zero and ψ_ATT_finite_var, and the production wrapper
oracleEstimator_ATT_isAsymLinear, which transports the abstract
att_oneStepOracleDML_isAsymLinear result to the population-π ATT estimator.
For a potential-outcomes system with a standard Borel sample space and finite probability measure, a measurable covariate space, a treated estimation system, an independent and identically distributed sample of observed covariate, treatment, and outcome triples from that system's observed-data distribution, a one-shot split of that sample, a sequence of control-arm outcome-regression estimators, a sequence of propensity-score estimators, and a sample-size index, the population-treated-share oracle ATT estimator is the marginal-treatment-probability-normalized mean, over the split's evaluation fold at that index, of the ATT AIPW score evaluated at zero using the supplied nuisance functions at that index.
Definition (Lean source)
Asymptotic linearity of the population-share oracle estimator of the average treatment effect on the treated (ATT). For a potential-outcomes system, a measurable covariate space, a treated estimation system, and an overlap margin ε, fix sequences of control-regression fits and propensity fits, an i.i.d. sample of the covariate–treatment–outcome triple, and a one-shot split of that sample into a training fold and an evaluation fold. Under the true propensity score bounded above by 1 − ε almost everywhere under the covariate law, nonnegativity of the true propensity score, one-sided overlap with margin ε for the true propensity score, the one-sided back-door assumptions for the ATT, a strictly positive marginal treatment probability, square-integrability of the observed outcome and of the untreated potential outcome Y(0), and a limit c that is positive and to which the evaluation-fold share of the sample converges: if every fitted propensity is bounded above by 1 − ε almost everywhere under the covariate law, every fitted propensity is nonnegative everywhere, both fits are jointly measurable in the realization and the covariate, both fits are square-integrable under the covariate law at every realization, both fits are measurable with respect to the product of the σ-algebra generated by the training-fold observations and the covariate σ-algebra, the ATT score at every fitted pair and the true ATT is integrable and square-integrable under the observed-data law, the L² errors of the control-regression and propensity fits under the covariate law are each o_p(1), and their product is o_p(n^(−1/2)), then the one-shot augmented inverse-probability-weighted ATT estimator that divides by the population treatment probability is asymptotically linear at the true ATT along the evaluation fold, with the ATT augmented inverse-probability-weighted influence function.
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
ψ_ATT_integral_zerotheorem — Mean zero of the centered population-π ATT influence function ψ_ATT.hypothesesγ :sharedType u_1S :ε :ℝh_overlap :S.OneSidedOverlap εhA :S.toPOBackdoorSystem.ATTAssumptionshπ_pos :0 < S.π_valh_y2 :Integrable (fun ω => (S.toPOBackdoorSystem.factualY ω) ^ 2) P.μh_y0_2 :Integrable (fun ω => (S.toPOBackdoorSystem.YofD false ω) ^ 2) P.μhIPW :Integrable (fun ω => (1 - S.toPOBackdoorSystem.dVar.indicator true ω) * (S.toPOBackdoorSystem.propScore true ω / (1 - S.toPOBackdoorSystem.propScore true ω)) * (S.toPOBackdoorSystem.factualY ω - S.toPOBackdoorSystem.adjustedCE false ω)) P.μconclusion∫ z, S.ψ_ATT z ∂(S.P_Z) = 0Proof (Lean source)
theorem ψ_ATT_integral_zero (S : TreatedEstimationSystem P γ) {ε : ℝ} (h_overlap : S.OneSidedOverlap ε) (hA : S.toPOBackdoorSystem.ATTAssumptions) (hπ_pos : 0 < S.π_val) (h_y2 : Integrable (fun ω => (S.toPOBackdoorSystem.factualY ω) ^ 2) P.μ) (h_y0_2 : Integrable (fun ω => (S.toPOBackdoorSystem.YofD false ω) ^ 2) P.μ) (hIPW : Integrable (fun ω => (1 - S.toPOBackdoorSystem.dVar.indicator true ω) * (S.toPOBackdoorSystem.propScore true ω / (1 - S.toPOBackdoorSystem.propScore true ω)) * (S.toPOBackdoorSystem.factualY ω - S.toPOBackdoorSystem.adjustedCE false ω)) P.μ) : ∫ z, S.ψ_ATT z ∂(S.P_Z) = 0 := by haveI : IsProbabilityMeasure S.P_Z := by unfold TreatedEstimationSystem.P_Z exact Measure.isProbabilityMeasure_map S.measurable_factualZ.aemeasurable have hπ_ne : S.π_val ≠ 0 := ne_of_gt hπ_pos have hmz : ∫ z, aipwMomentATT z S.μ₀_val S.e_val S.θ₀ ∂S.P_Z = 0 := aipw_mean_zero_ATT S hA hπ_pos hIPW have hm_meas : Measurable (fun z => aipwMomentATT z S.μ₀_val S.e_val S.θ₀) := measurable_aipwMomentATT_at_θ₀ S have hm_int : Integrable (fun z => aipwMomentATT z S.μ₀_val S.e_val S.θ₀) S.P_Z := ((memLp_two_iff_integrable_sq hm_meas.aestronglyMeasurable).2 (aipw_finite_var_ATT S h_overlap hA h_y2 h_y0_2)).integrable (by norm_num) have hindA_meas : Measurable (fun z : γ × Bool × ℝ => indA z) := by unfold indA projA refine Measurable.ite ?_ measurable_const measurable_const exact measurable_snd.fst (MeasurableSet.singleton true) have hindA_memLp : MemLp (fun z : γ × Bool × ℝ => indA z) 2 S.P_Z := by refine MemLp.of_bound hindA_meas.aestronglyMeasurable (1 : ℝ) ?_ filter_upwards with z rcases hb : z.2.1 with _ | _ <;> simp [indA, projA, hb] have hindA_int : Integrable (fun z : γ × Bool × ℝ => indA z) S.P_Z := hindA_memLp.integrable (by norm_num) have hindA_integral : ∫ z, indA z ∂S.P_Z = S.π_val := by rw [TreatedEstimationSystem.P_Z, integral_map S.measurable_factualZ.aemeasurable hindA_meas.aestronglyMeasurable] have hpt : (fun ω => indA (S.factualZ ω)) = (fun ω => S.toPOBackdoorSystem.dVar.indicator true ω) := by funext ω by_cases hD : S.toPOBackdoorSystem.factualD ω = true · have hInd : S.toPOBackdoorSystem.dVar.indicator true ω = 1 := S.toPOBackdoorSystem.dVar.indicator_apply_eq_one hD simp [TreatedEstimationSystem.factualZ, indA, projA, hD, hInd] · have hInd : S.toPOBackdoorSystem.dVar.indicator true ω = 0 := S.toPOBackdoorSystem.dVar.indicator_apply_eq_zero (x := true) hD simp [TreatedEstimationSystem.factualZ, indA, projA, hD, hInd] rw [hpt] rfl have hsplit : ∀ z, aipwMomentATT z S.μ₀_val S.e_val 0 = aipwMomentATT z S.μ₀_val S.e_val S.θ₀ + indA z * S.θ₀ := by intro z; unfold aipwMomentATT; ring have hm0_int : Integrable (fun z => aipwMomentATT z S.μ₀_val S.e_val 0) S.P_Z := by refine (hm_int.add (hindA_int.mul_const S.θ₀)).congr ?_ filter_upwards with z simp only [Pi.add_apply] rw [hsplit z] have hm0_integral : ∫ z, aipwMomentATT z S.μ₀_val S.e_val 0 ∂S.P_Z = S.θ₀ * S.π_val := by rw [integral_congr_ae (Filter.Eventually.of_forall hsplit)] integral_linearity rw [hmz, zero_add, hindA_integral] ring have hconst : ∫ _z : γ × Bool × ℝ, S.θ₀ ∂S.P_Z = S.θ₀ := by rw [integral_const]; simp unfold TreatedEstimationSystem.ψ_ATT integral_linearity rw [hm0_integral, hconst, one_div, mul_comm S.θ₀ S.π_val, inv_mul_cancel_left₀ hπ_ne, sub_self] -
ψ_ATT_finite_vartheorem — Finite variance of the centered population-π ATT influence function. Integrable ψ_ATT² against P_Z. Derived (not assumed) from aipw_finite_var_ATT (square-integrability of the moment at θ₀) and boundedness of the treatment indicator, via ψ_ATT = (1/π_T)·(m(η₀,·,θ₀) + θ₀·A) − θ₀ ∈ L²(P_Z).hypothesesγ :sharedType u_1S :ε :ℝh_overlap :S.OneSidedOverlap εhA :S.toPOBackdoorSystem.ATTAssumptionsh_y2 :Integrable (fun ω => (S.toPOBackdoorSystem.factualY ω) ^ 2) P.μh_y0_2 :Integrable (fun ω => (S.toPOBackdoorSystem.YofD false ω) ^ 2) P.μconclusionIntegrable (fun z => (S.ψ_ATT z) ^ 2) S.P_ZProof (Lean source)
theorem ψ_ATT_finite_var (S : TreatedEstimationSystem P γ) {ε : ℝ} (h_overlap : S.OneSidedOverlap ε) (hA : S.toPOBackdoorSystem.ATTAssumptions) (h_y2 : Integrable (fun ω => (S.toPOBackdoorSystem.factualY ω) ^ 2) P.μ) (h_y0_2 : Integrable (fun ω => (S.toPOBackdoorSystem.YofD false ω) ^ 2) P.μ) : Integrable (fun z => (S.ψ_ATT z) ^ 2) S.P_Z := by haveI : IsProbabilityMeasure S.P_Z := by unfold TreatedEstimationSystem.P_Z exact Measure.isProbabilityMeasure_map S.measurable_factualZ.aemeasurable have hm_meas : Measurable (fun z => aipwMomentATT z S.μ₀_val S.e_val S.θ₀) := measurable_aipwMomentATT_at_θ₀ S have hm_L2 : MemLp (fun z => aipwMomentATT z S.μ₀_val S.e_val S.θ₀) 2 S.P_Z := (memLp_two_iff_integrable_sq hm_meas.aestronglyMeasurable).2 (aipw_finite_var_ATT S h_overlap hA h_y2 h_y0_2) have hindA_meas : Measurable (fun z : γ × Bool × ℝ => indA z) := by unfold indA projA refine Measurable.ite ?_ measurable_const measurable_const exact measurable_snd.fst (MeasurableSet.singleton true) have hindA_L2 : MemLp (fun z : γ × Bool × ℝ => indA z) 2 S.P_Z := by refine MemLp.of_bound hindA_meas.aestronglyMeasurable (1 : ℝ) ?_ filter_upwards with z rcases hb : z.2.1 with _ | _ <;> simp [indA, projA, hb] have hm0_L2 : MemLp (fun z => aipwMomentATT z S.μ₀_val S.e_val 0) 2 S.P_Z := (hm_L2.add (hindA_L2.const_smul S.θ₀)).ae_eq (Filter.Eventually.of_forall fun z => by simp only [Pi.add_apply, Pi.smul_apply, smul_eq_mul] unfold aipwMomentATT; ring) have hψeq : (fun z => S.ψ_ATT z) = (fun z => (1 / S.π_val) • aipwMomentATT z S.μ₀_val S.e_val 0 - S.θ₀) := by funext z; unfold TreatedEstimationSystem.ψ_ATT; simp only [smul_eq_mul] have hψ_L2 : MemLp (fun z => S.ψ_ATT z) 2 S.P_Z := by rw [hψeq] exact (hm0_L2.const_smul (1 / S.π_val)).sub (memLp_const S.θ₀) exact hψ_L2.integrable_sq
Feasible 3 core · 2 supporting This file defines the ATT estimator that divides its evaluation-fold AIPW numerator by the evaluation-fold treated share. ★ dml_ATT_isAsymLinear
Feasible one-shot DML estimator for the ATT
This file defines the ATT estimator that divides its evaluation-fold AIPW
numerator by the evaluation-fold treated share. It realizes the ATT score as an
affine LinearMoment, then specializes the generic solved-estimator theorem to
obtain the Chernozhukov et al. (2018), equation (5.4), influence function. In
particular, the expansion contains the -D * θ₀ / p term induced by estimating
the treated share.
For a potential-outcomes system, a measurable covariate space, a treated estimation system, an overlap radius, membership of its true nuisance in the overlap-bounded candidate set, and a positive population treated share, the affine ATT AIPW moment system has coefficient -D and constant term equal to the ATT AIPW numerator at parameter zero.
Definition (Lean source)
For a potential-outcomes system, a measurable covariate space, a treated estimation system, an i.i.d. observed-data sample, a one-shot split, a complementary-fold ATT nuisance fit, and a sample-size index, the feasible one-shot ATT DML estimator is the evaluation-fold AIPW numerator mean divided by the evaluation-fold treated share.
Definition (Lean source)
Feasible ATT DML asymptotic linearity. For a potential-outcomes system, a measurable covariate space, a treated estimation system, an overlap radius, truth-nuisance overlap membership, a nonnegative true propensity, one-sided overlap, the back-door ATT assumptions, a positive treated share, factual- and untreated-outcome second moments, integrable truth IPW correction, an i.i.d. sample, a one-shot split, a limiting evaluation-fold share, that limit being positive, convergence of the evaluation-fold share, and a complementary-fold nuisance sequence, if every fitted nuisance lies in the overlap set, every fitted propensity is nonnegative, both fitted nuisance errors are square-integrable, each fitted IPW correction is integrable, the fitted score has the required joint and training-fold measurability, the fitted score is integrable and square-integrable, both nuisance errors are individually negligible, and their product is negligible at the root-sample rate, then the sample-treated-share ATT estimator is asymptotically linear with influence function m(η₀,z,θ₀)/p.
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
integral_indA_eq_π_vallemma — For a potential-outcomes system, a measurable covariate space, and a treated estimation system, the population integral of the treatment indicator under its observed-data law equals the marginal treated share.hypothesesconclusion∫ z, indA z ∂S.P_Z = S.π_valProof (Lean source)
lemma integral_indA_eq_π_val (S : TreatedEstimationSystem P γ) : ∫ z, indA z ∂S.P_Z = S.π_val := by have hindA_meas : Measurable (fun z : γ × Bool × ℝ => indA z) := by unfold indA projA refine Measurable.ite ?_ measurable_const measurable_const exact measurable_snd.fst (MeasurableSet.singleton true) rw [TreatedEstimationSystem.P_Z, integral_map S.measurable_factualZ.aemeasurable hindA_meas.aestronglyMeasurable] have hpoint : (fun ω => indA (S.factualZ ω)) = (fun ω => S.toPOBackdoorSystem.dVar.indicator true ω) := by funext ω by_cases hD : S.toPOBackdoorSystem.factualD ω = true · have hInd : S.toPOBackdoorSystem.dVar.indicator true ω = 1 := S.toPOBackdoorSystem.dVar.indicator_apply_eq_one hD simp [TreatedEstimationSystem.factualZ, indA, projA, hD, hInd] · have hInd : S.toPOBackdoorSystem.dVar.indicator true ω = 0 := S.toPOBackdoorSystem.dVar.indicator_apply_eq_zero (x := true) hD simp [TreatedEstimationSystem.factualZ, indA, projA, hD, hInd] rw [hpoint] rfl -
dmlEstimator_ATT_eq_feasibleLinearDMLlemma — For a potential-outcomes system, a measurable covariate space, a treated estimation system, an overlap radius, truth-nuisance overlap membership, a positive population treated share, an i.i.d. sample, a one-shot split, and an ATT nuisance fit, the feasible ATT estimator equals the generic solved affine-score DML estimator.hypothesesγ :sharedType u_1S :ε :ℝhη₀_mem :S.η₀ ∈ H_ε S εhπ_pos :0 < S.π_valsplit :OneShotSplit sampleη_hat :ℕ → P.Ω → TreatedNuisanceVec γconclusiondmlEstimator_ATT S sample split η_hat= feasibleLinearDML (attLinearMoment S hη₀_mem hπ_pos) sample split η_hatProof (Lean source)
lemma dmlEstimator_ATT_eq_feasibleLinearDML (S : TreatedEstimationSystem P γ) {ε : ℝ} (hη₀_mem : S.η₀ ∈ H_ε S ε) (hπ_pos : 0 < S.π_val) (sample : IIDSample P.Ω (γ × Bool × ℝ) P.μ S.P_Z) (split : OneShotSplit sample) (η_hat : ℕ → P.Ω → TreatedNuisanceVec γ) : dmlEstimator_ATT S sample split η_hat = feasibleLinearDML (attLinearMoment S hη₀_mem hπ_pos) sample split η_hat := by funext n ω simp only [dmlEstimator_ATT, feasibleLinearDML, attLinearMoment] rw [Finset.sum_neg_distrib] ring
AsymptoticNormality 1 core · 0 supporting This file derives the true-standard-deviation Gaussian limit of the feasible sample-treated-share ATT estimator from the primitive overlap, moment, cross-fitting, and nuisance-rate assumptions of its asymptotic-linearity ★ dml_ATT_tendstoStandardNormal
Asymptotic normality of feasible one-shot ATT DML
This file derives the true-standard-deviation Gaussian limit of the feasible sample-treated-share ATT estimator from the primitive overlap, moment, cross-fitting, and nuisance-rate assumptions of its asymptotic-linearity theorem.
Standard-normal limit of feasible ATT DML. For a potential-outcomes system, a measurable covariate space, a treated estimation system, an overlap radius, truth-nuisance overlap membership, a nonnegative true propensity, one-sided overlap, the back-door ATT assumptions, a positive treated share, factual- and untreated-outcome second moments, integrable truth IPW correction, an i.i.d. sample, a one-shot split, a limiting evaluation-fold share, that limit being positive, convergence of the evaluation-fold share, and a complementary-fold nuisance sequence, if every fitted nuisance lies in the overlap set, every fitted propensity is nonnegative, both fitted nuisance errors are square-integrable, each fitted IPW correction is integrable, the fitted score has the required joint and training-fold measurability, the fitted score is integrable and square-integrable, both nuisance errors are individually negligible, their product is negligible at the root-sample rate, a true influence-function standard deviation is positive and has its defining second-moment identity, and the rescaled estimator and its standardized version are measurable, then the true-standard-deviation-normalized feasible ATT estimator converges to the standard normal law.