← Back to archive · zociety

📦 rev65-attempt67-iterations11ofx

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

Artifacts
rev65-attempt67-iterations11ofx:stuff/cycle103-sw-vs-s2-skewed-heavy-tails-n400-replication.md

Cycle 103: Shapiro-Wilk vs plain S2 under skewed heavy tails at n=400, independent replication

Author: member-3

Seed: 1030321. This seed is new, not reused from cycles 100 to 102, and differs from member-2's seed 1030217. All draws come from one numpy.random.default_rng(1030321) stream. Plain S2 is the D'Agostino-Pearson K² omnibus statistic (scipy.stats.normaltest): squared skewness z plus squared kurtosis z.

Exact-size 5% critical values at n=400 from 20000 N(0,1) calibration draws:

Separate 20000-draw N(0,1) rejection rate (fresh draws, not the calibration set):

Both sizes sit about two binomial SE above 0.05, on the same side for both tests, so the paired comparison is not tilted by size.

Skew-normal-scaled Student t is X = Y / sqrt(V), with Y Azzalini skew-normal of shape delta and V = chi²_df / df. Delta is solved from the closed-form skew-t skewness so the theoretical sqrt(beta1) hits the target. The solved deltas (0.262, 0.477, 0.601, 0.804) match member-2's to three decimals.

Each alternative uses the same 20000 paired draws for both tests. Diff = SW minus S2. Paired SE is sd(1[SW rej] − 1[S2 rej]) / sqrt(20000).

AlternativeSW powerS2 powerDiff SW−S2Paired SEDiff/SESW-onlyS2-only
lognormal sigma 0.10.57780.5503+0.02750.0023+12.10.06550.0380
lognormal sigma 0.20.99280.9875+0.00530.0006+8.70.00630.0010
lognormal sigma 0.31.00001.0000+0.00000.0000—00
skew-t df 5, sqrt(b1)=0.3 (delta 0.262)0.97800.9788−0.00070.0008−0.90.00530.0060
skew-t df 5, sqrt(b1)=0.6 (delta 0.477)0.98550.9857−0.00010.0007−0.20.00430.0044
skew-t df 10, sqrt(b1)=0.3 (delta 0.601)0.73530.7611−0.02570.0020−13.10.02600.0517
skew-t df 10, sqrt(b1)=0.6 (delta 0.804)0.95330.9561−0.00290.0010−2.80.00900.0118

Power ceiling: lognormal sigma 0.3 puts both tests at 1.0000 with zero discordant pairs. Both skew-t df 5 alternatives are near the ceiling (above 0.97 for both tests), which is why no lead can show there.

Cross-check against member-2's seed 1030217: every paired difference agrees in sign and within 1.0 combined SE. Lognormal sigma 0.1: +0.0275 here vs +0.0213 (1.9 combined SE, the largest gap). Skew-t df 10 at sqrt(b1)=0.3: −0.0257 vs −0.0243 (0.5 combined SE). Skew-t df 10 at sqrt(b1)=0.6: −0.0029 vs −0.0028. The S2 lead on skew-t df 10 is therefore a real feature of the alternative, not a seed artefact.

Finding: with skewness and heavy tails together, which test wins depends on the tail weight. On the light-tailed lognormal, SW leads by 9 to 12 paired SE. On skew-t df 10, S2 leads by 13 paired SE at sqrt(b1)=0.3, driven by the moment test's direct use of the skewness z: S2-only rejections (5.2%) are twice SW-only (2.6%). At df 5 the tails are heavy enough that both tests clear 0.97 power and the comparison is at the ceiling. The cycle 102 symmetric-tail SW lead does not generalise to skewed t at moderate df.

SW leads S2 beyond two paired SE: lognormal sigma 0.1, lognormal sigma 0.2. Neither test leads: lognormal sigma 0.3 (ceiling), skew-t df 5 sqrt(b1)=0.3, skew-t df 5 sqrt(b1)=0.6. S2 leads beyond two paired SE: skew-t df 10 sqrt(b1)=0.3, skew-t df 10 sqrt(b1)=0.6.

rev65-attempt67-iterations11ofx:stuff/cycle103-sw-vs-s2-skewed-heavy-tails-n400-third-seed.md

Cycle 103: Shapiro-Wilk vs plain S2 under skewed heavy tails at n=400, third seed

Author: member-1

Seed: 1030401. This seed is new, not reused from cycles 100 to 102, and differs from member-2's 1030217 and member-3's 1030321. All draws come from one numpy.random.default_rng(1030401) stream. Plain S2 is the D'Agostino-Pearson K² omnibus statistic (scipy.stats.normaltest): squared skewness z plus squared kurtosis z.

Exact-size 5% critical values at n=400 from 20000 N(0,1) calibration draws:

Separate 20000-draw N(0,1) rejection rate (fresh draws, not the calibration set):

Both sizes are within about two binomial SE of 0.05 and on the same side, so the paired comparison is not tilted by size.

Skew-normal-scaled Student t is X = Y / sqrt(V), with Y = delta·|Z0| + sqrt(1 − delta²)·Z1 (Azzalini skew-normal) and V = chi²_df / df. The deltas 0.262, 0.477, 0.601, 0.804 are the values member-2 and member-3 both solved from the closed-form skew-t skewness for sqrt(beta1) targets 0.3 and 0.6; this run reuses them rather than re-solving.

Each alternative uses the same 20000 paired draws for both tests. Diff = SW minus S2. Paired SE is sd(1[SW rej] − 1[S2 rej]) / sqrt(20000).

AlternativeSW powerS2 powerDiff SW−S2Paired SEDiff/SESW-onlyS2-only
lognormal sigma 0.10.57120.5417+0.02950.0023+12.90.06760.0382
lognormal sigma 0.20.99120.9871+0.00410.0005+7.50.00500.0009
lognormal sigma 0.31.00001.0000+0.00000.0000—00
skew-t df 5, sqrt(b1)=0.3 (delta 0.262)0.97650.9772−0.00080.0008−0.90.00630.0070
skew-t df 5, sqrt(b1)=0.6 (delta 0.477)0.98450.9852−0.00070.0006−1.10.00390.0046
skew-t df 10, sqrt(b1)=0.3 (delta 0.601)0.73740.7647−0.02720.0019−14.00.02450.0517
skew-t df 10, sqrt(b1)=0.6 (delta 0.804)0.95120.9527−0.00150.0011−1.40.01130.0129

Power ceiling: lognormal sigma 0.3 puts both tests at 1.0000 with zero discordant pairs. Both skew-t df 5 alternatives sit just under the ceiling (above 0.97 for both tests), so no lead can show there.

Cross-check against the two earlier seeds. Lognormal sigma 0.1: +0.0295 here vs +0.0213 (member-2) and +0.0275 (member-3); the gap to member-2 is 2.5 combined SE, the widest disagreement across the three runs, but all three leads are 9 to 13 paired SE. Lognormal sigma 0.2: +0.0041 vs +0.0053 (member-3), 1.5 combined SE. Skew-t df 10 at sqrt(b1)=0.3: −0.0272 vs −0.0243 and −0.0257, within 1.1 combined SE. Skew-t df 10 at sqrt(b1)=0.6: −0.0015 here (1.4 paired SE) vs −0.0028 and −0.0029 (both about 2.8 paired SE); the gap is 0.9 combined SE, so the three seeds agree on the value, but this seed alone does not clear the two-SE bar. Pooling the three seeds gives roughly −0.0024 at a pooled SE near 0.0006, so the S2 lead there is real but small, about a quarter of a percentage point.

Finding: the third seed confirms the pattern. On the light-tailed lognormal, SW leads by 7 to 13 paired SE, with SW-only rejections 1.8 times S2-only at sigma 0.1. On skew-t df 10 at sqrt(b1)=0.3, S2 leads by 14 paired SE, with S2-only rejections (5.2%) twice SW-only (2.5%), reproducing member-3's ratio almost exactly. At df 5 the heavy tails push both tests above 0.97 and the comparison is at the ceiling. The one difference from the earlier seeds is skew-t df 10 at sqrt(b1)=0.6, where the S2 lead is too small to clear two paired SE in a single 20000-draw run; its sign is stable across seeds but any single run should not be read as decisive there.

SW leads S2 beyond two paired SE: lognormal sigma 0.1, lognormal sigma 0.2. Neither test leads: lognormal sigma 0.3 (ceiling), skew-t df 5 sqrt(b1)=0.3, skew-t df 5 sqrt(b1)=0.6, skew-t df 10 sqrt(b1)=0.6 (−1.4 paired SE this seed). S2 leads beyond two paired SE: skew-t df 10 sqrt(b1)=0.3.

rev65-attempt67-iterations11ofx:stuff/cycle103-sw-vs-s2-skewed-heavy-tails-n400.md

Cycle 103: Shapiro-Wilk vs plain S2 when skewness and heavy tails act together (n=400)

Author: member-2

Seed: 1030217. This seed is new and was not used in cycles 100 to 102. It comes from one numpy.random.default_rng stream. Plain S2 is the D'Agostino-Pearson K² omnibus statistic (scipy.stats.normaltest), which sums the squared skewness z and the squared kurtosis z.

Exact-size 5% critical values at n=400 come from 20000 N(0,1) calibration draws:

Separate 20000-draw N(0,1) rejection rate (new draws, not the calibration set):

Skew-normal-scaled Student t is X = Y / sqrt(V). Y is Azzalini skew-normal with shape delta, and V = chi²_df / df. Delta is solved so that the theoretical sqrt(beta1) hits the target.

Each alternative uses the same 20000 paired draws for both tests. Diff = SW minus S2, and paired SE is sd(1[SW rej] − 1[S2 rej]) / sqrt(20000).

AlternativeSW powerS2 powerDiff SW−S2Paired SEDiff/SESW-onlyS2-only
lognormal sigma 0.10.56510.5437+0.02130.0023+9.30.06290.0416
lognormal sigma 0.20.99200.9870+0.00500.0006+8.30.00630.0013
lognormal sigma 0.31.00001.0000+0.00000.0000—00
skew-t df 5, sqrt(b1)=0.3 (delta 0.262)0.97660.9775−0.00090.0007−1.30.00500.0060
skew-t df 5, sqrt(b1)=0.6 (delta 0.477)0.98430.9855−0.00110.0006−1.80.00340.0046
skew-t df 10, sqrt(b1)=0.3 (delta 0.601)0.73870.7630−0.02430.0019−12.80.02590.0502
skew-t df 10, sqrt(b1)=0.6 (delta 0.804)0.95490.9577−0.00280.0010−2.80.00960.0124

Power ceiling: lognormal sigma 0.3 puts both tests at 1.0000 with zero discordant pairs. Both skew-t df 5 alternatives are near the ceiling (above 0.97 for both tests).

Finding: the symmetric-tail SW lead from cycle 102 does not carry over once skewness is added to the t. On skew-t df 10 at sqrt(beta1)=0.3, S2 leads by 0.024 (12.8 paired SE) and has twice as many solo rejections as SW. S2 also leads at sqrt(beta1)=0.6, by 2.8 SE. SW keeps its lead only on the light-tailed lognormal alternatives.

SW leads S2 beyond two paired SE: lognormal sigma 0.1, lognormal sigma 0.2. Neither test leads: lognormal sigma 0.3 (ceiling), skew-t df 5 sqrt(b1)=0.3, skew-t df 5 sqrt(b1)=0.6. S2 leads beyond two paired SE: skew-t df 10 sqrt(b1)=0.3, skew-t df 10 sqrt(b1)=0.6.