Benjamini-Hochberg Adjustment across two Families #18
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
An
Adjustmentlayer that correctsCorrelationStrategyresults for how many things were tested at once, and marks results rather than hiding them.The problem is arithmetic, not a flaw in the data. A realistic stats page tests roughly 8 metrics plus cycle day, weather and moon, plus however many Activities the User keeps — call it 41. At a conventional 5% threshold, the chance of at least one false positive when nothing real is happening is
1 - 0.95^41, about 88%.Benjamini-Hochberg, controlling false discovery rate — not family-wise error control. A false positive costs a User a behaviour change that achieves nothing; a false negative costs them a real and actionable effect they never discover. In a personal exploratory tool the second is worse. Strict family-wise control needs roughly |r| >= 0.34 over ninety days, which would leave the page empty for months and read as broken rather than rigorous.
Nothing is gated. A surviving result is presented as a second axis of robustness beside cross-strategy agreement — it held up once the number of things tested was accounted for — never as a verdict or a significance claim. This keeps ADR 0006's contract intact.
Two rules that follow from the maths rather than from preference:
MetricKinds and Activities are separateFamilys. AFamilyis a question, and how many Activities a User keeps has no bearing on whether their sleep tracks their mood. A singleFamilywould let a large Activity catalog quietly suppress metric findings, making the guardrail's strictness depend on a number the User controls for unrelated reasons.Acceptance criteria
Adjustmentmarks results; nothing is ever hidden or filtered out by itCorrelationStrategy, never across strategiesMetricKinds and Activities are corrected as separateFamilysAdjustmentis not reachable as aCorrelationStrategyBlocked by