Kontrolu, která proběhla jednou, je snadné vydávat za důkaz. Za jeden den jsme ve třech různých projektech třikrát narazili na totéž: měření bylo správné, závěr ne, protože jeden vzorek zastoupil celé rozdělení — nebo protože kontrola neměla jak selhat. Tři případy z fyziky, z numerické matematiky a z bibliometrie mají společnou stavbu, a proto je popisujeme spolu.

1. Jeden úsek dat: falešná výjimka ze správného pravidla

Při opakování první detekce gravitačních vln (GW150914) z veřejných dat jsme ověřovali tvrzení z průvodce, který kolaborace LIGO a Virgo k datům vydala: Fourierova transformace dat bez okna je zahlcená „prosakováním“ (leakage) z nízkých frekvencí. Jako negativní kontrolu jsme vzali jeden čtyřsekundový úsek dat z každého detektoru, 300 sekund před událostí, a porovnali výkon kolem 500 Hz bez okna a s oknem.

Výsledek: Livingston 1566× víc výkonu bez okna, Hanford jen 2×. Navrhli jsme tedy zúžit formulaci: „platí pro Livingston, pro Hanford v tomto úseku ne“.

Než jsme to zapsali, zopakovali jsme kontrolu na všech 1023 nepřekrývajících se úsecích obou souborů. Obraz se otočil:

detektor5. percentilmedián95. percentilúseků nad 10×
Hanford2,0×23×176×67 %
Livingston345×1032×2316×100 %

Pravidlo z průvodce platí pro oba detektory. Náš „Hanford 2ד byl úsek na pátém percentilu. Kdybychom závěr vyvodili z něj, zveřejnili bychom falešnou výjimku ze správného pravidla. Navíc: stejná operace na stejném přístroji ve stejný den dává podle detektoru a vybraných čtyř sekund cokoli od 2× do 2300× — tři řády — a v každém detektoru z jiné příčiny (v Hanfordu skok mezi prvním a posledním vzorkem úseku, v Livingstonu zatím nevysvětleno).

Fyzikové LIGO to vědí dávno: spektrum šumu se nikdy neodhaduje z jedné transformace, ale jako medián přes stovky úseků.

2. Referenční výpočet, který nemohl nesouhlasit

Ve veřejné referenční implementaci Fourierovy transformace (lege-artis/fourier) měříme přesnost proti výpočtu ve vyšší přesnosti (long double). Na MacBooku sonda hlásila nulovou chybu pro všechny velikosti transformace.

Nula nebyla výsledek. Na procesorech Apple Silicon je long double stejný 53bitový typ jako double — „přesnější“ reference byla tentýž výpočet jako testovaný kód a nemohla s ním nesouhlasit. Dokonalé skóre od orákula, které se nemůže lišit, je tiché selhání nástroje.

Oprava: sonda si teď nejdřív ověří, že reference má skutečně víc bitů (LDBL_MANT_DIG), a když nemá, odmítne měřit a skončí chybou. Referenci pak počítá nezávislá knihovna (mpmath, 40 platných číslic), takže výsledek nezávisí na platformě. Na stroji, kde long double má 113 bitů, vychází chyba 2 až 17 jednotek zaokrouhlení podle velikosti transformace — nikoli nula; tam, kde lze obě reference porovnat, se shodují přesně.

3. Statistický test, který počítal tytéž lidi dvakrát

V posouzení základů zobrazovací neurovědy jsme měřili, zda články popisující meze metody cituje i aplikační literatura. Výsledek vypadal silně: pro tři ze sedmi článků statisticky významný rozdíl i po korekci na mnohonásobné testování.

Test ale počítal autory, kteří citovali oba porovnávané články, v obou buňkách tabulky. U jedné rodiny metod to byla zhruba třetina citujících — a významnost tím byla nafouknutá. Stáhli jsme si proto celou množinu 23 390 citujících prací, uložili ji s kontrolními součty a test zopakovali s disjunktními buňkami (každý citující právě v jedné). Poměry se zopakovaly na setiny přesně — data byla v pořádku. Významnost ne: po korekci (Holm) obstál jediný článek (p = 0,002), dva zůstaly naznačené (p = 0,10) a původní p-hodnoty jsme stáhli.

Společná stavba

Ve všech třech případech bylo měření správně. Chybné bylo to, co jsme z něj vyvodili, a pokaždé ze stejného důvodu: jeden vzorek stál za rozdělením, nebo jedna věc za dvě nezávislé. Jeden úsek za 1023 úseků. Jeden výpočet za dva (testovaný a referenční). Jeden citující za dva (v obou buňkách).

Co z toho vyvozujeme z praktického hlediska? Tři závěry, každý z nich střídmý a dobře doložený.

  1. Negativní kontrola spuštěná jednou je historka. Teprve na celé populaci (všechny úseky, všechny konfigurace, všechny běhy) z ní je rozdělení — a teprve pak kontrola. Uvádějte rozpětí, ne jedno číslo.
  2. Orákulum musí umět nesouhlasit. Než kontrole uvěříte, ověřte, že má z čeho selhat: že reference je skutečně nezávislá (jiný výpočet, jiná knihovna, jiná přesnost) a že na známém chybném případu opravdu selže. Dokonalý výsledek je důvod k podezření, ne k úlevě.
  3. Statistický test platí jen tehdy, když jsou jeho jednotky opravdu oddělené. Překryv mezi skupinami (tentýž uživatel, tentýž test, tentýž soubor dat ve dvou kategoriích) není drobná nepřesnost — může vyrobit významnost, která neexistuje.

Odkazy

Naše referenční dokumentace (pracovní verze v .md): memo „one segment is an anecdote“ a výsledky GW150914 (fourier/examples/gw150914/); nález o falešné nule (fourier/_audit/TWIDDLE-… §6); posouzení neurovědy, Part 2 §3h (A7d → A8, stažené p-hodnoty), data s kontrolními součty. Dnes v soukromém pracovním repozitáři; zveřejnění chystáme.

Připravujeme. Text o tom, proč deterministický test se zjednodušenou, ale jednoznačnou doménovou sémantikou má v době vývoje s jazykovými modely zvláštní cenu — a čeho je vlastně kód kódem pro vývojáře, pro analytika a pro uživatele. Zveřejníme také kód a data ke všem třem případům.


Metoda a meze. Všechny tři případy jsou naše vlastní chyby zachycené před zveřejněním, ne kritika cizích prací; v prvním případě se ukázalo, že publikované tvrzení platí. Čísla pocházejí z výpočtů 2026-10-11 (GW150914: data GWOSC v3; fourier: MacBook Apple Silicon a sandbox Linux x86-64; neurověda: snímek OpenAlex 2026-10-11T11:52Z, dva nezávislé snímky shodné). Generátor textu a kódu: jazykový model Claude (Cowork), 2026-10-11 až 12; orákula: průvodce LIGO–Virgo, mpmath, disjunktní Fisherův test; domény: data GWOSC v3, IEEE 754, OpenAlex k uvedenému datu.