用途:为双臂比较(A/B 测试、简单随机对照试验、行为研究、双模型或双配置评估)确定样本量并完成预注册。产物是研究的统计计划,反馈信号由两部分组成:统计功效(对计划检验做蒙特卡洛模拟估算)与有效性缺陷计数。每轮迭代模拟功效、求解达到目标功效的样本量、审计设计缺陷并修订,直到功效达标且缺陷清单为空。
主要能力:循环执行三件事——(1) 通过模拟计算两组比较的功效与所需样本量;(2) 对设计运行固定有效性检查清单;(3) 撰写预注册。内置功效模型 tools/power_sim.py 仅覆盖两样本均值(连续结局)与两比例(二值结局)检验。
使用方式:交互式解析绑定项。若工作目录存在 loop.run.yaml 则加载并确认后进入循环;否则推断或询问各绑定值,写入 loop.run.yaml 并确认后再创建其他文件。绑定项包括假设、结局(连续:baseline_mean、sd、min_effect;二值:baseline_rate、min_lift)、目标功效(默认 0.80)、显著性水平(默认 0.05)、power_cmd、design_doc、sandbox_root、budget(默认 8)。运行 python3 <skill_dir>/tools/power_sim.py --design <two-sample-mean|two-proportion> --effect <e> [--sd <sd> | --baseline <p0>] --alpha <alpha> --n <n_per_group> 获取功效,输出单个 JSON 对象,不得手工估算。循环步骤:迭代 0 起草设计;模拟功效;若低于目标则增大 n(先步进后二分)求解;按清单审计缺陷;修订最高优先级缺陷并更新设计文档与预注册章节;追加 ledger 行。功效达标且无缺陷或达到预算时停止。ledger 为 <sandbox_root>/ledger.tsv,制表符分隔,表头为 iter、n_per_group、power、open_flaws、change。
适用场景:仅适用于主结局为连续均值或二值率的单个双臂比较。默认按用户陈述的最小关注效应计算功效;若不确定,应基于基线与最小有意义差异设定,而非乐观猜测。
限制:不是通用实验设计器,不处理析因、重复测量、聚类/多层、时间序列、自适应或生存设计;不依据领域知识选择结局或操纵;不分析已收集数据。若研究不是简单双臂比较,应停止并改用适配设计的方法。模拟中的 --design 必须与设计文档所述检验一致,不得编辑 tools/power_sim.py。设计不能仅凭功效通过,功效达标但有混杂或未随机化仍算失败。须在收集数据前预注册。一个主结局与一个计划检验驱动功效与结论,次要分析标注为探索性。sandbox 自包含,不得使用 ../ 逃逸。