Combines hypothesis tests using the AND rule: rejects only when ALL component tests reject.

intersection_test(...)

Arguments

...

hypothesis_test objects or numeric p-values.

Value

A hypothesis_test of subclass intersection_test. The stat and dof fields are NA (no natural test statistic for p-value aggregation). Metadata fields: n_tests and component_pvals.

Details

The p-value is \(\max(p_1, \ldots, p_k)\) –the intersection rejects at level \(\alpha\) if and only if every component p-value is below \(\alpha\).

This is the intersection-union test (IUT; Berger, 1982). No multiplicity correction is needed –the max is inherently conservative.

Use Case — Bioequivalence

Bioequivalence requires showing a drug's effect is both "not too low" AND "not too high". This is naturally an intersection test.

Boolean Algebra

Together with complement_test() (NOT) and union_test() (OR), this forms a complete Boolean algebra. De Morgan's law holds by construction: union_test(a, b) = complement_test(intersection_test(complement_test(a), complement_test(b)))

Examples

# All must reject for intersection to reject
intersection_test(0.01, 0.03, 0.04)  # significant
#> Hypothesis test (intersection_test)
#> -----------------------------
#> Test statistic: NA
#> P-value: 0.04
#> Degrees of freedom: NA
#> Significant at 5% level: TRUE
intersection_test(0.01, 0.80)         # not significant
#> Hypothesis test (intersection_test)
#> -----------------------------
#> Test statistic: NA
#> P-value: 0.8
#> Degrees of freedom: NA
#> Significant at 5% level: FALSE