Stat.Orthogonality
Neyman orthogonality as a statistical property: definitions and the second-order remainder characterization.
ConditionalOp 3 core · 5 supporting This module turns deterministic or conditional-envelope estimates into the O_p and o_p statements used in orthogonal-learning and cross-fit arguments. ★ of_sqEnvelope★ integral_abs_mul_le_eLpNorm_mul_eLpNorm★ integral_abs_mul_op_of_eLpNorm_op
Stochastic-order helpers from envelopes and L² rates
This module turns deterministic or conditional-envelope estimates into the O_p and o_p
statements used in orthogonal-learning and cross-fit arguments. The square-envelope lemmas
IsBigOp.of_sqEnvelope and IsLittleOp.of_sqEnvelope say that an almost-sure bound
|X_n|^2 <= c_n, together with an O_p or o_p bound for c_n at rate r_n^2, yields the
corresponding stochastic-order bound for X_n at rate r_n.
The file also contains two generic reduction tools for truncation and bounded convergence:
IsLittleOp.of_eq_on_asymptotic transfers an o_p result across an asymptotically negligible
exception set, and lintegral_ofReal_tendsto_zero_of_bdd_isLittleOp upgrades bounded convergence
in probability to convergence of the nonnegative lintegral.
The final section packages Cauchy-Schwarz bounds in the forms needed by estimation remainders.
abs_integral_le_eLpNorm_two controls a mean by an L2 norm on a probability space,
integral_abs_mul_le_eLpNorm_mul_eLpNorm bounds an integrated product by the product of L2 norms,
and integral_op_of_eLpNorm_op / integral_abs_mul_op_of_eLpNorm_op lift random L2-rate
statements to stochastic-order bounds for integrated biases.
Square-envelope o_p lemma. For sequences of random variables X_n, c_n and rates r_n, if each rate r_n is positive, X_n² is bounded above by c_n almost surely, for every n, and c_n is o_p(r_n²), then X_n is o_p(r_n).
Formal statement
Proof (Lean source)
Cauchy–Schwarz for products of L²-functions. If f is square-integrable against the measure ν and g is square-integrable against ν, then the integral of |f · g| against ν is at most the product of the L² norms ‖f‖₂ · ‖g‖₂. Stated for the absolute value of the product because that is the form consumed by the AIPW remainder bound.
Formal statement
Proof (Lean source)
L² product rate ⇒ integrated absolute-product rate. For a random family f_n and a fixed function g, suppose each f_n(ω) is square-integrable against ν, for every n and ω, g is square-integrable against ν, the rates s_n are positive, and the L² norm ‖f_n(ω)‖₂ is o_p(s_n). Then the integrated absolute product ∫ |f_n(ω) x · g x| dν is o_p(s_n · ‖g‖₂).
Formal statement
Proof (Lean source)
5 supporting declarations (lemmas, instances)
-
of_sqEnvelopetheorem — Square-envelope O_p lemma. If |X_n|² ≤ c_n μ-a.s. and c_n is O_p(rₙ²) with rₙ > 0, then X_n = O_p(rₙ).hypothesesXn :ℕ → Ω → ℝcn :ℕ → Ω → ℝrn :ℕ → ℝhrn :∀ n, 0 < rn nhbound :∀ n, ∀ᵐ ω ∂μ, (Xn n ω) ^ 2 ≤ cn n ωhcn_BigOp :IsBigOp cn (fun n => (rn n) ^ 2) μconclusionIsBigOp Xn rn μProof (Lean source)
theorem IsBigOp.of_sqEnvelope {Xn : ℕ → Ω → ℝ} {cn : ℕ → Ω → ℝ} {rn : ℕ → ℝ} (hrn : ∀ n, 0 < rn n) (hbound : ∀ n, ∀ᵐ ω ∂μ, (Xn n ω) ^ 2 ≤ cn n ω) (hcn_BigOp : IsBigOp cn (fun n => (rn n) ^ 2) μ) : IsBigOp Xn rn μ := by intro ε hε rcases hcn_BigOp ε hε with ⟨K, hK⟩ let M : ℝ := max |K| 1 have hMpos : 0 < M := by dsimp [M] exact lt_of_lt_of_le zero_lt_one (le_max_right |K| 1) have hKleM2 : K ≤ M ^ 2 := by have hKle_abs : K ≤ |K| := le_abs_self K have habs_le_M : |K| ≤ M := by dsimp [M] exact le_max_left |K| 1 have hM_le_M2 : M ≤ M ^ 2 := by nlinarith [hMpos, (le_max_right |K| 1 : (1 : ℝ) ≤ M)] exact hKle_abs.trans (habs_le_M.trans hM_le_M2) have hpoint : ∀ n, μ {ω | M * rn n < |Xn n ω|} ≤ μ {ω | K * (rn n) ^ 2 < |cn n ω|} := by intro n apply MeasureTheory.measure_mono_ae filter_upwards [hbound n] with ω hb hω replace hω : M * rn n < |Xn n ω| := hω have hMr_pos : 0 < M * rn n := mul_pos hMpos (hrn n) have hsqX : (M * rn n) ^ 2 < (Xn n ω) ^ 2 := by rw [← sq_abs (Xn n ω), sq_lt_sq] simpa [abs_of_pos hMr_pos] using hω have hleft_le : K * (rn n) ^ 2 ≤ M ^ 2 * (rn n) ^ 2 := mul_le_mul_of_nonneg_right hKleM2 (sq_nonneg (rn n)) have hmul_sq : M ^ 2 * (rn n) ^ 2 = (M * rn n) ^ 2 := by ring have hlt_cn : K * (rn n) ^ 2 < cn n ω := by calc K * (rn n) ^ 2 ≤ M ^ 2 * (rn n) ^ 2 := hleft_le _ = (M * rn n) ^ 2 := hmul_sq _ < (Xn n ω) ^ 2 := hsqX _ ≤ cn n ω := hb exact hlt_cn.trans_le (le_abs_self (cn n ω)) refine ⟨M, ?_⟩ exact le_trans (Filter.limsup_le_limsup (Eventually.of_forall hpoint)) hK -
of_eq_on_asymptotictheorem — Truncation reduction. If Xn differs from Yn only on a set whose μ-measure tends to 0, and Yn = o_p(rn), then Xn = o_p(rn).Proof (Lean source)
theorem IsLittleOp.of_eq_on_asymptotic {Xn Yn : ℕ → Ω → ℝ} {rn : ℕ → ℝ} (h_diff_to_zero : Tendsto (fun n => μ {ω | Xn n ω ≠ Yn n ω}) atTop (𝓝 0)) (h_tilde : IsLittleOp Yn rn μ) : IsLittleOp Xn rn μ := by intro ε hε have hY := h_tilde ε hε have hpoint : ∀ n, μ {ω | ε * rn n < |Xn n ω|} ≤ μ {ω | Xn n ω ≠ Yn n ω} + μ {ω | ε * rn n < |Yn n ω|} := by intro n calc μ {ω | ε * rn n < |Xn n ω|} ≤ μ ({ω | Xn n ω ≠ Yn n ω} ∪ {ω | ε * rn n < |Yn n ω|}) := by apply measure_mono intro ω hω by_cases hxy : Xn n ω = Yn n ω · exact inr (by simpa [hxy] using hω) · exact inl hxy _ ≤ μ {ω | Xn n ω ≠ Yn n ω} + μ {ω | ε * rn n < |Yn n ω|} := MeasureTheory.measure_union_le _ _ have hsum : Tendsto (fun n => μ {ω | Xn n ω ≠ Yn n ω} + μ {ω | ε * rn n < |Yn n ω|}) atTop (𝓝 0) := by simpa using h_diff_to_zero.add hY rw [ENNReal.tendsto_nhds_zero] at hsum ⊢ intro δ hδ exact (hsum δ hδ).mono fun n hn => (hpoint n).trans hn -
lintegral_ofReal_tendsto_zero_of_bdd_isLittleOptheorem — Bounded convergence in probability ⇒ L¹ convergence. If Xn ω ∈ [0, M] with M ≥ 0 deterministic, each Xn n is measurable, and Xn = o_p(1) under μ (with μ a probability measure), then ∫⁻ ω, ENNReal.ofReal (Xn n ω) ∂μ → 0 in ℝ≥0∞.hypothesesXn :ℕ → Ω → ℝM :ℝhM :0 ≤ MhXn_meas :∀ n, Measurable (Xn n)hXn_nonneg :∀ n ω, 0 ≤ Xn n ωhXn_bdd :∀ n ω, Xn n ω ≤ MhXn_op :IsLittleOp Xn (fun _ => (1 : ℝ)) μProof (Lean source)
theorem lintegral_ofReal_tendsto_zero_of_bdd_isLittleOp [IsProbabilityMeasure μ] {Xn : ℕ → Ω → ℝ} {M : ℝ} (hM : 0 ≤ M) (hXn_meas : ∀ n, Measurable (Xn n)) (hXn_nonneg : ∀ n ω, 0 ≤ Xn n ω) (hXn_bdd : ∀ n ω, Xn n ω ≤ M) (hXn_op : IsLittleOp Xn (fun _ => (1 : ℝ)) μ) : Tendsto (fun n => ∫⁻ ω, ofReal (Xn n ω) ∂μ) atTop (𝓝 0) := by rw [ENNReal.tendsto_nhds_zero] intro δ hδ by_cases hδtop : δ = ⊤ · filter_upwards with n simp [hδtop] have hδreal_pos : 0 < δ.toReal := ENNReal.toReal_pos (ne_of_gt hδ) hδtop let η : ℝ := δ.toReal / 4 let α : ℝ := δ.toReal / (4 * (M + 1)) have hηpos : 0 < η := by dsimp [η] linarith have hαpos : 0 < α := by dsimp [α] exact div_pos hδreal_pos (mul_pos (by norm_num) (by linarith)) have hlintegral_le : ∀ n, ∫⁻ ω, ofReal (Xn n ω) ∂μ ≤ ofReal η + ofReal M * μ {ω | η * (1 : ℝ) < |Xn n ω|} := by intro n let A : Set Ω := {ω | Xn n ω ≤ η} have hA : MeasurableSet A := by dsimp [A] exact measurableSet_le (hXn_meas n) measurable_const have hsmall : ∫⁻ ω in A, ofReal (Xn n ω) ∂μ ≤ ofReal η := by calc ∫⁻ ω in A, ofReal (Xn n ω) ∂μ ≤ ∫⁻ ω in A, ofReal η ∂μ := by apply setLIntegral_mono measurable_const intro ω hω exact ENNReal.ofReal_le_ofReal hω _ = ofReal η * μ A := by rw [setLIntegral_const] _ ≤ ofReal η * μ univ := by exact mul_le_mul' le_rfl (measure_mono (Set.subset_univ A)) _ = ofReal η := by simp [MeasureTheory.measure_univ] have hlarge : ∫⁻ ω in Aᶜ, ofReal (Xn n ω) ∂μ ≤ ofReal M * μ {ω | η * (1 : ℝ) < |Xn n ω|} := by calc ∫⁻ ω in Aᶜ, ofReal (Xn n ω) ∂μ ≤ ∫⁻ ω in Aᶜ, ofReal M ∂μ := by apply setLIntegral_mono measurable_const intro ω hω exact ENNReal.ofReal_le_ofReal (hXn_bdd n ω) _ = ofReal M * μ Aᶜ := by rw [setLIntegral_const] _ ≤ ofReal M * μ {ω | η * (1 : ℝ) < |Xn n ω|} := by apply mul_le_mul' le_rfl apply measure_mono intro ω hω have hη_lt : η < Xn n ω := lt_of_not_ge hω simpa [abs_of_nonneg (hXn_nonneg n ω)] using hη_lt calc ∫⁻ ω, ofReal (Xn n ω) ∂μ = ∫⁻ ω in A, ofReal (Xn n ω) ∂μ + ∫⁻ ω in Aᶜ, ofReal (Xn n ω) ∂μ := by exact (lintegral_add_compl (μ := μ) (fun ω => ofReal (Xn n ω)) hA).symm _ ≤ ofReal η + ofReal M * μ {ω | η * (1 : ℝ) < |Xn n ω|} := add_le_add hsmall hlarge have hprob_event := (ENNReal.tendsto_nhds_zero.mp (hXn_op η hηpos)) (ofReal α) (ENNReal.ofReal_pos.mpr hαpos) filter_upwards [hprob_event] with n hn have hprod_le : ofReal M * μ {ω | η * (1 : ℝ) < |Xn n ω|} ≤ ofReal M * ofReal α := by exact mul_le_mul' le_rfl hn have hsum_eq : ofReal η + ofReal M * ofReal α = ofReal (η + M * α) := by rw [← ENNReal.ofReal_mul hM] rw [← ENNReal.ofReal_add (le_of_lt hηpos) (mul_nonneg hM (le_of_lt hαpos))] have hterm_le : M * α ≤ δ.toReal / 4 := by dsimp [α] field_simp [show (4 : ℝ) * (M + 1) ≠ 0 by nlinarith] nlinarith [mul_le_mul_of_nonneg_left (by linarith : M ≤ M + 1) (le_of_lt hδreal_pos)] have hsum_lt : ofReal (η + M * α) < δ := by rw [ENNReal.ofReal_lt_iff_lt_toReal] · dsimp [η] nlinarith · dsimp [η] nlinarith [le_of_lt hδreal_pos, hM, le_of_lt hαpos] · exact hδtop exact le_of_lt <| (hlintegral_le n).trans_lt <| lt_of_le_of_lt (add_le_add le_rfl hprod_le) <| hsum_eq.trans_lt hsum_lt -
abs_integral_le_eLpNorm_twotheorem — Constant-case Cauchy–Schwarz. If ν is a probability measure (or, more generally, satisfies ν univ ≤ 1) and f ∈ L²(ν), then |∫ f dν| ≤ ‖f‖₂.hypothesesconclusion|∫ x, f x ∂ν| ≤ (eLpNorm f 2 ν).toRealProof (Lean source)
theorem abs_integral_le_eLpNorm_two [IsProbabilityMeasure ν] {f : X → ℝ} (hf : MemLp f 2 ν) : |∫ x, f x ∂ν| ≤ (eLpNorm f 2 ν).toReal := by have h_l1 : |∫ x, f x ∂ν| ≤ (eLpNorm f 1 ν).toReal := by calc |∫ x, f x ∂ν| ≤ ∫ x, |f x| ∂ν := MeasureTheory.abs_integral_le_integral_abs _ = (eLpNorm f 1 ν).toReal := by rw [MeasureTheory.eLpNorm_one_eq_lintegral_enorm] simpa [Real.norm_eq_abs] using MeasureTheory.integral_norm_eq_lintegral_enorm hf.1 exact h_l1.trans (ENNReal.toReal_mono hf.eLpNorm_ne_top (MeasureTheory.eLpNorm_le_eLpNorm_of_exponent_le (by norm_num) hf.1)) -
integral_op_of_eLpNorm_optheorem — L² rate ⇒ integrated bias rate (probability measure case). If eLpNorm (f n ω) 2 ν = o_p(rₙ) and ν is a probability measure, then (∫ x, f n ω x ∂ν) = o_p(rₙ).hypothesesfn :ℕ → Ω → X → ℝhfn_memLp :∀ n ω, MemLp (fn n ω) 2 νrn :ℕ → ℝhrn :∀ n, 0 < rn nhfn_rate :IsLittleOp (fun n ω => (eLpNorm (fn n ω) 2 ν).toReal) rn μconclusionIsLittleOp (fun n ω => ∫ x, fn n ω x ∂ν) rn μProof (Lean source)
theorem integral_op_of_eLpNorm_op [IsProbabilityMeasure ν] {fn : ℕ → Ω → X → ℝ} (hfn_memLp : ∀ n ω, MemLp (fn n ω) 2 ν) {rn : ℕ → ℝ} (hrn : ∀ n, 0 < rn n) (hfn_rate : IsLittleOp (fun n ω => (eLpNorm (fn n ω) 2 ν).toReal) rn μ) : IsLittleOp (fun n ω => ∫ x, fn n ω x ∂ν) rn μ := by have _hrn := hrn intro ε hε have htarget := hfn_rate ε hε have hpoint : ∀ n, μ {ω | ε * rn n < |∫ x, fn n ω x ∂ν|} ≤ μ {ω | ε * rn n < |(eLpNorm (fn n ω) 2 ν).toReal|} := by intro n apply measure_mono intro ω hω exact (lt_of_lt_of_le hω (abs_integral_le_eLpNorm_two (hfn_memLp n ω))).trans_le (le_abs_self _) rw [ENNReal.tendsto_nhds_zero] at htarget ⊢ intro δ hδ exact (htarget δ hδ).mono fun n hn => (hpoint n).trans hn
Orthogonality 1 core · 0 supporting This file defines Neyman orthogonality for population moment functionals with an abstract nuisance space. ★ NeymanOrthogonal
Neyman Orthogonality
This file defines Neyman orthogonality for population moment functionals with an abstract nuisance space. The condition combines the population moment equation at the target value with the requirement that every nuisance-direction derivative of the population moment vanishes at the reference nuisance value.
Neyman orthogonality of a moment functional m : H → X → ℝ → ℝ at nuisance value η₀ : H and target value θ₀ : ℝ, with respect to the population measure P : Measure X.