power_analysis
Determine required sample size to detect an effect, or compute statistical power and detectable effect from a given sample size for t-tests and proportion comparisons.
Instructions
power_analysis —— 统计推断组 · 功效分析/样本量计算(工具 27,v1.1.0 新增)。
回答两类问题:「要检出效应量,需要多少样本」与「给定样本量能检出多大效应 / 实际功效多少」。 纯封闭公式计算(statsmodels.stats.power 精确非中心 t / 正态近似),零 LLM、确定性输出。
docstring = agent 使用说明书,与 statlab_mcp/docs/design/10_power_analysis.md 同步维护。
参数: scenario (str): one_sample_t(单样本/配对 t,n=总样本)/ two_sample_t(独立两样本 t,n=每组样本量)/ two_proportions(两独立比例,n=每组样本量) effect_size (float|None): Cohen's d(仅 t 系场景);与 n 至少提供一个;必须 >0 的有限数 n (int|None): 样本量;与 effect_size 至少提供一个;必须是 >=2 的整数 p1 (float|None), p2 (float|None): 两个总体比例 ∈(0,1),仅 two_proportions 场景且须成对; 工具内部换算 Cohen's h = 2·arcsin√p₁ − 2·arcsin√p₂ 并随 result/summary 报告 alpha (float, 0.05): 显著性水平 ∈(0,1) power_target (float, 0.80): 目标功效(求 n 时使用)∈(0,1) alternative (str, "two_sided"): two_sided / less / greater
模式决策表(任务书钉死): 只给效应侧 → mode="solve_n"(求 n_required_exact 与 n_recommended=向上取整) 只给 n → mode="detect_effect"(可检出标准化效应) 都给 → mode="verify"(返回实际 power 验算结果) 都不给 → E1001 中文报错
返回: 成功 {"status":"ok","result":{...},"summary":"..."}; result 含 scenario/n_each/n_total 及各模式专属字段;两比例场景另报 cohens_h。 局限声明(固定附在 summary 末尾):功效计算依赖效应量假设,实际效应量未知时结论仅供参考。
示例: power_analysis("two_sample_t", effect_size=0.5) # 经典配置 → 64/组 power_analysis("one_sample_t", n=34) # 反查可检出的 d power_analysis("two_proportions", p1=0.50, p2=0.80, n=100) # verify 实际功效
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| p1 | No | ||
| p2 | No | ||
| alpha | No | ||
| scenario | Yes | ||
| alternative | No | two_sided | |
| effect_size | No | ||
| power_target | No |