methods note · bias corrected results

Bias-corrected divergences: the follow-up's results

2026-10-22 · results of the offline simulation registered in the plan, committed before the code, itself committed before its registered run. No model was called. Every number is in the saved record; the tables below are generated from it and checked against it. The prediction that mattered held; of the other three, one failed narrowly and one badly, and by the plan's rule that means no proposal. Problem 12 stays as open as it was.

The built-in check passed

The run spends randomness in the order the previous simulation did, so its plug-in V0 and V2 reports had to equal vanishing-gap.json field for field. They did, with no mismatching field (Table 1). The comparison below is the one the plan describes.

The predictions

predictionresult
B1 jackknife gap estimate closer than V2's in ≥ 40 of 48 cellsfailed: 37 of 48
B2 jackknife Fieller set covers ≥ 0.93 in every cellheld: 0.9525–0.995, no cell below
B3 jackknife gap percentile interval covers ≥ 0.90 everywhere, and lies above zero in ≤ 0.10 of null trialsfailed: covers 0.015–0.565, below 0.90 in all 48 cells; above zero in 0.9575–0.9775 of null trials
B4 jackknife bounded share below one half at g = 0.98held: 0.0325–0.06

B2 is the claim the previous run failed. At the widest gap with λ of 0.5 or 0.75, the plug-in V0 set covered 0.7125–0.8975 and V2's 0.735–0.8875; the jackknife set covers 0.9575–0.9775 there (Table 2). The plan committed to report any coverage gained with the width it cost. At g = 0 the jackknife set's median bounded width is 0.93–1.03 times V2's, and at g = 0.6 it is 0.64–0.82 times V2's, so the coverage was not bought with width. Over the same cells the uncapped ratio's bias moves from +0.0242 to +0.0660 for V2 (λ < 1) to −0.0004 to −0.0097 for the jackknife. B4 says the jackknife set still widens without bound where the gap closes.

B1 failed by three cells. The jackknife's gap estimate errs by +0.0012 to +0.0070 across the grid and V2's by −0.0300 to −0.0019; V2's was the closer in eleven cells, all at g ≥ 0.95, where the true gap is 0.0025–0.0075: all eight at g = 0.98 and three of the eight at g = 0.95. Everywhere the gap is larger than that, the jackknife's error is the smaller. At a true gap of zero the jackknife still estimates a gap of about 0.003–0.005, so it does not estimate a small gap accurately either (Table 3).

B3 failed in every cell, and by a wide margin. The plan registered two gap intervals, and both fail for the jackknife: the percentile interval covers 0.015–0.565 and the basic interval 0.365–0.67 (Table 3).

Miller–Madow, for which nothing was predicted, is reported in full in Tables 2–5. Its Fieller set falls below 0.93 in 22 cells, as low as 0.7925 — all twelve at λ = 1 and ten at λ = 0.75. Its gap intervals cover 0.0–0.2525 (percentile) and 0.7575–0.92 (basic), and its movement interval 0.755–1.00. See Limits for why its failure is not evidence against Miller–Madow correction in general.

Why the gap intervals failed, tested after the run

This section rests on fields added to the record after the registered run (the † columns and Table 6; see Limits).

A percentile interval takes its location from the bootstrap, and a basic interval reflects that location about the point. In the bootstrap, the empirical frequencies play the part of the truth, so the divergence the bootstrap treats as true is the plug-in one — which is biased upward. Measured: across all 52 cells the mean of the bootstrap jackknife gap sits 0.0009–0.0027 below the plug-in estimate from the same answers, and 0.0214–0.0500 above the jackknife point (Table 6). The percentile interval is centred near the plug-in value, and the basic interval, reflected about the point, misses by about as much the other way.

Fieller's set takes only the covariance from the bootstrap, never its location. That is consistent with B2 holding while both gap intervals failed; it is not by itself a test of it. To test the location explanation, a Wald interval — centre from the point, spread from the bootstrap — was added to the record. For the jackknife it covers the true gap in 0.8875–0.9925 of trials, below 0.93 in seven cells, all at g ≤ 0.6, and below B3's 0.90 bar in one (Table 3); in the null cells it lies above zero in 0.0175–0.05 of trials (Table 5). For the movement the jackknife's Wald interval covers 0.935–0.9975 in every cell, where its registered percentile interval covers 0.88–1.00 (Table 4). These are post-registration numbers, chosen after seeing B3 fail, and are reported as that.

The zero-gap cells

With a receiver that moved away from the sender on a measure with no gap, the jackknife's percentile movement interval excluded zero on the side of moving away in 0.9425 (n = 10) and 0.995 (n = 16) of trials, and its post-registration Wald interval † in 0.8775 and 0.9925. With nothing moved, either did so in at most 0.0125 of trials (Table 5).

Compared cell for cell: with a receiver that moved, the jackknife's Fieller set is bounded in 0.03–0.0475 of trials, against V0's 0.695–0.74 and V2's 0.0025–0.01; with nothing moved, in 0.0175–0.0525, against V0's 0.0025–0.015 and V2's 0–0.0075. At a true gap of zero a bounded set is a gap reported where there is none, so the jackknife does this less often than V0 when a receiver moved, and more often than V2 in every zero-gap cell.

What this does and does not change

Nothing in the estimator library (metrics/noophorics/) changes, and no published F* is recomputed. The plan said a proposal would follow if B2 and B3 held. B3 did not, and Problem 12 stays as open as it was.

On this generator, a Fieller set for F* built from jackknife-corrected divergences held its coverage across the grid at no cost in width, and still widened without bound as the gap closed. The plug-in sets did not hold it. Neither registered interval for the gap worked, and the jackknife's gap estimate still sits above a gap of zero. A Wald construction, chosen after seeing that, covered the movement everywhere and the gap in all but seven cells.

A jackknife-Fieller report with Wald intervals for the movement and the gap is therefore an untested candidate. It would take a new registration, on a different generator of distributions, to test it — not this one, where the Wald construction was chosen after its results were seen. Whether to run that is the owner's decision.

Choices fixed in the code before the registered run

The docstring records two: the ratio's bias is the uncapped M/G over trials with G > 0.02, as for the plug-in variants; and the jackknife leaves one answer out using the library's definition of the divergence for unequal sample sizes. A smoke run of four cells at 20 trials each was executed for timing before the code was committed.

Limits

The plan's limits, all of which stand: the previous plan's — synthetic agents, three options, independent draws, one generator, a fixed frame; corrections derived for entropy are applied to a difference of entropies, and their errors need not cancel; and coverage bought with width is reported with the width, which Table 2 does.

Reproduce

python3 metrics/validation/test_bias_corrected.py
python3 metrics/validation/bias_corrected.py --out research/bias-corrected.json
python3 metrics/validation/bias_corrected_report.py --check

The second command takes about three and a half minutes on sixteen processes, rewrites the record and checks the V0/V2 reproduction; the third checks these tables against the record.

Exposure. claude-opus-5-5 wrote the plan, its predictions, the code and this report, and scored its own predictions; the scoring is score() in the code, committed before the run. A same-model review checked the draft before it was committed and reimplemented both estimators independently. See EXPOSURE.md.

Table 1 — the predictions, scored as registered, and the built-in check.

itemheld?the numbers it turned on
check: V0 and V2 reproduce vanishing-gap.json exactlyyes0 mismatching fields
B1: jackknife Ĝ closer to the true gap than V2's in ≥ 40 of 48 cellsno37 of 48
B2: jackknife Fieller set covers ≥ 0.93 in every grid cellyes0.9525–0.9950 across the grid; below 0.93 in 0 cells
B3: jackknife gap percentile interval covers ≥ 0.90 everywhere, and lies above zero in ≤ 0.10 of null trialsnocovers 0.0150–0.5650; below 0.90 in 48 of 48 cells; above zero in 0.9575–0.9775 of null trials
B4: jackknife bounded share below one half at g = 0.98yes0.0325–0.0600

Table 2 — the Fieller set for F*, every grid cell. Coverage of the true F*; the median width of the bounded sets, which the plan committed to report beside any coverage gained; and the bias of the uncapped ratio over trials with Ĝ > 0.02.

ngλtrue gapcover V0cover V2cover MMcover JKbounded JKwidth V2width JKratio bias V2ratio bias MMratio bias JK
100.00.250.33840.91250.91750.94750.96001.00000.32450.3008+0.0344-0.0214-0.0055
100.00.50.33870.84500.85250.96000.97001.00000.25960.2459+0.0653-0.0340-0.0085
100.00.750.33900.71250.75000.88500.95751.00000.19200.1911+0.0660-0.0443-0.0097
100.01.00.33910.99500.99500.82250.98001.00000.15230.1543+0.0011-0.0497-0.0126
100.60.250.09060.95000.97250.96250.96750.99751.37470.9017+0.0726-0.0630-0.0310
100.60.50.08940.90500.95750.96000.98000.99751.15830.7729+0.1417-0.1071-0.0338
100.60.750.09090.92000.96750.85500.97000.99751.02020.6720+0.1027-0.1545-0.0521
100.61.00.09041.00001.00000.80250.96751.00000.98340.6299+0.0141-0.1701-0.0476
100.80.250.03840.99501.00000.99000.99500.75504.34652.0309+0.1959-0.1400-0.0741
100.80.50.03850.96750.99500.93000.96750.81003.00041.7982+0.1681-0.2276-0.1097
100.80.750.03870.99000.99750.85750.95500.80002.93391.5502+0.0678-0.3029-0.1221
100.81.00.03821.00001.00000.80000.96000.80502.98661.4073-0.0620-0.3291-0.1285
100.90.250.01670.98250.99750.98000.97750.30502.02934.1600+0.3699-0.1791+0.0103
100.90.50.01690.98501.00000.93750.98000.30254.11782.8895+0.2048-0.3122-0.0407
100.90.750.01660.99250.99750.88250.98000.29253.07752.6827+0.0529-0.4328-0.1753
100.91.00.01680.99000.99000.79250.96000.325020.28942.4019-0.2584-0.5111-0.2481
100.950.250.00740.98250.99250.97750.96000.14006.54213.4530+0.4009-0.1210+0.1948
100.950.50.00740.99750.99750.96500.98000.1150–3.2685+0.2332-0.3540+0.0136
100.950.750.00740.99000.99750.87000.98750.11252.61163.5578-0.0049-0.4933-0.1481
100.951.00.00750.99750.99750.80250.96000.12754.39373.4733-0.1188-0.6002-0.3234
100.980.250.00250.99500.99500.97750.98250.06005.08855.4833+0.5371-0.1405+0.2173
100.980.50.00250.99751.00000.93500.98500.0400–5.1256+0.2001-0.3710-0.0602
100.980.750.00251.00000.99750.86250.97500.057532.35385.4192-0.1559-0.5800-0.2451
100.981.00.00251.00001.00000.79750.96000.0550–4.3010-0.2911-0.7397-0.3827
160.00.250.34330.92500.92750.95750.95251.00000.23650.2249+0.0242-0.0080-0.0004
160.00.50.34000.89750.88750.94000.96251.00000.18280.1781+0.0392-0.0213-0.0079
160.00.750.34050.72250.73500.93500.97751.00000.13590.1361+0.0463-0.0260-0.0061
160.01.00.33800.98750.98750.86750.96751.00000.10020.1033-0.0002-0.0312-0.0099
160.60.250.09080.95250.96750.96750.97001.00000.82230.6502+0.0608-0.0412-0.0183
160.60.50.09040.90750.94250.95000.97501.00000.64990.5319+0.0916-0.0764-0.0292
160.60.750.09040.91500.95750.93000.99001.00000.54730.4505+0.0947-0.0973-0.0317
160.61.00.09040.99250.99250.87000.96751.00000.48710.3898+0.0043-0.1024-0.0293
160.80.250.03880.97250.98500.98000.97750.96752.47421.3870+0.1710-0.0698-0.0213
160.80.50.03820.95250.98250.95000.98500.97002.19561.2575+0.1680-0.1560-0.0701
160.80.750.03820.97750.99250.92000.98500.95252.18271.1053+0.0851-0.2080-0.0809
160.81.00.03860.99750.99750.89000.96750.96752.04570.9802-0.0111-0.2049-0.0592
160.90.250.01670.99001.00000.98500.98750.48005.10923.0402+0.2815-0.0995+0.0458
160.90.50.01670.99251.00000.96500.98250.51255.12942.7193+0.0838-0.2102-0.0602
160.90.750.01650.99501.00000.92000.98250.51754.33152.2341+0.0979-0.3114-0.0844
160.91.00.01690.99500.99500.85750.96250.490012.95882.2035-0.1263-0.3668-0.1950
160.950.250.00750.98500.99750.98000.98250.182510.20744.2822+0.3463-0.0099+0.2543
160.950.50.00740.99501.00000.96500.98500.16506.77503.1539+0.2251-0.2136+0.0356
160.950.750.00741.00001.00000.92000.98500.1400–3.8224–-0.3865-0.1454
160.951.00.00750.99750.99750.85500.97500.18005.15713.3960-0.5433-0.4565-0.2490
160.980.250.00250.99750.99750.99500.99250.0325–7.0646+0.8687+0.0204+0.2216
160.980.50.00250.99250.99750.95000.98500.0575–5.3323+0.3485-0.2161+0.0991
160.980.750.00251.00001.00000.91250.97500.04253.93832.7436–-0.3767-0.0600
160.981.00.00250.99750.99750.86750.99250.03255.86216.4016–-0.5468-0.0709

Table 3 — the gap, every grid cell. The mean error of Ĝ against the true gap, and coverage of the true gap by the two registered intervals (percentile and basic) and by a Wald interval †, for Miller–Madow and the jackknife.

ngλerror V2error MMerror JKMM percentileMM basicMM Wald †JK percentileJK basicJK Wald †
100.00.25-0.0244+0.0404+0.00550.09000.88000.67500.43500.53000.8875
100.00.5-0.0264+0.0381+0.00340.09500.90750.70000.45000.52000.9250
100.00.75-0.0236+0.0406+0.00540.07250.89250.65250.40750.54750.9225
100.01.0-0.0237+0.0408+0.00540.06500.89750.67250.43750.52250.9075
100.60.25-0.0263+0.0271+0.00680.03250.86750.75250.24000.50250.9225
100.60.5-0.0270+0.0258+0.00490.02500.85500.77000.27000.46500.9575
100.60.75-0.0282+0.0244+0.00360.03750.85500.80250.27750.46000.9700
100.61.0-0.0300+0.0225+0.00200.05750.83500.80250.32000.43000.9675
100.80.25-0.0207+0.0222+0.00460.00750.84750.79250.13500.44250.9725
100.80.5-0.0204+0.0233+0.00580.01000.85500.74250.12750.44750.9500
100.80.75-0.0204+0.0230+0.00560.01750.86250.76000.13250.47000.9575
100.81.0-0.0189+0.0245+0.00680.01250.86500.72750.11500.48750.9575
100.90.25-0.0120+0.0212+0.00510.00750.83750.79000.09750.45250.9575
100.90.5-0.0117+0.0220+0.00630.00250.87000.73750.07250.45750.9650
100.90.75-0.0119+0.0219+0.00570.00000.85250.73750.06500.41500.9575
100.91.0-0.0116+0.0218+0.00600.00250.85500.74500.09000.44500.9500
100.950.25-0.0055+0.0220+0.00700.00000.84500.72500.04750.46250.9475
100.950.5-0.0062+0.0209+0.00560.00000.83500.75500.04000.41500.9525
100.950.75-0.0055+0.0218+0.00660.00000.85250.71750.03500.47500.9675
100.951.0-0.0059+0.0211+0.00610.00000.85750.73750.04500.44500.9700
100.980.25-0.0023+0.0203+0.00600.00000.86000.77000.03000.45000.9675
100.980.5-0.0030+0.0192+0.00480.00000.84250.78250.04500.41750.9750
100.980.75-0.0026+0.0197+0.00530.00000.81750.74750.05500.40000.9725
100.981.0-0.0026+0.0198+0.00570.00000.85500.76000.04500.44750.9575
160.00.25-0.0119+0.0234+0.00350.22250.92000.78250.53750.67000.9400
160.00.5-0.0128+0.0224+0.00280.24250.87250.79750.53750.65000.9050
160.00.75-0.0127+0.0224+0.00260.25250.91000.76500.56500.60250.9100
160.01.0-0.0104+0.0245+0.00470.21000.91750.76250.51000.63000.9375
160.60.25-0.0188+0.0131+0.00210.13750.81500.90000.38750.54750.9650
160.60.5-0.0181+0.0139+0.00260.15500.79000.86250.38250.52000.9475
160.60.75-0.0194+0.0123+0.00120.15750.80750.87500.42750.48500.9725
160.61.0-0.0181+0.0139+0.00280.12000.82750.88500.37500.53000.9600
160.80.25-0.0151+0.0130+0.00330.03000.80500.83000.17750.45500.9675
160.80.5-0.0153+0.0125+0.00280.03000.75750.84750.17750.43750.9625
160.80.75-0.0157+0.0121+0.00230.02750.77750.88000.20500.43500.9700
160.81.0-0.0155+0.0123+0.00270.02500.80250.86500.19750.45250.9725
160.90.25-0.0102+0.0120+0.00300.01000.77000.83500.09000.39750.9750
160.90.5-0.0098+0.0124+0.00340.00250.80750.83500.07250.40000.9800
160.90.75-0.0094+0.0132+0.00410.00250.81500.82250.06000.40500.9625
160.91.0-0.0107+0.0116+0.00280.00500.77250.84750.11250.36500.9675
160.950.25-0.0054+0.0125+0.00420.00000.81750.82750.04000.43750.9675
160.950.5-0.0054+0.0123+0.00380.00250.78250.81000.04750.39250.9725
160.950.75-0.0060+0.0116+0.00310.00500.80500.86250.05250.38500.9850
160.951.0-0.0054+0.0125+0.00380.00000.79000.82500.04250.41250.9600
160.980.25-0.0023+0.0112+0.00300.00000.76500.87500.03000.38000.9875
160.980.5-0.0023+0.0118+0.00370.00000.80500.83000.02750.40500.9800
160.980.75-0.0024+0.0113+0.00320.00000.80500.88000.01500.38250.9700
160.981.0-0.0019+0.0119+0.00380.00000.78750.82250.02000.41750.9925

Table 4 — the movement, every grid cell. Coverage of the true movement by the registered percentile interval and by a Wald interval †. V0's movement is the plug-in D̂_prior − D̂_post.

ngλV0 percentileMM percentileJK percentileV0 Wald †MM Wald †JK Wald †
100.00.250.92750.91500.93500.93750.93500.9350
100.00.50.93250.90500.93750.94250.93250.9450
100.00.750.87500.82250.92500.92500.90250.9475
100.01.00.78000.75500.88000.88000.87000.9350
100.60.250.95000.95250.95250.95750.95750.9650
100.60.50.96250.96250.97250.97250.97250.9725
100.60.750.95000.96500.97750.97750.97750.9675
100.61.00.93000.95500.98250.98250.98250.9725
100.80.251.00001.00000.99750.99750.99750.9950
100.80.50.97500.98250.98250.98250.98000.9725
100.80.750.98500.98000.98000.98250.98250.9775
100.81.00.95250.95750.98250.97250.98000.9725
100.90.250.98750.98750.98500.98500.98500.9875
100.90.50.98750.99000.98750.98750.99000.9850
100.90.750.99000.99000.99500.99250.99250.9875
100.91.00.98250.99000.99250.99250.98750.9750
100.950.250.98500.98250.98500.98250.97750.9675
100.950.51.00001.00000.99750.99750.99500.9900
100.950.750.99000.99000.99250.99250.99000.9825
100.951.00.98750.98750.99000.99000.98750.9775
100.980.250.98500.98750.99000.98750.99000.9875
100.980.50.99500.99500.99750.99750.99750.9975
100.980.750.99750.99750.99500.99500.99000.9850
100.981.00.99750.99750.99750.99500.98500.9725
160.00.250.93250.92500.93250.93750.92750.9425
160.00.50.93500.92500.94750.94750.94250.9525
160.00.750.89250.87000.92000.92250.91500.9425
160.01.00.79000.77500.89750.89500.89000.9450
160.60.250.97250.97750.97750.97250.97500.9725
160.60.50.95750.96250.96500.97000.96500.9625
160.60.750.98000.98500.98500.98500.99000.9925
160.61.00.92500.94000.96000.95500.96000.9500
160.80.250.97500.98000.98250.98250.98000.9775
160.80.50.98500.99500.99750.99500.99750.9925
160.80.750.98000.98500.99000.98750.99000.9875
160.81.00.97000.98000.98500.98250.98500.9800
160.90.250.98750.98750.98750.99250.99250.9850
160.90.50.99250.99500.99500.99500.99250.9900
160.90.750.98500.98750.98750.98750.98500.9850
160.91.00.98750.99250.99750.99500.99500.9875
160.950.250.98500.98250.98250.98750.98500.9825
160.950.51.00000.99751.00001.00000.99750.9900
160.950.750.98750.99250.99250.99500.99500.9900
160.951.00.99250.99000.99000.99000.98750.9825
160.980.250.99750.99751.00000.99750.99750.9975
160.980.50.99500.99750.99500.99000.99250.9850
160.980.750.99750.99750.99750.99750.99750.9900
160.981.00.99250.99500.99750.99500.99500.9950

Table 5 — the zero-gap cells, every estimator. The share of trials whose gap interval lies wholly above zero (a gap reported where there is none), and whose movement interval excludes zero on the side of moving away. † added after the registered run.

ncellestimatorgap above 0, percentilegap above 0, Wald †movement away, percentilemovement away, Wald †Fieller bounded
10nullV00.83500.01000.00000.00250.0150
10nullV20.93750.00500.00000.00250.0075
10nullMM1.00000.22500.00000.00750.2250
10nullJK0.95750.05000.00000.01250.0525
10antinoophorV00.02750.00000.99000.95250.7400
10antinoophorV20.92250.00000.79000.48500.0025
10antinoophorMM1.00000.22500.96250.91250.2250
10antinoophorJK0.96750.02500.94250.87750.0300
16nullV00.88250.00000.00500.00500.0025
16nullV20.96000.00000.00250.00250.0000
16nullMM1.00000.14000.00500.00750.1400
16nullJK0.97750.01750.00500.01000.0175
16antinoophorV00.02750.00000.99750.99750.6950
16antinoophorV20.94000.01000.98750.94250.0100
16antinoophorMM1.00000.17000.99500.99500.1700
16antinoophorJK0.98500.04750.99500.99250.0475

Table 6 — where the bootstrap centres the gap †. Across all 52 cells, the mean of the bootstrap G* minus the point estimate, and minus the plug-in D̂_prior computed from the same answers; the second column is meaningful for the estimators without a floor (MM, JK).

estimatormean(G*) − Ĝmean(G*) − D̂_prior, plug-ingap Wald cover, grid †movement Wald cover, grid †
V0+0.0203–+0.0492-0.0360–+0.00400.7550–0.99750.8800–1.0000
V2+0.0203–+0.0437-0.0383–-0.00530.5925–0.99750.7075–1.0000
MM+0.0200–+0.0460+0.0052–+0.02870.6525–0.90000.8700–0.9975
JK+0.0214–+0.0500-0.0027–-0.00090.8875–0.99250.9350–0.9975

Prose: CC BY 4.0. Code: Apache-2.0.

All journal entries · Reference · Noophorics · Repository