Stat.Concentration.Hoeffding.Random­Design

Hoeffding-type concentration under random designs.

Weighted­Product 3 core · 2 supporting This module states the finite-product second-moment and expected-absolute-value bounds for marked observations centered by their design-conditional mean. ★ product_weighted_centered_l1_le

Weighted conditional-mean-zero sums under a finite product law

This module states the finite-product second-moment and expected-absolute-value bounds for marked observations centered by their design-conditional mean. The weights may depend measurably on the complete vector of observed designs.

def designVector reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

For a map assigning each observation a design value and a finite sample of observations, the design vector assigns to every sample coordinate the design value of the observation at that coordinate.

Definition (Lean source)
N :
Omega D :
Type*
design :
Omega -> D
z :
Fin N -> Omega
designVector design z :
Fin N -> D
fun i => design (z i)
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.designVector · Causalean/Stat/Concentration/Hoeffding/RandomDesign/WeightedProduct.lean:28
def weightedCenteredSum reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

For a map assigning each observation a design value, a real-valued outcome function, a real-valued function of design values, weights that may depend on the complete design vector, and a finite sample of observations, the weighted centered sum is the sum over sample coordinates of each weight times the outcome minus the given function evaluated at that coordinate's design value.

Definition (Lean source)
N :
Omega D :
Type*
design :
Omega -> D
Y :
Omega -> Real
mD :
D -> Real
w :
(Fin N -> D) -> Fin N -> Real
z :
Fin N -> Omega
weightedCenteredSum design Y mD w z :
∑ i, w (designVector design z) i * (Y (z i) - mD (design (z i)))
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.weightedCenteredSum · Causalean/Stat/Concentration/Hoeffding/RandomDesign/WeightedProduct.lean:45
theorem product_weighted_centered_l1_le reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

For a one-observation probability law, a measurable design map, a measurable outcome confined to the unit interval, a measurable design regression that is its conditional expectation, a measurable array of weights depending on the full design vector, and the two natural square-integrability conditions, the expected absolute weighted centered sum is at most one half the square root of the expected sum of squared weights.

Formal statement
N :
Omega D :
design :
Omega -> D
hdesign :
Measurable design
Y :
Omega -> Real
hY :
hY_nonneg :
forall omega, 0 <= Y omega
hY_le_one :
forall omega, Y omega <= 1
mD :
D -> Real
hmD :
hcond :
P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design
w :
(Fin N -> D) -> Fin N -> Real
hw :
hweight_sq :
Integrable (fun z : Fin N -> Omega => ∑ i, (w (designVector design z) i) ^ 2) (Measure.pi (fun _ : Fin N => P))
hsum_sq :
Integrable (fun z : Fin N -> Omega => (weightedCenteredSum design Y mD w z) ^ 2) (Measure.pi (fun _ : Fin N => P))
(∫ z : Fin N -> Omega, abs (weightedCenteredSum design Y mD w z) ∂(Measure.pi (fun _ : Fin N => P))) <
= (1 / 2 : Real) * sqrt (∫ z : Fin N -> Omega, ∑ i, (w (designVector design z) i) ^ 2 ∂(Measure.pi (fun _ : Fin N => P)))
Proof (Lean source)
theorem product_weighted_centered_l1_le {N : Nat} {Omega D : Type*} [MeasurableSpace Omega] [MeasurableSpace D] (P : Measure Omega) [IsProbabilityMeasure P] (design : Omega -> D) (hdesign : Measurable design) (Y : Omega -> Real) (hY : Measurable Y) (hY_nonneg : forall omega, 0 <= Y omega) (hY_le_one : forall omega, Y omega <= 1) (mD : D -> Real) (hmD : Measurable mD) (hcond : P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design) (w : (Fin N -> D) -> Fin N -> Real) (hw : Measurable w) (hweight_sq : Integrable (fun z : Fin N -> Omega => ∑ i, (w (designVector design z) i) ^ 2) (Measure.pi (fun _ : Fin N => P))) (hsum_sq : Integrable (fun z : Fin N -> Omega => (weightedCenteredSum design Y mD w z) ^ 2) (Measure.pi (fun _ : Fin N => P))) : (∫ z : Fin N -> Omega, abs (weightedCenteredSum design Y mD w z) ∂(Measure.pi (fun _ : Fin N => P))) <= (1 / 2 : Real) * sqrt (∫ z : Fin N -> Omega, ∑ i, (w (designVector design z) i) ^ 2 ∂(Measure.pi (fun _ : Fin N => P))) := by let μN : Measure (Fin N -> Omega) := Measure.pi fun _ : Fin N => P let S : (Fin N -> Omega) -> Real := weightedCenteredSum design Y mD w let A : Real := ∫ z : Fin N -> Omega, ∑ i, (w (designVector design z) i) ^ 2 ∂μN have hdesignN : Measurable (designVector (N := N) design) := measurable_designVector design hdesign have hSmeas : Measurable S := by apply Finset.measurable_sum intro i hi exact ((measurable_pi_apply i).comp (hw.comp hdesignN)).mul ((hY.comp (measurable_pi_apply i)).sub (hmD.comp (hdesign.comp (measurable_pi_apply i)))) have hSLp : MemLp S 2 μN := by apply (memLp_two_iff_integrable_sq hSmeas.aestronglyMeasurable).2 simpa [S, μN] using hsum_sq have hCS : (∫ z, abs (S z) ∂μN) ≤ sqrt (∫ z, (S z) ^ 2 ∂μN) := by simpa [Real.norm_eq_abs] using Causalean.Mathlib.Probability.ConvergingTogether.integral_abs_le_sqrt_integral_sq μN S hSLp have hL2 : (∫ z, (S z) ^ 2 ∂μN) ≤ (1 / 4 : Real) * A := by simpa [S, A, μN] using product_weighted_centered_sq_integral_le P design hdesign Y hY hY_nonneg hY_le_one mD hmD hcond w hw hweight_sq hsum_sq have hA0 : 0 ≤ A := by apply integral_nonneg_of_ae filter_upwards with z exact Finset.sum_nonneg fun i _ => sq_nonneg _ have hsqrt : sqrt ((1 / 4 : Real) * A) = (1 / 2 : Real) * sqrt A := by calc sqrt ((1 / 4 : Real) * A) = sqrt (((1 / 2 : Real) * sqrt A) ^ 2) := by congr 1 rw [pow_two] calc (1 / 4 : Real) * A = (1 / 4 : Real) * (sqrt A * sqrt A) := by rw [Real.mul_self_sqrt hA0] _ = (1 / 2 : Real) * sqrt A * ((1 / 2 : Real) * sqrt A) := by ring _ = (1 / 2 : Real) * sqrt A := Real.sqrt_sq (mul_nonneg (by norm_num) (Real.sqrt_nonneg A)) change (∫ z, abs (S z) ∂μN) ≤ (1 / 2 : Real) * sqrt A calc (∫ z, abs (S z) ∂μN) ≤ sqrt (∫ z, (S z) ^ 2 ∂μN) := hCS _ ≤ sqrt ((1 / 4 : Real) * A) := Real.sqrt_le_sqrt hL2 _ = (1 / 2 : Real) * sqrt A := hsqrt
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.product_weighted_centered_l1_le · Causalean/Stat/Concentration/Hoeffding/RandomDesign/WeightedProduct.lean:817 · uses designVector , weightedCenteredSum
2 supporting declarations (lemmas, instances)
  • measurable_designVector theorem — For a design map that is measurable, the corresponding finite-sample vector of design values is measurable.
    N :
    Omega D :
    design :
    Omega -> D
    hdesign :
    Measurable design
    Measurable (designVector (N := N) design)
    Proof (Lean source)
    @[fun_prop] theorem measurable_designVector {N : Nat} {Omega D : Type*} [MeasurableSpace Omega] [MeasurableSpace D] (design : Omega -> D) (hdesign : Measurable design) : Measurable (designVector (N := N) design) := by rw [measurable_pi_iff] intro i exact hdesign.comp (measurable_pi_apply i)
    Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.measurable_designVector · Causalean/Stat/Concentration/Hoeffding/RandomDesign/WeightedProduct.lean:35
  • product_weighted_centered_sq_integral_le theorem — For a one-observation probability law, a measurable design map, a measurable outcome confined to the unit interval, a measurable design regression that is its conditional expectation, a measurable array of weights depending on the full design vector, and the two natural square-integrability conditions, the second moment of the weighted centered sum is at most one quarter of the expected sum of squared weights.
    N :
    Omega D :
    design :
    Omega -> D
    hdesign :
    Measurable design
    Y :
    Omega -> Real
    hY :
    hY_nonneg :
    forall omega, 0 <= Y omega
    hY_le_one :
    forall omega, Y omega <= 1
    mD :
    D -> Real
    hmD :
    hcond :
    P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design
    w :
    (Fin N -> D) -> Fin N -> Real
    hw :
    hweight_sq :
    Integrable (fun z : Fin N -> Omega => ∑ i, (w (designVector design z) i) ^ 2) (Measure.pi (fun _ : Fin N => P))
    hsum_sq :
    Integrable (fun z : Fin N -> Omega => (weightedCenteredSum design Y mD w z) ^ 2) (Measure.pi (fun _ : Fin N => P))
    (∫ z : Fin N -> Omega, (weightedCenteredSum design Y mD w z) ^ 2 ∂(Measure.pi (fun _ : Fin N => P))) <
    = (1 / 4 : Real) * (∫ z : Fin N -> Omega, ∑ i, (w (designVector design z) i) ^ 2 ∂(Measure.pi (fun _ : Fin N => P)))
    Proof (Lean source)
    theorem product_weighted_centered_sq_integral_le {N : Nat} {Omega D : Type*} [MeasurableSpace Omega] [MeasurableSpace D] (P : Measure Omega) [IsProbabilityMeasure P] (design : Omega -> D) (hdesign : Measurable design) (Y : Omega -> Real) (hY : Measurable Y) (hY_nonneg : forall omega, 0 <= Y omega) (hY_le_one : forall omega, Y omega <= 1) (mD : D -> Real) (hmD : Measurable mD) (hcond : P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design) (w : (Fin N -> D) -> Fin N -> Real) (hw : Measurable w) (hweight_sq : Integrable (fun z : Fin N -> Omega => ∑ i, (w (designVector design z) i) ^ 2) (Measure.pi (fun _ : Fin N => P))) (hsum_sq : Integrable (fun z : Fin N -> Omega => (weightedCenteredSum design Y mD w z) ^ 2) (Measure.pi (fun _ : Fin N => P))) : (∫ z : Fin N -> Omega, (weightedCenteredSum design Y mD w z) ^ 2 ∂(Measure.pi (fun _ : Fin N => P))) <= (1 / 4 : Real) * (∫ z : Fin N -> Omega, ∑ i, (w (designVector design z) i) ^ 2 ∂(Measure.pi (fun _ : Fin N => P))) := by cases N with | zero => simp [weightedCenteredSum] | succ n => let μN : Measure (Fin (n + 1) -> Omega) := Measure.pi fun _ : Fin (n + 1) => P let W : Fin (n + 1) -> (Fin (n + 1) -> Omega) -> Real := fun i z => w (designVector design z) i let R : Fin (n + 1) -> (Fin (n + 1) -> Omega) -> Real := fun i z => Y (z i) - mD (design (z i)) let X : Fin (n + 1) -> (Fin (n + 1) -> Omega) -> Real := fun i z => W i z * R i z have hdesignN : Measurable (designVector (N := n + 1) design) := measurable_designVector design hdesign have hWmeas (i : Fin (n + 1)) : Measurable (W i) := by exact (measurable_pi_apply i).comp (hw.comp hdesignN) have hRmeas (i : Fin (n + 1)) : Measurable (R i) := by exact (hY.comp (measurable_pi_apply i)).sub (hmD.comp (hdesign.comp (measurable_pi_apply i))) have hXmeas (i : Fin (n + 1)) : Measurable (X i) := (hWmeas i).mul (hRmeas i) have henergyMeas : Measurable (fun z : Fin (n + 1) -> Omega => ∑ i, (W i z) ^ 2) := Finset.measurable_sum _ fun i _ => (hWmeas i).pow_const 2 obtain ⟨hYInt, hmInt, hm_nonneg, hm_le_one, hcenter⟩ := residual_facts P design hdesign Y hY hY_nonneg hY_le_one mD hmD hcond have hRbound (i : Fin (n + 1)) : ∀ᵐ z ∂μN, ‖R i z‖ ≤ (2 : Real) := by have hmp := measurePreserving_eval (fun _ : Fin (n + 1) => P) i have hm0 := hmp.quasiMeasurePreserving.tendsto_ae.eventually hm_nonneg have hm1 := hmp.quasiMeasurePreserving.tendsto_ae.eventually hm_le_one filter_upwards [hm0, hm1] with z hz0 hz1 change 0 ≤ mD (design (z i)) at hz0 change mD (design (z i)) ≤ 1 at hz1 rw [Real.norm_eq_abs] apply abs_le.2 constructor <;> linarith [hY_nonneg (z i), hY_le_one (z i)] have hWiSq (i : Fin (n + 1)) : Integrable (fun z => (W i z) ^ 2) μN := by apply Integrable.mono hweight_sq ((hWmeas i).pow_const 2).aestronglyMeasurable filter_upwards with z rw [Real.norm_eq_abs, abs_of_nonneg (sq_nonneg _), Real.norm_eq_abs, abs_of_nonneg (Finset.sum_nonneg fun _ _ => sq_nonneg _)] exact Finset.single_le_sum (s := univ) (f := fun k : Fin (n + 1) => (W k z) ^ 2) (fun k _ => sq_nonneg (W k z)) (Finset.mem_univ i) have hXiSq (i : Fin (n + 1)) : Integrable (fun z => (X i z) ^ 2) μN := by apply (hWiSq i).const_mul 4 |>.mono' · exact (hXmeas i).pow_const 2 |>.aestronglyMeasurable · filter_upwards [hRbound i] with z hr change ‖(X i z) ^ 2‖ ≤ (4 : Real) * (W i z) ^ 2 rw [Real.norm_eq_abs, abs_of_nonneg (sq_nonneg _)] change (W i z * R i z) ^ 2 ≤ 4 * W i z ^ 2 rw [Real.norm_eq_abs] at hr have hrsq : (R i z) ^ 2 ≤ 4 := by rw [← sq_abs] have hs := (sq_le_sq₀ (abs_nonneg (R i z)) (by norm_num)).2 hr norm_num at hs ⊢ exact hs rw [mul_pow] calc W i z ^ 2 * R i z ^ 2 ≤ W i z ^ 2 * 4 := mul_le_mul_of_nonneg_left hrsq (sq_nonneg _) _ = 4 * W i z ^ 2 := by ring have hcrossInt (i j : Fin (n + 1)) : Integrable (fun z => X i z * X j z) μN := by apply (hXiSq i).add (hXiSq j) |>.mono' · exact (hXmeas i).mul (hXmeas j) |>.aestronglyMeasurable · filter_upwards with z rw [Real.norm_eq_abs] have ha : 0 ≤ |X i z| := abs_nonneg _ have hb : 0 ≤ |X j z| := abs_nonneg _ have hab : |X i z * X j z| = |X i z| * |X j z| := abs_mul _ _ rw [hab] have hsq := sq_nonneg (|X i z| - |X j z|) have hi : (X i z) ^ 2 = |X i z| ^ 2 := (sq_abs _).symm have hj : (X j z) ^ 2 = |X j z| ^ 2 := (sq_abs _).symm change |X i z| * |X j z| ≤ (X i z) ^ 2 + (X j z) ^ 2 rw [hi, hj] nlinarith [sq_nonneg |X i z|, sq_nonneg |X j z|] have hdiag (i : Fin (n + 1)) : (∫ z, (X i z) ^ 2 ∂μN) ≤ (1 / 4 : Real) * ∫ z, (W i z) ^ 2 ∂μN := by simpa [μN, X, W, R] using product_diag_integral_le P design hdesign Y hY hY_nonneg hY_le_one mD hmD hcond w hw i (hXiSq i) (hWiSq i) have hcross (i j : Fin (n + 1)) (hij : i ≠ j) : (∫ z, X i z * X j z ∂μN) = 0 := by simpa [μN, X, W, R] using product_cross_integral_eq_zero P design hdesign Y hY hY_nonneg hY_le_one mD hmD hcond w hw i j hij (hcrossInt i j) have hsquare (z : Fin (n + 1) -> Omega) : (weightedCenteredSum design Y mD w z) ^ 2 = ∑ i, ∑ j, X i z * X j z := by rw [pow_two] simp only [weightedCenteredSum, X, W, R] rw [Finset.sum_mul_sum] have hsumIntegral : (∫ z, (weightedCenteredSum design Y mD w z) ^ 2 ∂μN) = ∑ i, ∑ j, ∫ z, X i z * X j z ∂μN := by rw [integral_congr_ae (Filter.Eventually.of_forall hsquare)] rw [integral_finsetSum univ] · apply Finset.sum_congr rfl intro i hi rw [integral_finsetSum univ] intro j hj exact hcrossInt i j · intro i hi exact integrable_finsetSum univ fun j _ => hcrossInt i j have hcollapse (i : Fin (n + 1)) : (∑ j, ∫ z, X i z * X j z ∂μN) = ∫ z, (X i z) ^ 2 ∂μN := by rw [Finset.sum_eq_single i] · apply integral_congr_ae filter_upwards with z rw [pow_two] · intro j hj hji exact hcross i j (Ne.symm hji) · simp have henergyIntegral : (∫ z, ∑ i, (W i z) ^ 2 ∂μN) = ∑ i, ∫ z, (W i z) ^ 2 ∂μN := by exact integral_finsetSum univ fun i _ => hWiSq i change (∫ z, (weightedCenteredSum design Y mD w z) ^ 2 ∂μN) ≤ (1 / 4 : Real) * ∫ z, ∑ i, (W i z) ^ 2 ∂μN rw [hsumIntegral] simp_rw [hcollapse] rw [henergyIntegral, Finset.mul_sum] exact Finset.sum_le_sum fun i _ => hdiag i
    Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.product_weighted_centered_sq_integral_le · Causalean/Stat/Concentration/Hoeffding/RandomDesign/WeightedProduct.lean:657
Basic 4 core · 8 supporting This module proves conditional Hoeffding exponential-moment bounds for finite i.i.d. ★ product_weighted_centered_conditional_mgf_le

Conditional Hoeffding MGFs with random-design weights

This module proves conditional Hoeffding exponential-moment bounds for finite i.i.d. samples whose coefficient array is a measurable function of the complete design vector. It supplies a kernel-native formulation and a regular-conditional-distribution corollary, deriving rather than assuming conditional independence of the marks.

def realizedWeightEnergy reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

For a coefficient array determined by a complete design vector and a complete design vector, the realized weight energy is the sum of the squares of the coefficients selected by that design vector.

Definition (Lean source)
N :
D :
Type*
w :
(Fin N -> D) -> Fin N -> Real
d :
Fin N -> D
realizedWeightEnergy w d :
∑ i, (w d i) ^ 2
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.realizedWeightEnergy · Causalean/Stat/Concentration/Hoeffding/RandomDesign/Basic.lean:30
def weightedCenteredMarkSum reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

For a real-valued conditional mean function of a design value, a coefficient array determined by a complete design vector, a complete design vector, and a vector of real marks, the weighted centered mark sum is the sum over sample positions of the selected coefficient times the mark minus its conditional mean at the corresponding design value.

Definition (Lean source)
N :
D :
Type*
mD :
D -> Real
w :
(Fin N -> D) -> Fin N -> Real
d :
Fin N -> D
y :
Fin N -> Real
weightedCenteredMarkSum mD w d y :
∑ i, w d i * (y i - mD (d i))
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.weightedCenteredMarkSum · Causalean/Stat/Concentration/Hoeffding/RandomDesign/Basic.lean:35
def selfNormalizedWeightedCenteredSum reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

For a design map, a real-valued outcome map, a real-valued conditional mean function of the design, a coefficient array determined by a complete design vector, and a finite vector of sampled units, the self-normalized weighted centered sum is the weighted centered sum divided by the square root of the realized weight energy of the sampled design vector; when that energy is zero, this value is zero.

Definition (Lean source)
N :
Omega D :
Type*
design :
Omega -> D
Y :
Omega -> Real
mD :
D -> Real
w :
(Fin N -> D) -> Fin N -> Real
z :
Fin N -> Omega
selfNormalizedWeightedCenteredSum design Y mD w z :
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.selfNormalizedWeightedCenteredSum · Causalean/Stat/Concentration/Hoeffding/RandomDesign/Basic.lean:41
theorem product_weighted_centered_conditional_mgf_le reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

A probability law P, measurable design, and measurable outcome that is almost surely in the unit interval, together with a measurable regression equal almost surely to the conditional expectation given the design and complete-design weights, give the conditional Hoeffding exponential-moment bound on almost every complete design vector.

Formal statement
N :
Omega D :
design :
Omega -> D
hdesign :
Measurable design
Y :
Omega -> Real
hY :
hY_nonneg :
∀ᵐ omega ∂P, 0 <= Y omega
hY_le_one :
∀ᵐ omega ∂P, Y omega <= 1
mD :
D -> Real
hmD :
hcond :
P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design
w :
(Fin N -> D) -> Fin N -> Real
∀ᵐ d ∂Measure.pi (fun _ : Fin N => P.map design), ∀ s : Real, ∫ y, exp (s * weightedCenteredMarkSum mD w d y) ∂Causalean.Stat.finProductKernel N (condDistrib Y design P) d <
= exp (s ^ 2 * realizedWeightEnergy w d / 8)
Proof (Lean source)
theorem product_weighted_centered_conditional_mgf_le {N : Nat} {Omega D : Type*} [MeasurableSpace Omega] [MeasurableSpace D] (P : Measure Omega) [IsProbabilityMeasure P] (design : Omega -> D) (hdesign : Measurable design) (Y : Omega -> Real) (hY : Measurable Y) (hY_nonneg : ∀ᵐ omega ∂P, 0 <= Y omega) (hY_le_one : ∀ᵐ omega ∂P, Y omega <= 1) (mD : D -> Real) (hmD : Measurable mD) (hcond : P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design) (w : (Fin N -> D) -> Fin N -> Real) : ∀ᵐ d ∂Measure.pi (fun _ : Fin N => P.map design), ∀ s : Real, ∫ y, exp (s * weightedCenteredMarkSum mD w d y) ∂Causalean.Stat.finProductKernel N (condDistrib Y design P) d <= exp (s ^ 2 * realizedWeightEnergy w d / 8) := by -- Derive the conditional-distribution mean and range from `hcond` and the ambient -- bounds, then invoke the kernel-native product theorem. No conditional-independence -- hypothesis is introduced here. have hY_mem : ∀ᵐ omega ∂P, Y omega ∈ Icc (0 : ℝ) 1 := hY_nonneg.and hY_le_one have hY_int : Integrable Y P := Integrable.of_mem_Icc 0 1 hY.aemeasurable hY_mem have hmean_comp : (fun omega => ∫ y, y ∂condDistrib Y design P (design omega)) =ᵐ[P] mD ∘ design := (condExp_ae_eq_integral_condDistrib' hdesign hY_int).symm.trans hcond have hmean : ∀ᵐ d ∂P.map design, ∫ y, y ∂condDistrib Y design P d = mD d := by rw [ae_map_iff hdesign.aemeasurable] · filter_upwards [hmean_comp] with x hx exact hx · exact measurableSet_eq_fun (((stronglyMeasurable_id.comp_measurable measurable_snd).integral_condDistrib (X := design) (Y := Y) (μ := P)).measurable) hmD have hpair : ∀ᵐ p ∂(P.map design ⊗ₘ condDistrib Y design P), p.2 ∈ Icc (0 : ℝ) 1 := by rw [compProd_map_condDistrib hY.aemeasurable] rw [ae_map_iff (hdesign.prodMk hY).aemeasurable] · simpa using hY_mem · exact measurableSet_Icc.preimage measurable_snd have hrange : ∀ᵐ d ∂P.map design, ∀ᵐ y ∂condDistrib Y design P d, y ∈ Icc (0 : ℝ) 1 := Measure.ae_ae_of_ae_compProd hpair letI : IsProbabilityMeasure (P.map design) := Measure.isProbabilityMeasure_map hdesign.aemeasurable exact product_weighted_centered_attachKernel_conditional_mgf_le (P.map design) (condDistrib Y design P) mD hmean hrange w
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.product_weighted_centered_conditional_mgf_le · Causalean/Stat/Concentration/Hoeffding/RandomDesign/Basic.lean:290 · uses realizedWeightEnergy , weightedCenteredMarkSum , finProductKernel
8 supporting declarations (lemmas, instances)
Tail 1 core · 2 supporting This module transports the conditional random-design MGF bound to a retained-design law and then to an i.i.d. ★ product_weighted_centered_tail_le

Self-normalized random-design weighted Hoeffding tails

This module transports the conditional random-design MGF bound to a retained-design law and then to an i.i.d. observation product. It provides two-sided self-normalized Hoeffding tails for weights that depend measurably on every observed design coordinate.

theorem product_weighted_centered_tail_le reviewed
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding

A probability law P, measurable design, and measurable outcome that is almost surely in the unit interval, together with a measurable regression equal almost surely to the conditional expectation given the design, measurable complete-design weights of positive realized energy almost surely, and a nonnegative threshold, yield the two-sided self-normalized Hoeffding tail bound for the finite i.i.d. sample.

Formal statement
N :
Omega D :
design :
Omega -> D
hdesign :
Measurable design
Y :
Omega -> Real
hY :
hY_nonneg :
∀ᵐ omega ∂P, 0 <= Y omega
hY_le_one :
∀ᵐ omega ∂P, Y omega <= 1
mD :
D -> Real
hmD :
hcond :
P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design
w :
(Fin N -> D) -> Fin N -> Real
hw :
henergy :
∀ᵐ z ∂Measure.pi (fun _ : Fin N => P), 0 < realizedWeightEnergy w (designVector design z)
t :
ht :
0 <= t
(Measure.pi (fun _ : Fin N => P)).real {z | t * sqrt (realizedWeightEnergy w (designVector design z)) <= |weightedCenteredSum design Y mD w z|} <
= 2 * exp (-2 * t ^ 2)
Proof (Lean source)
theorem product_weighted_centered_tail_le {N : Nat} {Omega D : Type*} [MeasurableSpace Omega] [MeasurableSpace D] (P : Measure Omega) [IsProbabilityMeasure P] (design : Omega -> D) (hdesign : Measurable design) (Y : Omega -> Real) (hY : Measurable Y) (hY_nonneg : ∀ᵐ omega ∂P, 0 <= Y omega) (hY_le_one : ∀ᵐ omega ∂P, Y omega <= 1) (mD : D -> Real) (hmD : Measurable mD) (hcond : P[Y | comap design inferInstance] =ᵐ[P] mD ∘ design) (w : (Fin N -> D) -> Fin N -> Real) (hw : Measurable w) (henergy : ∀ᵐ z ∂Measure.pi (fun _ : Fin N => P), 0 < realizedWeightEnergy w (designVector design z)) {t : Real} (ht : 0 <= t) : (Measure.pi (fun _ : Fin N => P)).real {z | t * sqrt (realizedWeightEnergy w (designVector design z)) <= |weightedCenteredSum design Y mD w z|} <= 2 * exp (-2 * t ^ 2) := by have hY_mem : ∀ᵐ omega ∂P, Y omega ∈ Icc (0 : Real) 1 := hY_nonneg.and hY_le_one have hY_int : Integrable Y P := Integrable.of_mem_Icc 0 1 hY.aemeasurable hY_mem have hmean_comp : (fun omega => ∫ y, y ∂condDistrib Y design P (design omega)) =ᵐ[P] mD ∘ design := (condExp_ae_eq_integral_condDistrib' hdesign hY_int).symm.trans hcond have hmean : ∀ᵐ d ∂P.map design, ∫ y, y ∂condDistrib Y design P d = mD d := by rw [ae_map_iff hdesign.aemeasurable] · filter_upwards [hmean_comp] with x hx exact hx · exact measurableSet_eq_fun (((stronglyMeasurable_id.comp_measurable measurable_snd).integral_condDistrib (X := design) (Y := Y) (μ := P)).measurable) hmD have hpair : ∀ᵐ p ∂(P.map design ⊗ₘ condDistrib Y design P), p.2 ∈ Icc (0 : Real) 1 := by rw [compProd_map_condDistrib hY.aemeasurable] rw [ae_map_iff (hdesign.prodMk hY).aemeasurable] · simpa using hY_mem · exact measurableSet_Icc.preimage measurable_snd have hrange : ∀ᵐ d ∂P.map design, ∀ᵐ y ∂condDistrib Y design P d, y ∈ Icc (0 : Real) 1 := Measure.ae_ae_of_ae_compProd hpair let obsLaw : Measure (Fin N -> Omega) := Measure.pi (fun _ : Fin N => P) let designLaw : Measure (Fin N -> D) := Measure.pi (fun _ : Fin N => P.map design) let designVec : (Fin N -> Omega) -> (Fin N -> D) := designVector design have hdesignVec : Measurable designVec := by simpa only [designVec] using measurable_designVector design hdesign have henergySet : MeasurableSet {d : Fin N -> D | 0 < realizedWeightEnergy w d} := measurableSet_lt measurable_const (measurable_realizedWeightEnergy hw) have hmapDesign : obsLaw.map designVec = designLaw := by change (Measure.pi (fun _ : Fin N => P)).map (fun z : Fin N -> Omega => fun i => design (z i)) = Measure.pi (fun _ : Fin N => P.map design) exact Causalean.Stat.map_pi_finCoordinatewise N P hdesign have henergyDesign : ∀ᵐ d ∂designLaw, 0 < realizedWeightEnergy w d := by rw [← hmapDesign, ae_map_iff hdesignVec.aemeasurable henergySet] simpa only [obsLaw, designVec] using henergy letI : IsProbabilityMeasure (P.map design) := Measure.isProbabilityMeasure_map hdesign.aemeasurable have hattached := product_weighted_centered_attachKernel_tail_le (N := N) (P.map design) (condDistrib Y design P) mD hmD hmean hrange w hw henergyDesign ht let jointMap : (Fin N -> Omega) -> (Fin N -> D) × (Fin N -> Real) := fun z => (designVector design z, fun i => Y (z i)) have hjointMap : Measurable jointMap := by exact (measurable_designVector design hdesign).prodMk (measurable_finCoordinatewise N hY) let event : Set ((Fin N -> D) × (Fin N -> Real)) := {p | t * sqrt (realizedWeightEnergy w p.1) <= |weightedCenteredMarkSum mD w p.1 p.2|} have hevent : MeasurableSet event := by exact measurableSet_le (measurable_const.mul ((measurable_realizedWeightEnergy hw).comp measurable_fst).sqrt) (measurable_weightedCenteredMarkSum hmD hw).abs have hpull : jointMap ⁻¹' event = {z | t * sqrt (realizedWeightEnergy w (designVector design z)) <= |weightedCenteredSum design Y mD w z|} := by ext z simp only [Set.mem_preimage, Set.mem_setOf_eq, jointMap, event] change t * sqrt (realizedWeightEnergy w (designVector design z)) <= |∑ i, w (designVector design z) i * (Y (z i) - mD (design (z i)))| ↔ _ rfl have hlaw := product_observation_law_map_design_outcome (N := N) P design hdesign Y hY have hmapReal := map_measureReal_apply (μ := obsLaw) hjointMap hevent rw [hlaw] at hmapReal change obsLaw.real {z | t * sqrt (realizedWeightEnergy w (designVector design z)) <= |weightedCenteredSum design Y mD w z|} <= 2 * exp (-2 * t ^ 2) rw [← hpull, ← hmapReal] simpa only [designLaw] using hattached
Causalean.Stat.Concentration.RandomDesignWeightedHoeffding.product_weighted_centered_tail_le · Causalean/Stat/Concentration/Hoeffding/RandomDesign/Tail.lean:291 · uses designVector , realizedWeightEnergy , weightedCenteredSum
2 supporting declarations (lemmas, instances)