anova_test
Compare group means across categories with an automated ANOVA workflow: checks variance homogeneity, applies Welch correction when needed, and runs post-hoc tests.
Instructions
anova_test —— 统计推断组 · 方差分析(工具 7,核心实现)。
docstring = agent 使用说明书,与 statlab_mcp/docs/design/04_inference_batch2.md 同步维护。
参数: file_path (str): 本地数据文件(csv/tsv/xlsx/json) group_col (str): 分组列(类别或数值均可,按唯一值分组;2~20 组) value_col (str): 数值列(检验对象) alpha (float, 0.05): 显著性水平 ∈ (0,1)
流程(确定性): 1. 前置:Levene 方差齐性(scipy.stats.levene,稳健中位数版)+ 各组 Shapiro (3<=n<=5000 时执行,违反警示不阻断) 2. 方差齐 -> scipy.stats.f_oneway;方差不齐(Levene p<alpha)-> Welch ANOVA (statsmodels.stats.oneway.anova_oneway(use_var="unequal"),避免手写公式出错) 3. 事后:齐 -> Tukey HSD(statsmodels pairwise_tukeyhsd,含 p 值与族校正); 不齐 -> Games-Howell(手写:libqsturng.qsturng 学生化极差临界值, se=sqrt(si2/ni+sj2/nj),显著判定 = |diff| > q*se/sqrt(2); p 值省略并以"CI 是否含 0"判定,输出注明——statsmodels 无现成实现,诚实披露)
示例: anova_test("samples/clean.csv", group_col="category", value_col="score") inline 数据: 本工具支持可选 inline_data 参数(v1.2.0 起):与 file_path 二选一, 支持 records 数组或 {"header": [...], "rows": [[...], ...]} 对象两种形态; 规模上限/类型域/data_source 来源标注见 statlab_mcp/docs/SPEC.md 第 12 节。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| alpha | No | ||
| file_path | No | ||
| group_col | No | ||
| value_col | No | ||
| inline_data | No |