feat(matlab): phased days x tDCS LME + Monte-Carlo power analysis

Adds tdcs_phase_lme (same LME refit within learning phases 0-5/6-10/6-13, with
per-phase slopes + interaction 95% CI) as phase_* switch cases, and
tdcs_power_sim (Monte-Carlo power for the early-phase interaction, scored by the
cluster-honest per-animal test and the LME test) + run_power. Findings: the
Box-B2 faster-acquisition signal is in the early phase; at n=3-5/group honest
power is 0.3-0.7 even at the observed effect (need ~8/group if effect is as
observed, ~20/group if half). Adds tPhasePower tests. Suite 35/35.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Experiments DB Dev
2026-07-20 11:06:51 -04:00
parent 89bb95088f
commit e730aa0020
7 changed files with 263 additions and 3 deletions
+13 -2
View File
@@ -97,12 +97,23 @@ switch scenario
L = tdcs_lme(tdcs_scenario_data('mergeB2_d0_13'), cfg);
tdcs_lme_report(L, 'lme_mergeB2_d0_13', cfg);
% --- Phased days x tDCS LME (fast/slow learning phases), Box-B2 vs Box-A2 ---
case 'phase_unmerged'
tdcs_phase_lme('unmerged', cfg);
case 'phase_mergeA2'
tdcs_phase_lme('mergeA2', cfg);
case 'phase_mergeB2'
tdcs_phase_lme('mergeB2', cfg);
otherwise
error('tdcs_glm:badScenario', ...
['Unrecognized scenario "%s". Valid scenarios are: ' ...
'unmerged_full, unmerged_d0_10, mergeA2_full, mergeA2_d0_10, ' ...
'mergeB2_full, mergeB2_d0_10, and their lme_* variants ' ...
'(lme_unmerged_full, ..., lme_mergeB2_d0_10).'], scenario);
'mergeB2_full, mergeB2_d0_10, their lme_* variants ' ...
'(lme_unmerged_full, ..., lme_mergeB2_d0_13), and the phased LMEs ' ...
'phase_unmerged, phase_mergeA2, phase_mergeB2.'], scenario);
end
end