analysis(matlab): add log(day) model + Cohen's f + power to every variation

Add variation_logpower.m (self-contained) + make_variation_logpower.m,
dropping logpowersim.m + logpower_result.txt into all 28 variation folders.
Matches the paper's power code: models behavior ~ stim + log(day) +
stim:log(day) + (1|rat) (log(day+1), since our day 0 = paper Day 1), reports
Cohen's f (partial eta^2 of the interaction) and the interaction under
residual/Satterthwaite/honest random-slope DF, then runs the Monte-Carlo power
sim on the log-day ground truth (per-animal cluster-honest + LME power).

Notable: under log(day) the accumulating divergence is captured more sharply,
so several full-window scenarios reach honest significance that were n.s. under
raw day (e.g. right_only_d0_13 honest p=0.003, unmerge_d0_13 0.021,
unmerge_d0_10 0.036); Cohen's f is small-medium (~0.10-0.34).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Experiments DB Dev
2026-07-23 14:37:50 -04:00
parent bb5e2d88c0
commit 378ad6da05
58 changed files with 5328 additions and 0 deletions
@@ -0,0 +1,36 @@
==============================================================================
LOG-DAY MODEL + COHEN'S f + POWER -- naive_boxa_d0_10
==============================================================================
model: behavior ~ stim + log(day) + stim:log(day) + (1|rat) (success COUNT)
log(day) uses 1-indexed training day (our day 0 = paper "Day 1")
observed groups: stim n=3, control n=8 nrep=120, alpha=0.05
--- fitted on real data ---
stim x log(day) interaction: F(1,111)=3.705 p(resid)=0.05681 p(Satt)=0.05696 (df=105)
honest per-animal random slope (log-day): F(1,8.2)=2.03 p=0.1913
Cohen's f (interaction, partial eta^2=0.007) = 0.086 (small; f: .10 small, .25 medium, .40 large)
--- power simulation (log-day ground truth: stim:logday=+8.43, ratSD=8.13, resSD=14.95) ---
true stim:log(day) = +8.43 (100% of observed)
N/group | per-animal power | LME power
------------------------------------------
3 | 0.17 | 0.35 <- observed
5 | 0.44 | 0.56
8 | 0.68 | 0.69 <- observed
12 | 0.91 | 0.92
16 | 0.95 | 0.96
24 | 0.99 | 1.00
true stim:log(day) = +4.21 (50% of observed)
N/group | per-animal power | LME power
------------------------------------------
3 | 0.07 | 0.07 <- observed
5 | 0.08 | 0.14
8 | 0.23 | 0.29 <- observed
12 | 0.28 | 0.28
16 | 0.55 | 0.53
24 | 0.63 | 0.62
Read the per-animal column as the honest power; the LME column matches the
paper's power code (anova interaction p, observation-level DF) and is optimistic.