Closed testing principle
DefinitionClosed testing procedure#✓fully proved
The closed testing procedure: given the decisions φ J of local tests of the intersection
hypotheses H_J, reject Hᵢ exactly when φ J holds for every J containing i.
TheoremMembership in the closed rejection set#✓fully proved
Membership in the closed rejection set.
theorem mem_closedRejections {φ : Finset (Fin m) → Prop} {i : Fin m} :
i ∈ closedRejections φ ↔ ∀ J : Finset (Fin m), i ∈ J → φ J
noncomputable def closedRejections (φ : Finset (Fin m) → Prop) : Finset (Fin m) := by
classical
exact Finset.univ.filter fun i => ∀ J : Finset (Fin m), i ∈ J → φ J
MathlibExt/Probability/Statistics/MultipleTesting/ClosedTesting.lean:61
Uses 1 · Used by 2
TheoremClosed testing rejection implies the intersection test rejects#✓fully proved
If the closed procedure rejects a hypothesis in H0, then the local test of the
intersection hypothesis H_{H0} rejects.
theorem inter_nonempty_closedRejections {φ : Finset (Fin m) → Prop} {H0 : Finset (Fin m)}
(h : (closedRejections φ ∩ H0).Nonempty) : φ H0
noncomputable def closedRejections (φ : Finset (Fin m) → Prop) : Finset (Fin m) := by
classical
exact Finset.univ.filter fun i => ∀ J : Finset (Fin m), i ∈ J → φ J
MathlibExt/Probability/Statistics/MultipleTesting/ClosedTesting.lean:61
Uses 2 · Used by 1
TheoremThe closed testing principle#✓fully proved
If H0 is the set of true nulls and the local test of
H_{H0} rejects with probability at most α, then the closed procedure rejects some true
null with probability at most α. Applied to every possible H0, local level-α tests give
strong control of the family-wise error rate. No assumption on the dependence between local
tests is made.
theorem measure_closed_familywiseError_le (μ : Measure Ω) (φ : Finset (Fin m) → Ω → Prop)
(H0 : Finset (Fin m)) {α : ENNReal} (hlocal : μ {ω | φ H0 ω} ≤ α) :
μ {ω | (closedRejections (fun J => φ J ω) ∩ H0).Nonempty} ≤ α
noncomputable def closedRejections (φ : Finset (Fin m) → Prop) : Finset (Fin m) := by
classical
exact Finset.univ.filter fun i => ∀ J : Finset (Fin m), i ∈ J → φ J
MathlibExt/Probability/Statistics/MultipleTesting/ClosedTesting.lean:61
Sources
- Marcus, Peritz and Gabriel (1976).
Uses 2
DefinitionBonferroni local test of an intersection hypothesis#✓fully proved
The Bonferroni local test of the intersection hypothesis H_J at level α: reject when
some j ∈ J has p j ≤ α / |J|. (It never rejects H_∅.)
def bonferroniLocalTest (α : ℝ) (p : Fin m → ℝ) (J : Finset (Fin m)) : Prop :=
∃ j ∈ J, p j ≤ α / J.card
Used by 2
TheoremLevel of the Bonferroni local test#✓fully proved
The Bonferroni local test of H_{H0} has level α ∈ [0, 1] when the p-values in H0
are valid.
theorem measure_bonferroniLocalTest_le (μ : Measure Ω) (p : Fin m → Ω → ℝ)
(H0 : Finset (Fin m)) (hnull : ∀ i ∈ H0, IsValidPValue μ (p i)) {α : ℝ} (hα₀ : 0 ≤ α)
(hα₁ : α ≤ 1) :
μ {ω | bonferroniLocalTest α (fun i => p i ω) H0} ≤ ENNReal.ofReal α
def IsValidPValue (μ : Measure Ω) (X : Ω → ℝ) : Prop :=
∀ t ∈ Set.Icc (0 : ℝ) 1, μ {ω | X ω ≤ t} ≤ ENNReal.ofReal t
MathlibExt/Probability/Statistics/MultipleTesting/Basic.lean:57
def bonferroniLocalTest (α : ℝ) (p : Fin m → ℝ) (J : Finset (Fin m)) : Prop :=
∃ j ∈ J, p j ≤ α / J.card
MathlibExt/Probability/Statistics/MultipleTesting/ClosedTesting.lean:97
Uses 3
TheoremHolm's procedure is a closed test#✓fully proved
For α ≥ 0, the hypotheses rejected by Holm's
step-down procedure are exactly those rejected by the closed testing procedure built on the
Bonferroni local tests.
theorem holmRejections_eq_closedRejections {α : ℝ} (hα : 0 ≤ α) (p : Fin m → ℝ) :
holmRejections α p = closedRejections (bonferroniLocalTest α p)
noncomputable def holmRejections (α : ℝ) (p : Fin m → ℝ) : Finset (Fin m) :=
Finset.univ.filter fun i => p i ≤ α / ((m : ℝ) - holmIndex α p + 1)
MathlibExt/Probability/Statistics/MultipleTesting/Holm.lean:62
noncomputable def closedRejections (φ : Finset (Fin m) → Prop) : Finset (Fin m) := by
classical
exact Finset.univ.filter fun i => ∀ J : Finset (Fin m), i ∈ J → φ J
MathlibExt/Probability/Statistics/MultipleTesting/ClosedTesting.lean:61
def bonferroniLocalTest (α : ℝ) (p : Fin m → ℝ) (J : Finset (Fin m)) : Prop :=
∃ j ∈ J, p j ≤ α / J.card
MathlibExt/Probability/Statistics/MultipleTesting/ClosedTesting.lean:97
Sources
- Holm (1979) introduces the procedure; the closure is that of Marcus, Peritz and Gabriel (1976).
Uses 10
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.