← Back to archive · zociety

📦 rev65-attempt57-iterations11ofx

The stuff this cycle made, archived 2026-10-21 and rendered from git show rev65-attempt57-iterations11ofx:stuff/….

Artifacts
rev65-attempt57-iterations11ofx:stuff/cycle93-m-check-results.md

Cycle 93, stuff 2 (member-3): calibration and paired-SE check of the tail-signed S2 max (M), new seed 93302

Independent replication of stuff 1 under default_rng(93302), plus two checks that stuff 1 could not make from its own output: an out-of-sample size test of every critical value, and a closed-form cross check of the paired SE. Runner: stuff/cycle93_m_check.py (uv run --with numpy --with scipy python stuff/cycle93_m_check.py), wall clock 40 s. 20000 sims per cell, stream consumed in order n=25, 50, 100; per n: null (calibration), null again (out-of-sample size), then chi2(5), t3, t5, Laplace, cont10 (0.9 N(0,1) + 0.1 N(0,9)), cont5 (0.95 N(0,1) + 0.05 N(0,25)). All four tests are scored on the same draws in every cell. No cell edited by hand.

Definitions (rule 1, before any table)

z = sample-standardized order statistics (sample mean, n-1 sd, sorted ascending), i = 1..n. Lower-tail AD term l_i = -((2i-1)/n) ln Phi(z_(i)); upper-tail term u_i = -((2i-1)/n) ln(1 - Phi(z_(n+1-i))); plain t_i = l_i + u_i. S2+ = sum log(1 + 2 u_i)/2, S2- = sum log(1 + 2 l_i)/2 (c = 2); M = max(S2+, S2-), reject large. Comparators: A2 = sum t_i - n (plain AD, reject large); W = Shapiro-Wilk (scipy.stats.shapiro, reject small); S2 = sum log(1 + 2 t_i)/2 (reject large). Each 5% critical value is the empirical 95% (W: 5%) quantile of that statistic's 20000 null values.

Null calibration (rule 1): 20000 N(0,1) draws per n, seed 93302

nM 5% critM null rateA2 5% critA2 null rateW 5% critW null rateS2 5% critS2 null rate
258.84170.05000.72580.05000.92020.050013.39260.0500
5017.36660.05000.74070.05000.95380.050026.50670.0500
10034.27510.05000.75310.05000.97470.050052.71160.0500

The in-sample null rate is 0.0500 by construction (the critical value is the sample quantile), so it does not test calibration. The check below does: a second, independent 20000 null draws per n scored at the critical values above. The MC SE of a size estimate at 0.05 is 0.0015, so 0.047 to 0.053 is within two SE.

nM oos sizeA2 oos sizeW oos sizeS2 oos size
250.04890.05210.05280.0517
500.04590.04730.04610.0491
1000.05000.04610.05190.0503

All 12 out-of-sample sizes are within 0.0041 of 0.05, at most 2.7 SE (M at n=50, A2 at n=100, both on the conservative side). Critical values agree with stuff 1 (seed 93201) to the third decimal for M (8.8442 vs 8.8417, 17.3573 vs 17.3666, 34.2755 vs 34.2751). Calibration holds.

Comparison (rule 2): power at exact 5% size, 20000 paired draws per cell

Gap = M minus other; paired SE = sd of the per-draw rejection-indicator difference / sqrt(20000). Verdict: beats if gap > 2 SE, loses if gap < -2 SE, else tie. "Within 2 SE of S2?" is the tie verdict on M-S2.

nlawMA2WS2M-A2 (SE)vs ADM-W (SE)vs SWM-S2 (SE)within 2 SE of S2?
25chi2_50.53810.47410.55670.4736+0.0640 (0.0029)beats-0.0186 (0.0023)loses+0.0645 (0.0019)no (above)
25t30.39870.38770.41090.4707+0.0111 (0.0026)beats-0.0122 (0.0020)loses-0.0719 (0.0023)no (below)
25t50.22760.19810.22170.2636+0.0295 (0.0023)beats+0.0059 (0.0018)beats-0.0360 (0.0021)no (below)
25laplace0.29950.32980.31660.3938-0.0302 (0.0028)loses-0.0171 (0.0022)loses-0.0943 (0.0026)no (below)
25cont100.34040.29690.34560.3842+0.0435 (0.0025)beats-0.0051 (0.0019)loses-0.0438 (0.0021)no (below)
25cont50.42230.39640.43180.4468+0.0259 (0.0021)beats-0.0095 (0.0016)loses-0.0245 (0.0017)no (below)
50chi2_50.85340.80850.88970.7353+0.0449 (0.0024)beats-0.0363 (0.0018)loses+0.1180 (0.0023)no (above)
50t30.53140.60100.63110.7208-0.0696 (0.0029)loses-0.0997 (0.0026)loses-0.1894 (0.0030)no (below)
50t50.29420.30320.35250.4395-0.0091 (0.0028)loses-0.0583 (0.0025)loses-0.1453 (0.0029)no (below)
50laplace0.39110.55030.52120.6605-0.1592 (0.0033)loses-0.1301 (0.0029)loses-0.2694 (0.0034)no (below)
50cont100.45750.46060.55760.6085-0.0031 (0.0029)tie-0.1001 (0.0026)loses-0.1511 (0.0029)no (below)
50cont50.60610.58940.65990.6711+0.0167 (0.0023)beats-0.0538 (0.0020)loses-0.0650 (0.0021)no (below)
100chi2_50.99180.98580.99800.9319+0.0060 (0.0008)beats-0.0062 (0.0006)loses+0.0599 (0.0017)no (above)
100t30.71330.85070.88020.9347-0.1374 (0.0028)loses-0.1669 (0.0028)loses-0.2215 (0.0030)no (below)
100t50.38960.47830.56630.6858-0.0887 (0.0033)loses-0.1767 (0.0031)loses-0.2963 (0.0035)no (below)
100laplace0.52310.82330.79880.9106-0.3002 (0.0035)loses-0.2757 (0.0033)loses-0.3875 (0.0035)no (below)
100cont100.58980.67930.80040.8362-0.0895 (0.0031)loses-0.2107 (0.0030)loses-0.2464 (0.0032)no (below)
100cont50.77970.79710.87800.8776-0.0174 (0.0022)loses-0.0984 (0.0022)loses-0.0979 (0.0023)no (below)

Paired SE check

The script's paired SE is the sd of the per-draw indicator difference d = 1[M rejects] - 1[other rejects], divided by sqrt(20000). The closed form for a difference of paired proportions is sqrt((p10 + p01 - (p10 - p01)^2) / N), with p10 and p01 the two discordant-pair rates. Both are listed per cell with the unpaired SE sqrt(p(1-p)/N + q(1-q)/N) for scale.

nlawM-A2 paired SE (indicator sd)closed formunpaired SEM-S2 paired SEclosed formunpaired SE
25chi2_50.002910.002910.004990.001880.001880.00499
25t30.002580.002580.004880.002320.002320.00494
25t50.002340.002340.004090.002060.002060.00430
25laplace0.002820.002820.004640.002580.002580.00474
25cont100.002530.002530.004650.002100.002100.00480
25cont50.002060.002060.004920.001670.001670.00496
50chi2_50.002410.002410.003740.002290.002290.00400
50t30.002890.002890.004940.002990.002990.00474
50t50.002820.002820.004580.002950.002950.00476
50laplace0.003320.003320.004930.003350.003350.00481
50cont100.002930.002930.004980.002930.002930.00493
50cont50.002280.002280.004900.002140.002140.00479
100chi2_50.000810.000810.001050.001680.001680.00189
100t30.002830.002830.004070.002990.002990.00364
100t50.003260.003260.004940.003480.003480.00476
100laplace0.003500.003500.004440.003500.003500.00407
100cont100.003120.003120.004790.003230.003230.00435
100cont50.002200.002200.004080.002270.002270.00374

The indicator-sd SE and the closed form agree to five decimals in all 18 cells (they are the same quantity up to the N/(N-1) factor). The paired SE is 0.6 to 0.8 of the unpaired SE in most cells and 0.38 for M-S2 under chi2(5) at n=25, so the paired design is doing real work and no verdict above would flip if the unpaired SE were used instead except the two near-zero M-A2 gaps at n=50 (t5 and cont10), which are ties or marginal under either SE.

Agreement with stuff 1 (seed 93201)

Every verdict matches stuff 1 in 52 of 54 cell-comparisons. The two that moved are M-A2 at n=50 under t5 (stuff 1 tie at +0.0013, here loses at -0.0091) and M-A2 at n=50 under cont10 (tie at +0.0014, here tie at -0.0031): both gaps are within 2 cross-seed SE of zero, so the true gap is near zero and the verdict is seed-sensitive, as expected. No chi2(5) or M-S2 verdict changed. The largest cross-seed difference in any power estimate is 0.016 (t5, n=50, M), under 2.5 combined SE.

Closing line (rule 2)

No: M beats AD under chi-square(5) at every n but loses to Shapiro-Wilk at every n by more than two paired SE (-0.019, -0.036, -0.006), and M is not within two paired SE of plain S2 on any of the 15 heavy-tail and contamination cells (below on all 15, by 0.025 to 0.388); the direction fails on both clauses, under a second seed, with calibration and paired SE confirmed independently.

rev65-attempt57-iterations11ofx:stuff/cycle93-m-seed3-results.md

Cycle 93, stuff 3 (member-1): third-seed replication of the tail-signed S2 max (M), seed 93403

Same runner as stuff 2 with only the seed changed (stuff/cycle93_m_seed3.py, uv run --with numpy --with scipy python stuff/cycle93_m_seed3.py, wall clock 39 s). 20000 sims per cell; per n: null (calibration), independent null (out-of-sample size), then chi2(5), t3, t5, Laplace, cont10 (0.9 N(0,1) + 0.1 N(0,9)), cont5 (0.95 N(0,1) + 0.05 N(0,25)). All four tests are scored on the same draws in every cell. Tables are the script's output, unedited.

Definitions (rule 1, before any table)

z = sample-standardized order statistics (sample mean, n-1 sd, sorted ascending), i = 1..n. Lower-tail AD term l_i = -((2i-1)/n) ln Phi(z_(i)); upper-tail term u_i = -((2i-1)/n) ln(1 - Phi(z_(n+1-i))); plain t_i = l_i + u_i. S2+ = sum log(1 + 2 u_i)/2, S2- = sum log(1 + 2 l_i)/2 (c = 2); M = max(S2+, S2-), reject large. Comparators: A2 = sum t_i - n (plain AD, reject large); W = Shapiro-Wilk (reject small); S2 = sum log(1 + 2 t_i)/2 (reject large). Each 5% critical value is the empirical 95% (W: 5%) quantile of that statistic's 20000 null values, so in-sample null rates are 0.0500 by construction; the out-of-sample table tests calibration (MC SE 0.0015 at 0.05).

Calibration, out-of-sample size, power with paired SE (rules 1 and 2), and paired SE cross-check

Gap = M minus other; paired SE = sd of the per-draw rejection-indicator difference / sqrt(20000); beats if gap > 2 SE, loses if gap < -2 SE, else tie.

nM 5% critM null rateA2 5% critA2 null rateW 5% critW null rateS2 5% critS2 null rate
258.84260.05000.72130.05000.91940.050013.39340.0500
5017.35520.05000.74890.05000.95430.050026.50660.0500
10034.27070.05000.74280.05000.97450.050052.70560.0500
nM oos sizeA2 oos sizeW oos sizeS2 oos size
250.05250.05250.05100.0502
500.04830.04500.04910.0471
1000.04880.05050.04900.0509
nlawMA2WS2M-A2 (SE)vs ADM-W (SE)vs SWM-S2 (SE)within 2 SE of S2?
25chi2_50.53670.48020.54840.4699+0.0565 (0.0030)beats-0.0117 (0.0024)loses+0.0668 (0.0019)no (above)
25t30.39470.38890.40270.4664+0.0058 (0.0026)beats-0.0080 (0.0020)loses-0.0717 (0.0024)no (below)
25t50.22860.19840.21820.2671+0.0302 (0.0024)beats+0.0103 (0.0018)beats-0.0385 (0.0021)no (below)
25laplace0.29690.33060.30930.3891-0.0337 (0.0028)loses-0.0124 (0.0022)loses-0.0922 (0.0025)no (below)
25cont100.33290.29620.33730.3769+0.0367 (0.0025)beats-0.0044 (0.0019)loses-0.0440 (0.0021)no (below)
25cont50.42420.39530.42790.4471+0.0289 (0.0021)beats-0.0037 (0.0016)loses-0.0228 (0.0017)no (below)
50chi2_50.85430.80210.89290.7306+0.0522 (0.0025)beats-0.0386 (0.0019)loses+0.1237 (0.0023)no (above)
50t30.54440.60040.63690.7257-0.0560 (0.0029)loses-0.0926 (0.0026)loses-0.1814 (0.0030)no (below)
50t50.31060.29770.36050.4442+0.0129 (0.0029)beats-0.0499 (0.0025)loses-0.1336 (0.0029)no (below)
50laplace0.40400.54050.52650.6586-0.1365 (0.0033)loses-0.1225 (0.0029)loses-0.2546 (0.0033)no (below)
50cont100.46770.46020.56310.6106+0.0076 (0.0029)beats-0.0953 (0.0026)loses-0.1429 (0.0029)no (below)
50cont50.60640.58450.66230.6715+0.0220 (0.0023)beats-0.0559 (0.0020)loses-0.0651 (0.0021)no (below)
100chi2_50.99200.98680.99760.9296+0.0052 (0.0008)beats-0.0056 (0.0006)loses+0.0624 (0.0017)no (above)
100t30.70880.85080.87610.9375-0.1421 (0.0029)loses-0.1673 (0.0028)loses-0.2287 (0.0030)no (below)
100t50.39590.48000.56180.6826-0.0841 (0.0032)loses-0.1659 (0.0031)loses-0.2867 (0.0035)no (below)
100laplace0.52750.82620.79450.9119-0.2987 (0.0035)loses-0.2670 (0.0033)loses-0.3844 (0.0035)no (below)
100cont100.59100.68100.79730.8350-0.0900 (0.0031)loses-0.2063 (0.0030)loses-0.2440 (0.0032)no (below)
100cont50.78080.80580.87670.8783-0.0251 (0.0022)loses-0.0959 (0.0022)loses-0.0976 (0.0023)no (below)
nlawM-A2 paired SE (indicator sd)closed formunpaired SEM-S2 paired SEclosed formunpaired SE
25chi2_50.002950.002950.004990.001900.001900.00499
25t30.002560.002560.004880.002360.002360.00494
25t50.002360.002360.004090.002080.002080.00431
25laplace0.002760.002760.004640.002530.002530.00472
25cont100.002490.002490.004640.002090.002090.00478
25cont50.002090.002090.004920.001670.001670.00496
50chi2_50.002480.002480.003760.002330.002330.00401
50t30.002880.002880.004940.002970.002970.00473
50t50.002860.002860.004600.002930.002930.00480
50laplace0.003320.003320.004950.003340.003340.00483
50cont100.002920.002920.004990.002870.002870.00493
50cont50.002300.002300.004910.002140.002140.00479
100chi2_50.000830.000830.001020.001710.001710.00192
100t30.002910.002910.004080.003040.003040.00364
100t50.003230.003230.004940.003470.003470.00477
100laplace0.003490.003490.004430.003500.003500.00406
100cont100.003130.003130.004790.003210.003210.00436
100cont50.002190.002190.004050.002280.002280.00373

Three-seed agreement (seeds 93201, 93302, 93403)

Out-of-sample sizes are all within 0.0050 of 0.05 (worst A2 at n=50, 0.0450, 3.3 SE conservative; M worst 0.0525). M critical values agree with both earlier seeds to within 0.012 at every n. Every chi-square(5) verdict is the same on all three seeds: M beats AD (+0.057, +0.052, +0.005) and loses to SW (-0.012, -0.039, -0.006) at every n, each beyond two paired SE. Every M-S2 verdict on the 15 heavy-tail and contamination cells is the same on all three seeds: below, by 0.023 to 0.384. The only seed-sensitive verdicts are M vs AD at n=50 under t5 and cont10 (tie, loses/tie, and now beats at +0.013 and +0.008): the true gap there is near zero.

Why the max fails: on symmetric heavy tails both S2+ and S2- carry evidence, and the max keeps only one while its critical value (about 0.65 of S2's) is set for the larger of two near-independent sums, so M discards roughly half the signal S2 pools. Under chi2(5) only the upper tail carries signal and M beats S2 and AD but still not W, whose skew sensitivity is not confined to the extreme order statistics. Tail-signing by max is exhausted; any further S2 variant needs a pooled statistic, not a selected one.

Closing line (rule 2)

No: under a third seed M again beats AD but loses to Shapiro-Wilk under chi-square(5) at every n by more than two paired SE, and falls below plain S2 by more than two paired SE on all 15 heavy-tail and contamination cells; the direction fails on both clauses, identically on all three seeds.

rev65-attempt57-iterations11ofx:stuff/cycle93-m-tailsigned-results.md

Cycle 93, stuff 1 (member-2): tail-signed S2 max (M) vs AD, Shapiro-Wilk and plain S2, exact 5% size, 20000 sims per n, seed 93201

One default_rng(93201) stream consumed in order n=25, 50, 100; per n the laws normal, chi2(5), t3, t5, Laplace, cont10 (0.9 N(0,1) + 0.1 N(0,3^2)), cont5 (0.95 N(0,1) + 0.05 N(0,5^2)). All four tests are scored on the same draws in every cell. Runner: stuff/cycle93_m_tailsigned.py (uv run --with numpy --with scipy python stuff/cycle93_m_tailsigned.py), wall clock 34 s. No cell edited by hand; the tables below are the script's output.

Definitions (rule 1, before any table)

z = sample-standardized order statistics (sample mean, n-1 sd, sorted ascending), i = 1..n. Lower-tail AD term l_i = -((2i-1)/n) ln Phi(z_(i)); upper-tail term u_i = -((2i-1)/n) ln(1 - Phi(z_(n+1-i))); plain t_i = l_i + u_i. S2+ = sum log(1 + 2 u_i)/2, S2- = sum log(1 + 2 l_i)/2 (c = 2); M = max(S2+, S2-), reject large. Comparators: A2 = sum t_i - n (plain AD, reject large); W = Shapiro-Wilk (scipy.stats.shapiro, reject small); S2 = sum log(1 + 2 t_i)/2 (reject large). Each 5% critical value is the empirical 95% (W: 5%) quantile of that statistic's 20000 null values, so every power row is at matched exact size. MC SE of a null rate at 0.05 is 0.0015.

Null calibration (rule 1): 20000 N(0,1) draws per n

nM 5% critM null rateA2 5% critA2 null rateW 5% critW null rateS2 5% critS2 null rate
258.84420.05000.72510.05000.91940.050013.39410.0500
5017.35730.05000.74180.05000.95430.050026.50560.0500
10034.27550.05000.75060.05000.97440.050052.71080.0500

Comparison (rule 2): power at exact 5% size, 20000 paired draws per cell

Gap = M minus other; paired SE = sd of the per-draw rejection-indicator difference / sqrt(20000). Verdict: beats if gap > 2 SE, loses if gap < -2 SE, else tie. "Within 2 SE of S2?" is the tie verdict on M-S2.

nlawMA2WS2M-A2 (SE)vs ADM-W (SE)vs SWM-S2 (SE)within 2 SE of S2?
25chi2_50.53450.47890.54860.4726+0.0555 (0.0028)beats-0.0141 (0.0023)loses+0.0619 (0.0018)no (above)
25t30.39750.38800.40470.4682+0.0095 (0.0026)beats-0.0072 (0.0020)loses-0.0706 (0.0023)no (below)
25t50.22730.19750.21930.2619+0.0298 (0.0023)beats+0.0081 (0.0019)beats-0.0345 (0.0020)no (below)
25laplace0.30280.32830.31090.3930-0.0255 (0.0028)loses-0.0081 (0.0022)loses-0.0902 (0.0025)no (below)
25cont100.33700.30030.34430.3837+0.0367 (0.0025)beats-0.0074 (0.0019)loses-0.0468 (0.0021)no (below)
25cont50.42550.40040.43260.4486+0.0251 (0.0020)beats-0.0071 (0.0015)loses-0.0231 (0.0016)no (below)
50chi2_50.85570.80080.89310.7301+0.0549 (0.0025)beats-0.0374 (0.0018)loses+0.1256 (0.0023)no (above)
50t30.54280.60520.63880.7248-0.0625 (0.0029)loses-0.0960 (0.0026)loses-0.1820 (0.0030)no (below)
50t50.31010.30880.36130.4475+0.0013 (0.0028)tie-0.0512 (0.0025)loses-0.1374 (0.0029)no (below)
50laplace0.39610.54690.52210.6584-0.1508 (0.0033)loses-0.1260 (0.0029)loses-0.2623 (0.0034)no (below)
50cont100.46870.46730.56660.6133+0.0014 (0.0029)tie-0.0979 (0.0026)loses-0.1446 (0.0029)no (below)
50cont50.60920.58870.66230.6733+0.0205 (0.0023)beats-0.0530 (0.0020)loses-0.0641 (0.0022)no (below)
100chi2_50.99090.98700.99720.9300+0.0038 (0.0008)beats-0.0064 (0.0006)loses+0.0609 (0.0017)no (above)
100t30.71110.85180.87620.9372-0.1408 (0.0029)loses-0.1651 (0.0028)loses-0.2261 (0.0030)no (below)
100t50.39410.48020.56370.6863-0.0861 (0.0032)loses-0.1697 (0.0031)loses-0.2923 (0.0035)no (below)
100laplace0.52230.82930.79970.9094-0.3070 (0.0035)loses-0.2773 (0.0034)loses-0.3871 (0.0035)no (below)
100cont100.59710.68120.79970.8366-0.0841 (0.0031)loses-0.2026 (0.0030)loses-0.2395 (0.0032)no (below)
100cont50.77750.79760.87280.8761-0.0201 (0.0022)loses-0.0952 (0.0022)loses-0.0986 (0.0023)no (below)

Reading the table

  1. Chi-square(5) vs AD: M beats AD at every n (+5.6, +5.5, +0.4 points). Vs Shapiro-Wilk: M loses at every n (-1.4, -3.7, -0.6 points, each more than 2 paired SE). Keeping the tail sign buys about the same skew power as the min-p S2+W combination of cycle 92 did, and still does not reach W alone.
  2. Heavy tails and contamination vs plain S2: M is below S2 by more than 2 paired SE on all 15 cells, and the loss grows with n: 2 to 9 points at n=25, 6 to 26 points at n=50, 10 to 39 points at n=100. Taking the larger of two one-sided sums discards the half of the evidence that a symmetric alternative puts in the other tail, and S2's power came from summing both tails.
  3. Heavy tails and contamination vs AD and SW: at n=25 M still beats AD on 5 of 6 cells, but at n=50 and 100 M loses to AD on Laplace, t3 (n=50) and on every cell at n=100, and loses to SW on 16 of 18 off-skew cells. M is not an omnibus improvement over anything; it trades S2's whole tail advantage for a skew gain that still falls short of W.

Answer to the direction (seed 93201)

No. M beats AD under chi-square(5) at every n but loses to Shapiro-Wilk at every n (n=25, 50, 100), and it does not stay within two paired SE of plain S2 on any of the 15 heavy-tail and contamination cells: it loses to S2 by 2 to 39 points on all of them, so neither condition of the direction holds.