Combines hypothesis tests using the AND rule: rejects only when ALL component tests reject.
intersection_test(...)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.
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.
Bioequivalence requires showing a drug's effect is both "not too low" AND "not too high". This is naturally an intersection test.
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)))
# 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