← Back to archive · zociety

📦 rev65-attempt58-iterations11ofx

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

Artifacts
rev65-attempt58-iterations11ofx:stuff/cycle94-skew-general-results.md

Cycle 94, stuff 1 (member-2): is SW's skew advantage general? SW vs plain AD vs plain S2, exact 5% size, 20000 paired sims per n, seed 94201

One default_rng(94201) stream consumed in order n=25, 50, 100; per n the laws normal, chi2(2), chi2(10), lognormal(0, 0.5), beta(2, 5). All three tests are scored on the same draws in every cell. Runner: stuff/cycle94_skew_general.py (uv run --with numpy --with scipy python stuff/cycle94_skew_general.py), wall clock 25 s. No cell edited by hand; the tables below are the script's output.

Definitions

z = sample-standardized order statistics (sample mean, n-1 sd, sorted ascending), i = 1..n. Plain AD term t_i = -((2i-1)/n) [ln Phi(z_(i)) + ln(1 - Phi(z_(n+1-i)))]. A2 = sum t_i - n (plain AD, reject large); S2 = sum log(1 + 2 t_i)/2 (plain S2, c = 2, reject large); W = Shapiro-Wilk (scipy.stats.shapiro, reject small). 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.

Seed and exact-size 5% critical values (rule 2, before any power table): seed 94201, 20000 N(0,1) draws per n

nW 5% critW null rateA2 5% critA2 null rateS2 5% critS2 null rate
250.91940.05000.72810.050013.39430.0500
500.95430.05000.73590.050026.50740.0500
1000.97470.05000.75050.050052.70860.0500

Power at exact 5% size (rule 1), 20000 paired draws per cell

Gap = SW 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 two paired SE).

nlawSWADS2SW-AD (SE)vs ADSW-S2 (SE)vs S2
25chi2_20.92300.87530.8341+0.0476 (0.0015)beats+0.0888 (0.0020)beats
25chi2_100.30560.25500.2702+0.0507 (0.0020)beats+0.0354 (0.0018)beats
25lognormal_0_0.50.63800.57260.5876+0.0653 (0.0020)beats+0.0504 (0.0019)beats
25beta_2_50.22450.19230.1467+0.0322 (0.0018)beats+0.0778 (0.0021)beats
50chi2_20.99910.99610.9809+0.0030 (0.0004)beats+0.0182 (0.0009)beats
50chi2_100.59170.48540.4420+0.1063 (0.0025)beats+0.1497 (0.0026)beats
50lognormal_0_0.50.92540.87650.8344+0.0490 (0.0016)beats+0.0910 (0.0020)beats
50beta_2_50.50500.40130.2147+0.1036 (0.0024)beats+0.2903 (0.0032)beats
100chi2_21.00001.00000.9999+0.0000 (0.0000)tie+0.0001 (0.0001)tie
100chi2_100.90680.80680.6747+0.1000 (0.0022)beats+0.2321 (0.0030)beats
100lognormal_0_0.50.99860.99320.9758+0.0054 (0.0005)beats+0.0228 (0.0011)beats
100beta_2_50.90090.75700.3235+0.1440 (0.0025)beats+0.5774 (0.0035)beats

Reading the table

  1. The advantage is general, not chi-square(5)-specific. SW beats both plain AD and plain S2 by more than two paired SE in 22 of the 24 comparisons, across strong skew (chi2(2)), mild skew (chi2(10)), log-normal and the bounded beta(2, 5).
  2. The gap over S2 grows with n on the mild-skew laws. SW minus S2 goes from +0.035 to +0.150 to +0.232 on chi2(10) and from +0.078 to +0.290 to +0.577 on beta(2, 5). S2's log compression of the AD terms damps exactly the moderate one-sided deviations that skew produces, so its skew power stalls while SW's climbs.
  3. The only non-beats cells are saturation ties. At chi2(2), n=100 all three tests reject on essentially every draw (SW 1.0000, AD 1.0000, S2 0.9999), so the gaps are 0.0000 and 0.0001 with paired SE 0.0000 and 0.0001. SW-AD is identical on all 20000 draws (SE undefined, reported as 0.0000); SW-S2 is +1.4 SE. These are ceiling effects, not evidence of parity in finite power.
  4. SW never loses. No cell at any n has SW below AD or S2 by more than two paired SE.

Answer to the direction (seed 94201)

SW does not win every skew cell at every n: it wins 22 of 24 and ties 2, both at chi-square(2), n=100, where SW minus AD is +0.0000 (0 paired SE, all draws reject under both) and SW minus S2 is +0.0001 (+1.4 paired SE) because every test is at the power ceiling; SW loses nowhere.

rev65-attempt58-iterations11ofx:stuff/cycle94-skew-general-seed94105.md

Cycle 94, stuff 3 (member-1): third-seed replication of SW vs plain AD vs plain S2 on skew, seed 94105

Same runner as stuff 1 (stuff/cycle94_skew_general.py) with only SEED = 94201 changed to SEED = 94105, run from a copy outside the repo with uv run --with numpy --with scipy python -I; the committed script is unchanged. 20000 paired draws per cell, one default_rng(94105) stream consumed in order n=25, 50, 100, laws normal, chi2(2), chi2(10), lognormal(0, 0.5), beta(2, 5). Definitions, exact-size calibration (empirical null quantile per statistic) and verdict rule (beats if gap > 2 paired SE, loses if gap < -2 paired SE, else tie) are unchanged. Wall clock 25 s. Tables are the script's output verbatim.

Seed and exact-size 5% critical values (rule 2): seed 94105, 20000 N(0,1) draws per n

nW 5% critW null rateA2 5% critA2 null rateS2 5% critS2 null rate
250.91920.05000.72600.050013.39510.0500
500.95340.05000.74150.050026.50910.0500
1000.97490.05000.74300.050052.70910.0500

All three null rates are exactly 0.0500 by construction. W and S2 critical values agree with seeds 94201 and 94303 to within 0.0007 and 0.007. The A2 critical value at n=100 is 0.7430 against 0.7605 for seed 94303, a 0.0175 shift: the A2 null upper tail is long, so its empirical 95th percentile is the least stable of the three. It does not change any power verdict below.

Power at exact 5% size (rule 1), 20000 paired draws per cell

nlawSWADS2SW-AD (SE)vs ADSW-S2 (SE)vs S2
25chi2_20.92330.87670.8363+0.0466 (0.0015)beats+0.0870 (0.0020)beats
25chi2_100.30230.25780.2682+0.0445 (0.0020)beats+0.0341 (0.0018)beats
25lognormal_0_0.50.63030.57220.5802+0.0581 (0.0020)beats+0.0501 (0.0019)beats
25beta_2_50.21820.18710.1422+0.0311 (0.0018)beats+0.0759 (0.0021)beats
50chi2_20.99930.99660.9802+0.0027 (0.0004)beats+0.0192 (0.0010)beats
50chi2_100.58140.48070.4415+0.1007 (0.0025)beats+0.1398 (0.0026)beats
50lognormal_0_0.50.91960.87010.8311+0.0495 (0.0017)beats+0.0886 (0.0020)beats
50beta_2_50.48690.39400.2139+0.0928 (0.0024)beats+0.2730 (0.0032)beats
100chi2_21.00001.00000.9997+0.0000 (0.0000)tie+0.0003 (0.0001)beats
100chi2_100.90700.80770.6696+0.0993 (0.0022)beats+0.2373 (0.0030)beats
100lognormal_0_0.50.99900.99450.9754+0.0044 (0.0005)beats+0.0236 (0.0011)beats
100beta_2_50.90610.76410.3191+0.1420 (0.0025)beats+0.5870 (0.0035)beats

Replication against seeds 94201 and 94303

  1. 23 of 24 verdicts match both earlier seeds. The one difference is SW minus S2 at chi2(2), n=100: here +0.0003 with paired SE 0.0001 (6 discordant draws out of 20000, SW rejecting where S2 does not, none the other way), which the rule calls "beats" at 3 SE; seeds 94201 and 94303 had +0.0001 (0.0001) and called it a tie. This is a saturation cell where SW rejects all 20000 draws and S2 rejects 19994, so the verdict flips on a handful of draws. It is not evidence of a real gap and should be read as a tie in substance.
  2. SW minus AD at chi2(2), n=100 is a tie again, as in both earlier seeds: both reject every draw, gap and SE are both zero.
  3. Largest power shift between this seed and either earlier seed is 0.0181 (SW, beta(2, 5), n=50: 0.4869 here against 0.5050 for seed 94201), about 3.9 SE of an independent-seed difference (sqrt(2) x 0.0033). Next largest is 0.0172 (AD, beta(2, 5), n=100, against seed 94303). Both are in beta(2, 5), the law with the lowest SW power at n=25, and neither moves a verdict: the smallest non-saturated SW gap in this seed is +0.0027 (0.0004) at chi2(2), n=50, 6.8 SE.
  4. SW never loses. No cell at any n has SW below AD or S2 by more than two paired SE; no cell has SW below either test by any amount.

Closing line (rule 2)

SW does not win every skew cell at every n: it beats AD and S2 in 23 of 24 cells and ties SW minus AD at chi-square(2), n=100 (paired difference +0.0000, 0.0 paired SE, both tests reject all 20000 draws); the SW minus S2 verdict at that same cell is a 3.0 SE "beats" on 6 discordant draws that the two earlier seeds scored as a tie, and SW loses nowhere. Across three seeds the answer to the direction is the same: SW's skew advantage is general, not specific to chi-square(5).

rev65-attempt58-iterations11ofx:stuff/cycle94-skew-general-seed94303.md

Cycle 94, stuff 2 (member-3): seed replication of SW vs plain AD vs plain S2 on skew, seed 94303

Same runner as stuff 1 (stuff/cycle94_skew_general.py) with only SEED = 94201 changed to SEED = 94303; 20000 paired draws per cell, one default_rng(94303) stream consumed in order n=25, 50, 100, laws normal, chi2(2), chi2(10), lognormal(0, 0.5), beta(2, 5). Definitions, exact-size calibration (empirical null quantile per statistic) and verdict rule (beats if gap > 2 paired SE, loses if gap < -2 paired SE, else tie) are unchanged. Wall clock 25 s. Tables are the script's output.

Seed and exact-size 5% critical values (rule 2): seed 94303, 20000 N(0,1) draws per n

nW 5% critW null rateA2 5% critA2 null rateS2 5% critS2 null rate
250.91990.05000.73010.050013.39400.0500
500.95390.05000.74140.050026.50280.0500
1000.97450.05000.76050.050052.71180.0500

All three null rates are exactly 0.0500 (MC SE 0.0015); critical values agree with seed 94201 to within 0.0005 (W), 0.010 (A2) and 0.005 (S2).

Power at exact 5% size (rule 1), 20000 paired draws per cell

nlawSWADS2SW-AD (SE)vs ADSW-S2 (SE)vs S2
25chi2_20.92530.87470.8354+0.0506 (0.0016)beats+0.0899 (0.0020)beats
25chi2_100.30910.25550.2715+0.0536 (0.0020)beats+0.0376 (0.0018)beats
25lognormal_0_0.50.63630.56970.5800+0.0666 (0.0020)beats+0.0563 (0.0019)beats
25beta_2_50.22250.18140.1451+0.0411 (0.0018)beats+0.0774 (0.0021)beats
50chi2_20.99900.99620.9828+0.0028 (0.0004)beats+0.0162 (0.0009)beats
50chi2_100.58550.47900.4479+0.1064 (0.0025)beats+0.1376 (0.0026)beats
50lognormal_0_0.50.92240.87030.8387+0.0520 (0.0017)beats+0.0836 (0.0020)beats
50beta_2_50.50230.39760.2190+0.1048 (0.0025)beats+0.2833 (0.0032)beats
100chi2_21.00001.00000.9999+0.0000 (0.0000)tie+0.0001 (0.0001)tie
100chi2_100.89930.79820.6629+0.1011 (0.0022)beats+0.2364 (0.0030)beats
100lognormal_0_0.50.99890.99400.9776+0.0048 (0.0005)beats+0.0213 (0.0010)beats
100beta_2_50.89570.74690.3203+0.1488 (0.0025)beats+0.5754 (0.0035)beats

Replication against seed 94201

Every one of the 24 verdicts matches stuff 1. Largest power shift between seeds is 0.0118 (S2, chi2(10), n=100), about 2.5 SE of an independent-seed difference (sqrt(2) x 0.0033); the smallest SW gap that is a "beats" in either seed is SW minus AD at chi2(2), n=50 (+0.0028 here, +0.0030 there, about 7 paired SE both times). The paired SE of zero at chi2(2), n=100 for SW minus AD is because all 20000 draws reject under both tests.

Answer to the direction (seed 94303)

SW does not win every skew cell at every n: it wins 22 of 24 and ties 2, both at chi-square(2), n=100, where SW minus AD is +0.0000 (0 paired SE; the difference is identically zero, all draws reject) and SW minus S2 is +0.0001 (+1.4 paired SE) at the power ceiling; SW loses nowhere, same as seed 94201.