The stuff this cycle made, archived 2026-10-21 and rendered from
git show rev65-attempt62-iterations11ofx:stuff/โฆ.
cycle98-sw-vs-s2-n200-seed20261021.mdcycle98-sw-vs-s2-n200-seed20261031.mdcycle98-sw-vs-s2-n200-seed20261201.md
Seed: 20261021 (new seed, independent of member-2's 20261201 run). Script: stuff/cycle98-sw-vs-s2-n200-seed20261021.py 20261021 (pure Python, same estimator as member-2's file: Royston SW coefficients, S2 = m3^2 / m2^3).
Exact-size 5% critical values at n=200, calibrated on a 20000-draw N(0,1) run:
Separate 20000-draw N(0,1) size check at n=200 (paired, fresh draws after calibration):
| test | rejection rate | binomial SE |
|---|---|---|
| SW | 0.0505 | 0.0015 |
| S2 | 0.0486 | 0.0015 |
SW minus S2 under the null: +0.0019, paired SE 0.0015 (1.3 SE). Both tests sit at 5%.
Power at n=200, 20000 paired draws per shape, gamma(shape, 1):
| shape | sqrt(beta1) = 2/sqrt(shape) | SW power (SE) | S2 power (SE) | SW - S2 | paired SE | z |
|---|---|---|---|---|---|---|
| 2 | 1.414 | 1.0000 (0.0000) | 1.0000 (0.0000) | +0.0000 | 0.0000 | 0.0 |
| 5 | 0.894 | 0.9976 (0.0003) | 0.9958 (0.0005) | +0.0018 | 0.0004 | +4.3 |
| 10 | 0.632 | 0.9072 (0.0021) | 0.9186 (0.0019) | -0.0115 | 0.0016 | -7.1 |
| 20 | 0.447 | 0.6186 (0.0034) | 0.6727 (0.0033) | -0.0541 | 0.0025 | -22.0 |
| 50 | 0.283 | 0.2867 (0.0032) | 0.3454 (0.0034) | -0.0587 | 0.0024 | -24.0 |
Margin against sqrt(beta1): the SW advantage is nil at sqrt(beta1) = 1.41 (both saturated), small but positive at 0.89, and negative from 0.63 down, with the S2 margin widening as skew weakens (-1.2 points at 0.63, -5.4 at 0.45, -5.9 at 0.28). This agrees with the cycle 97 learning that S2 beats SW for mild skew at n=200 and extends it: the crossover sits at moderate skew, not at the edge of saturation.
Crossover: SW minus S2 changes sign beyond two paired SE between gamma(5) (sqrt(beta1) 0.894, margin +0.0018, +4.3 SE) and gamma(10) (sqrt(beta1) 0.632, margin -0.0115, -7.1 SE).
Seed: 20261031 (third independent seed; member-2 used 20261201, member-3 used 20261021). Script: stuff/cycle98-sw-vs-s2-n200-seed20261031.py 20261031 (pure Python, same estimator as the other two files: Royston SW coefficients, S2 = m3^2 / m2^3). Runtime about 19 s.
Exact-size 5% critical values at n=200, calibrated on a 20000-draw N(0,1) run:
Separate 20000-draw N(0,1) size check at n=200 (paired, fresh draws after calibration):
| test | rejection rate | binomial SE |
|---|---|---|
| SW | 0.0481 | 0.0015 |
| S2 | 0.0483 | 0.0015 |
SW minus S2 under the null: -0.0003, paired SE 0.0015 (-0.2 SE). Both tests sit at 5%.
Power at n=200, 20000 paired draws per shape, gamma(shape, 1):
| shape | sqrt(beta1) = 2/sqrt(shape) | SW power (SE) | S2 power (SE) | SW - S2 | paired SE | z |
|---|---|---|---|---|---|---|
| 2 | 1.414 | 1.0000 (0.0000) | 1.0000 (0.0000) | +0.0000 | 0.0000 | 0.0 |
| 5 | 0.894 | 0.9978 (0.0003) | 0.9956 (0.0005) | +0.0022 | 0.0004 | +5.0 |
| 10 | 0.632 | 0.9093 (0.0020) | 0.9251 (0.0019) | -0.0158 | 0.0017 | -9.5 |
| 20 | 0.447 | 0.6146 (0.0034) | 0.6789 (0.0033) | -0.0644 | 0.0025 | -26.0 |
| 50 | 0.283 | 0.2846 (0.0032) | 0.3497 (0.0034) | -0.0651 | 0.0025 | -26.1 |
Margin against sqrt(beta1): nil at 1.41 (both tests saturated), a small positive SW edge at 0.89 (+0.2 points, 5 SE), then negative from 0.63 down with the S2 margin widening as skew weakens (-1.6 points at 0.63, -6.4 at 0.45, -6.5 at 0.28). The margin is flat between gamma(20) and gamma(50), so the S2 advantage has plateaued by sqrt(beta1) = 0.45 at this n.
Cross-seed check: all three seeds (20261201, 20261021, 20261031) put the sign change in the same bracket, with the gamma(5) edge for SW between +4 and +5 SE and the gamma(10) edge for S2 between -7 and -10 SE. The crossover is not a seed artefact.
Flip: SW minus S2 changes sign beyond two paired SE between gamma(5) (sqrt(beta1) = 0.894, margin +0.0022, +5.0 SE) and gamma(10) (sqrt(beta1) = 0.632, margin -0.0158, -9.5 SE).
Seed 20261201. Exact-size 5% critical values come from 20000 N(0,1) draws at n=200: Shapiro-Wilk rejects when W < 0.98639, and plain S2 (b1 = m3^2/m2^3) rejects when b1 > 0.11179. W uses Royston's approximation of the coefficients. Script: stuff/cycle98-sw-vs-s2-n200-seed20261201.py (pure Python, python3 -I ... 20261201).
| test | rejection rate | binomial SE |
|---|---|---|
| Shapiro-Wilk | 0.0525 | 0.0016 |
| plain S2 | 0.0522 | 0.0016 |
Paired SW โ S2 = +0.0003 (paired SE 0.0015). Both tests sit at 5% within two SE.
| shape | sqrt(beta1) | SW power | S2 power | SW โ S2 | paired SE | z |
|---|---|---|---|---|---|---|
| 2 | 1.414 | 1.0000 | 1.0000 | +0.0000 | 0.0000 | tie |
| 5 | 0.894 | 0.9985 | 0.9957 | +0.0029 | 0.0004 | +6.8 |
| 10 | 0.632 | 0.9074 | 0.9193 | โ0.0119 | 0.0016 | โ7.3 |
| 20 | 0.447 | 0.6225 | 0.6861 | โ0.0636 | 0.0025 | โ25.1 |
| 50 | 0.283 | 0.2924 | 0.3496 | โ0.0571 | 0.0025 | โ23.3 |
At gamma(2) both tests reject every draw, so there is no margin there. SW leads at gamma(5), and S2 leads from gamma(10) onward. This fits cycle 97, where S2 led at every shape from 50 up.
Flip: SW โ S2 changes sign beyond two paired SE between gamma(5) (sqrt(beta1) 0.894, margin +0.0029, +6.8 SE) and gamma(10) (sqrt(beta1) 0.632, margin โ0.0119, โ7.3 SE).