Experimentation.SuperPopulation.HACConsistency
This roll-up imports the variance bound for the network-HAC estimator and the Chebyshev consistency theorem.
Consistency 1 core · 1 supporting This file proves the variance-estimator consistency input for feasible inference with super-population network dependence: the network-HAC estimator V̂ = ∑ᵢ ∑_{j ∈ N i} Xᵢ Xⱼ converges in probability to the variance of t ★ netHAC_consistent
Consistency of the network-HAC variance estimator
This file proves the variance-estimator consistency input for feasible inference with
super-population network dependence: the network-HAC estimator V̂ = ∑ᵢ ∑_{j ∈ N i} Xᵢ Xⱼ
converges in probability to the variance of the network sum under bounded-degree and shrinking
summand conditions. It supplies a consistency ingredient for future Wald-style conclusions, but
does not itself prove a Wald statistic or coverage theorem.
The argument is Chebyshev:
* the estimator is unbiased, E[V̂] = Var(∑ᵢ Xᵢ) (the proved identity
NetworkDependence.netHACVarEst_integral_eq_variance), and
* its variance tends to zero (netHACVarEst_variance_tendsto_zero),
so for every ε > 0 the deviation probability
(μ n)({ω | ε ≤ |V̂ ω − Var(∑ᵢ Xᵢ)|}) ≤ Var(V̂)/ε² → 0.
netHAC_consistent is the resulting convergence-in-probability statement, stated with the
real-valued measure Measure.real to match the convergence-mode convention used elsewhere in the
library. The bounded-summand MemLp anchor is the auxiliary netHACVarEst_memLp.
HAC consistency (convergence in probability). Consider a sequence of super-population network fields F n over probability spaces with measures μ n, each in the CLT regime — dependency-graph degree at most m, summands uniformly bounded by a sequence B n tending to zero with card(Vₙ)·(Bₙ)³ → 0, and square-integrable, mean-zero summands — and an arbitrary error tolerance ε > 0. Then the network-HAC variance estimator converges in probability to the variance of the network sum: the probability that the estimator deviates from that variance by at least ε tends to zero as n → ∞.
Formal statement
Proof (Lean source)
1 supporting declaration (lemmas, instances)
-
netHACVarEst_memLptheorem — The network-HAC estimator is in L². With summands bounded by B and degree ≤ m, the estimator V̂ is pointwise bounded by card(V)·m·B², hence square-integrable; this is the moment hypothesis Chebyshev's inequality needs.hypothesesF :NetworkDependence V Ω μB :ℝhB :0 ≤ Bhbound :∀ i ω, |F.X i ω| ≤ Bm :ℕhdeg :∀ i, (F.toDepGraph.nbhd i).card ≤ mconclusionMemLp (fun ω => F.netHACVarEst ω) 2 μProof (Lean source)
theorem netHACVarEst_memLp (F : NetworkDependence V Ω μ) [IsProbabilityMeasure μ] {B : ℝ} (hB : 0 ≤ B) (hbound : ∀ i ω, |F.X i ω| ≤ B) {m : ℕ} (hdeg : ∀ i, (F.toDepGraph.nbhd i).card ≤ m) : MemLp (fun ω => F.netHACVarEst ω) 2 μ := by classical have hmeas : Measurable (fun ω => F.netHACVarEst ω) := by simp only [NetworkDependence.netHACVarEst] exact measurable_sum _ (fun i _ => measurable_sum _ (fun j _ => (F.meas i).mul (F.meas j))) have hpt : ∀ ω, |F.netHACVarEst ω| ≤ (Fintype.card V : ℝ) * ((m : ℝ) * B ^ 2) := by intro ω calc |F.netHACVarEst ω| = |∑ i, ∑ j ∈ F.nbhd i, F.X i ω * F.X j ω| := rfl _ ≤ ∑ i, |∑ j ∈ F.nbhd i, F.X i ω * F.X j ω| := Finset.abs_sum_le_sum_abs _ _ _ ≤ ∑ i, ∑ j ∈ F.nbhd i, |F.X i ω * F.X j ω| := Finset.sum_le_sum (fun i _ => Finset.abs_sum_le_sum_abs _ _) _ ≤ ∑ i, ∑ j ∈ F.nbhd i, B * B := Finset.sum_le_sum (fun i _ => Finset.sum_le_sum (fun j _ => by rw [abs_mul] exact mul_le_mul (hbound i ω) (hbound j ω) (abs_nonneg _) hB)) _ = ∑ i, ((F.nbhd i).card : ℝ) * (B * B) := by refine Finset.sum_congr rfl (fun i _ => ?_) rw [Finset.sum_const, nsmul_eq_mul] _ ≤ ∑ _i : V, (m : ℝ) * (B * B) := by refine Finset.sum_le_sum (fun i _ => ?_) apply mul_le_mul_of_nonneg_right _ (by positivity) change ((F.toDepGraph.nbhd i).card : ℝ) ≤ (m : ℝ) exact_mod_cast hdeg i _ = (Fintype.card V : ℝ) * ((m : ℝ) * B ^ 2) := by rw [Finset.sum_const, Finset.card_univ, nsmul_eq_mul] ring exact MemLp.of_bound hmeas.aestronglyMeasurable ((Fintype.card V : ℝ) * ((m : ℝ) * B ^ 2)) (Filter.Eventually.of_forall (fun ω => by rw [Real.norm_eq_abs] exact hpt ω))
VarianceBound 1 core · 2 supporting The network-HAC estimator V̂ = ∑ᵢ ∑_{j ∈ N i} Xᵢ Xⱼ of a super-population locally-dependent network field (Causalean.Experimentation.SuperPopulation.NetworkDependence.netHACVarEst) is *itself* a sum of products over netw ★ netHACVarEst_variance_le
Variance bound for the network-HAC variance estimator
The network-HAC estimator V̂ = ∑ᵢ ∑_{j ∈ N i} Xᵢ Xⱼ of a super-population locally-dependent
network field (Causalean.Experimentation.SuperPopulation.NetworkDependence.netHACVarEst) is
itself a sum of products over network-adjacent pairs. Rewritten with Finset.mul_sum it is
exactly the localized double sum ∑ᵢ Xᵢ · (∑_{j ∈ N i} Xⱼ) whose variance the proved
dependency-graph pair-counting bound Causalean.SteinMethod.DepGraph.var_nbhd_prod_le controls.
This file records two facts.
* netHACVarEst_variance_le — the estimator-variance bound: for a single field with bounded
summands |Xᵢ| ≤ B and bounded degree m, the variance of V̂ is at most a polynomial in m
times card(V)·B⁴, namely 2·m⁵·card(V)·B⁴. This is the substantive lemma: it is derived
from the m-dependence (covariances of separated localized products vanish) and the
bounded-degree pair counting, not assumed.
* netHACVarEst_variance_tendsto_zero — the variance → 0 corollary: along a CLT-regime sequence
with B n → 0 and card(V n)·(B n)³ → 0, the estimator variance tends to zero (squeeze the
bound, using card·B⁴ = (card·B³)·B → 0).
The consistency-in-probability statement is assembled in Consistency.lean from this variance
limit and the unbiasedness identity netHACVarEst_integral_eq_variance via Chebyshev.
Estimator-variance bound. For a super-population network field F, given a nonnegative bound B such that every summand is bounded in absolute value by B and every network neighborhood has size at most m, the variance of the network-HAC estimator V̂ = ∑ᵢ ∑_{j∈N i} Xᵢ Xⱼ is at most 2·m⁵·card(V)·B⁴.
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
netHACVarEst_eq_locProdtheorem — The network-HAC estimator equals the localized double sum ∑ᵢ Xᵢ · (∑_{j ∈ N i} Xⱼ): the pointwise identity that lets the dependency-graph variance bound apply to V̂ verbatim.hypothesesF :NetworkDependence V Ω μω :ΩconclusionF.netHACVarEst ω = ∑ i, F.X i ω * ∑ k ∈ F.toDepGraph.nbhd i, F.X k ωProof (Lean source)
theorem netHACVarEst_eq_locProd (F : NetworkDependence V Ω μ) (ω : Ω) : F.netHACVarEst ω = ∑ i, F.X i ω * ∑ k ∈ F.toDepGraph.nbhd i, F.X k ω := by simp only [NetworkDependence.netHACVarEst, NetworkDependence.nbhd, Finset.mul_sum] -
netHACVarEst_variance_tendsto_zerotheorem — Estimator variance tends to zero. Along a sequence of super-population network fields F n in the CLT regime — bounded degree m, summands bounded by B n with B n → 0, and card(V n)·(B n)³ → 0 — the variance of the network-HAC estimator tends to zero.hypothesesV :Ω :ℕ → Type*∀ n, MeasurableSpace (Ω n)μ :∀ n, Measure (Ω n)∀ n, IsProbabilityMeasure (μ n)F :∀ n, NetworkDependence (V n) (Ω n) (μ n)m :ℕhdeg :∀ n i, ((F n).toDepGraph.nbhd i).card ≤ mB :ℕ → ℝhB :∀ n, 0 ≤ B nhbound :∀ n i ω, |(F n).X i ω| ≤ B nconclusionProof (Lean source)
theorem netHACVarEst_variance_tendsto_zero {V : ℕ → Type*} [∀ n, Fintype (V n)] [∀ n, DecidableEq (V n)] {Ω : ℕ → Type*} [∀ n, MeasurableSpace (Ω n)] (μ : ∀ n, Measure (Ω n)) [∀ n, IsProbabilityMeasure (μ n)] (F : ∀ n, NetworkDependence (V n) (Ω n) (μ n)) (m : ℕ) (hdeg : ∀ n i, ((F n).toDepGraph.nbhd i).card ≤ m) (B : ℕ → ℝ) (hB : ∀ n, 0 ≤ B n) (hbound : ∀ n i ω, |(F n).X i ω| ≤ B n) (hB0 : Tendsto B atTop (𝓝 0)) (hNB3 : Tendsto (fun n => (card (V n) : ℝ) * (B n) ^ 3) atTop (𝓝 0)) : Tendsto (fun n => variance (fun ω => (F n).netHACVarEst ω) (μ n)) atTop (𝓝 0) := by have hub : Tendsto (fun n => 2 * (m : ℝ) ^ 5 * (card (V n) : ℝ) * (B n) ^ 4) atTop (𝓝 0) := by have hfac : (fun n => 2 * (m : ℝ) ^ 5 * (card (V n) : ℝ) * (B n) ^ 4) = (fun n => (2 * (m : ℝ) ^ 5) * (((card (V n) : ℝ) * (B n) ^ 3) * B n)) := by funext n; ring rw [hfac] have h := (hNB3.mul hB0) simpa using (h.const_mul (2 * (m : ℝ) ^ 5)).congr (fun n => by ring) refine squeeze_zero (fun n => variance_nonneg _ _) (fun n => ?_) hub exact netHACVarEst_variance_le (F n) (hB n) (hbound n) (hdeg n)