单因素方差分析判断三个或更多独立组在连续结果上是否存在均值差异。Lattice 会自动检验方差齐性、选合适的事后检验,所有数字事后可审计、可复现。
何时该用单因素方差分析
当你手头有三个或更多独立组,加上一个连续型响应,典型问题就是「这几组的平均水平是否存在差异」 — 例如比较三家供应商的产率、四个落地页的转化、三种用药方案的 HbA1c 降幅。这个检验不告诉你具体哪两组不同,它回答的是「是否存在任何差异」这个先决问题。
只有两组时请用双样本 t 检验;响应为序级或严重非正态时请用 Kruskal-Wallis 这个非参数替代方案。
Lattice 实际算什么
确定性引擎背后调用 scipy 的 f_oneway,同时算出效应量(η²)、置信区间与组内均方残差。在跑 ANOVA 之前,Lattice 先用 Levene 检验方差齐性 — 一旦拒绝,引擎自动切换到 Welch 修正版,并在结果中显式标注切换。
输出对象包括:statistic(F 统计量)、p_value、df_between、df_within、eta_squared、levene_p、welch_used,以及含每组样本量、均值与标准差的 groups 子表。每个数字都带 trace_id,几个月后回放仍能得到完全一致的结果。
1 · Intent → method
An LLM picks svt_run_anova from a fixed catalog.
2 · Method → numbers
Deterministic Python engine runs the math. Same input → same output.
3 · Numbers → plain language
A second LLM translates the result into your domain’s vocabulary.
提问的几种说法
无需点名「方差分析」三个字 — Lattice planner 会从下面这类自然提问中自动挑出 svt_run_anova:
- 「对比这三批反应釜的产率有没有差异。」
- 「四个落地页的转化率是否不同?」
- 「不同治疗组的 HbA1c 降幅有差吗?」
只要你的问题暗含追问 — 比如「然后哪一组最好?」 — planner 会顺手把 Tukey 事后检验串进调用链。
怎么读结果
p 值很小(通常低于 0.05)意味着数据有证据表明至少有一组的均值与其他不同。η²(eta-squared)告诉你分组解释了总方差的多少;按 Cohen 经验值,0.01 算小、0.06 中、0.14 大。Lattice 的人话摘要会同时说明两者,并提示进一步做事后检验,帮你看清具体哪两组分得开。
Lattice 帮你避开的常见错误
最常见的错误是把含重复测量(同一个体出现在每个组)的数据当作独立组跑 ANOVA — 这会显著膨胀。Lattice 看到形似 subject id 的列时会先确认。第二个常见错误是把临界不显著(比如 p = 0.07)当作「没有差异」来解释 — Lattice 的解释器会说明「没有证据表明有差异」与「有证据表明没有差异」的区别。
如果各组方差不齐怎么办?
Lattice 在跑方差分析前会先做 Levene 检验。若方差差异显著,引擎会自动切到 Welch 修正版方差分析,并在结果里明确标注切换。
方差分析显著之后如何找出具体哪两组有差异?
搭配 svt_posthoc_tukey 做全配对比较,或 svt_posthoc_dunnett(若有一组是对照组)。当 ANOVA 显著时,Lattice 会自动提示链式调用。
各组样本量差异较大时还能信吗?
方差齐时 ANOVA 对样本量不平衡比较稳健;但若样本量与方差都不齐,Welch 修正版(Lattice 会自动 fallback)更稳。
Tool 输入字段
Schema for svt_run_anova not exported yet (run pnpm export:registry).