analysis(matlab): per-variation subfolders (grouping x window) for the paper LME

Add make_variations.m + variation_analyze.m generating 20 self-contained
subfolders under analysis/matlab/variations/, one per grouping x day-window,
each with exactly three files: data.csv (curated subset), analyze.m (a simple
standalone script fitting behavior ~ stim + day + stim:day + (1|rat) on the
success COUNT), and result.txt (its output). Plus variations/SUMMARY.csv.

Groupings (stim=1 / stim=0, other groups dropped):
  unmerge     B2 vs A2
  right_only  B2+Right vs A2            (Box-A dropped)
  naive_a2    B2 vs A2+Naive           (Right, Box-A dropped)
  naive_boxa  B2 vs A2+Naive+Box-A     (Right dropped)
Windows: 0-10, 0-13, 0-5, 6-10, 6-13. All 20 have equal day coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Experiments DB Dev
2026-07-20 20:49:54 -04:00
parent 963fd889b2
commit 969c0205e8
63 changed files with 4343 additions and 0 deletions
@@ -0,0 +1,65 @@
==============================================================================
VARIATION: naive_boxa_d6_10
==============================================================================
model: behavior ~ stim + day + stim:day + (1|rat) (behavior = success COUNT)
day = training day within window (0 = first analyzed day)
treatment (stim=1): Electrode-Box-B2
control (stim=0): Electrode-Box-A, Electrode-Box-A2, Naive
N = 10 rats, 50 sessions raw day coverage: treat 6..10, control 6..10
(equal day coverage over this window)
==============================================================================
FULL MODEL SUMMARY -- fitlme
==============================================================================
Linear mixed-effects model fit by ML
Model information:
Number of observations 50
Fixed effects coefficients 4
Random effects coefficients 10
Covariance parameters 2
Formula:
behavior ~ 1 + day*stim + (1 | rat)
Model fit statistics:
AIC BIC LogLikelihood Deviance
405.22 416.69 -196.61 393.22
Fixed effects coefficients (95% CIs):
Name Estimate SE tStat DF pValue
{'(Intercept)'} 64.543 5.1823 12.454 46 2.4341e-16
{'day' } 5.7857 1.2123 4.7727 46 1.8769e-05
{'stim' } 23.99 9.4616 2.5356 46 0.014689
{'day:stim' } -1.619 2.2133 -0.73152 46 0.46817
Lower Upper
54.111 74.974
3.3456 8.2259
4.9452 43.036
-6.0741 2.836
Random effects covariance parameters (95% CIs):
Group: rat (10 Levels)
Name1 Name2 Type Estimate
{'(Intercept)'} {'(Intercept)'} {'std'} 11.237
Lower Upper
6.7417 18.73
Group: Error
Name Estimate Lower Upper
{'Res Std'} 10.142 8.1466 12.627
effect t (df) F (df1) p
------------------------------------------------------------------
stim x day (interaction) t(46)= -0.73 F(1)= 0.535 p=0.4682
day (learning) t(46)= 4.77 F(1)= 22.779 p=1.877e-05
stim (main, window start) t(46)= 2.54 F(1)= 6.429 p=0.01469
interaction 95% CI: [-6.07, +2.84]
INTERPRETATION: stim x day interaction n.s. -- slopes parallel (no differential learning rate) (p=0.4682, slope diff=-1.62)
Paper (N=24): interaction t(227)=2.68, F(1)=7.12, p=0.008.