收益:
- 能够选择适合数据类型和分布的检验并检查假设(正态性、方差)
- 能够理解 p 值的真正含义并报告具有效应大小和置信区间的结果
- 通过发现-验证分离、多重比较校正和完整报告来防止 p-hacking
实验结束了,数据进来了。现在我们正处于最关键、最容易出错的阶段:正确分析数据,诚实解释结果。生物数据通常是嘈杂的、不稳定的和多变量的。不正确的测试选择、隐含的假设违反和无意识的 p-hacking(尝试分析直到得到所需的结果)是已发表的生物学文献中再现性危机的主要原因。 AI帮助您选择正确的测试、检查假设并编写分析代码;但统计完整性是您的责任。
在本单元中,我们将介绍常见的统计测试、假设检查以及保护自己免受 p-hacking 的方法。
选择正确的测试
测试的选择取决于数据的类型和分布。人工智能会帮助你做出这个选择,但你不应该盲目应用它:
- 两组,连续数据,正态分布:独立 t 检验。
- 两组,非正态:Mann-Whitney U(非参数:不需要分布假设)。
- 两组以上:ANOVA(方差分析)+事后检验。
- 分类数据(计数):卡方或 Fisher 精确检验。
- 关系:相关(Pearson/Spearman)或回归。
提示:在选择测试之前可视化数据。直方图或箱线图立即显示 t 检验所需的正态性和异常值。 “先画图,后测试”是一个好习惯。
检查假设
每个测试都有隐藏的假设。 t 检验假设正态分布和方差齐性;如果违反这些规定,结果将会产生误导。人工智能编写代码来检查这些假设:
角色:你是一名生物统计助理。任务:编写代码,在比较两组数据之前检查 t 检验的假设:正态性 (Shapiro-Wilk)、方差齐性 (Levene)。如果违反了假设,请告诉我应该继续进行哪种替代测试。给出带有注释的 Python 代码。
如果常态被打破,代码会将您重定向到曼惠特尼。这种“先检查,后决定”的流程可以防止您执行错误的测试。
p-hacking 以及如何保护自己
p-hacking 正在以不同的方式分析数据,直到 p<0.05:尝试不同的测试,有选择地丢弃异常值,添加/删除组,报告大量变量中“显着”的内容。这是虚假发现的主要来源。保护方式:
- 提前确定分析计划(第 7 单元)。
- 报告所有测试,而不仅仅是那些显示出重要性的测试。
- 修复多重比较(FDR/Bonferroni)。
- 在 p 值旁边给出效应大小和置信区间。
- 单独的发现和验证:在独立的集合上测试您在发现集中找到的内容。
一步一步:诚实的分析
- 可视化数据(散点、异常值)。
- 检查假设。
- 执行您预定的测试。
- 修复多重比较。
- 报告效应大小+置信区间。
- 清楚地写出限制。
可复制的提示模板
可视化吞吐量:绘制每组的直方图和箱线图,标记异常值。然后解释正态性。数据列:[名称]。给出带有注释的 Python 代码。
我想比较我的两组。数据特征:[类型、N、分布]。哪种检验合适?检查假设,执行测试,报告效应大小和 95% 置信区间以及 p 值。
我在分析中测试了 15 个不同的基因。给出应用 Bonferroni 和 Benjamini-Hochberg 校正的代码,并解释两种方法之间的差异。
弱提示/强提示
弱:“这两组不同吗,做一下 t 检验。”
Strong:“我有两组(对照组 n=18,治疗组 n=20),因变量是酶活性(连续)。首先可视化分布并用 Shapiro-Wilk 检验正态性。如果正常,则应用 t 检验,如果不正常,则应用 Mann-Whitney。用 p 值、效应大小(Cohen's d 或秩双列)和 95% 置信区间报告结果。解释您选择的检验以及原因。”
区别:强大的提示有数据类型、样本数量、假设检验和完整的报告要求。该模型遵循正确的路径,而不是盲目应用 t 检验。
三个迷你箱子
案例 1 — 错误的检验:一名学生对显着偏斜(非正态)数据应用 t 检验,发现 p=0.048。当人工智能添加正态性检验时,得出的数据并不正常;对于曼惠特尼,p=0.11。实际结果毫无意义。教训:不检查假设的测试是有误导性的。
案例 2 — 选择性异常值丢弃:研究人员删除了两个“异常值”点以使结果有意义。该模型强调异常值丢弃应基于预定义的规则(例如 IQR 方法)并报告;任意删除就是p-hacking。教训:事先设置异常值规则。
案例 3 — 效应量恢复:一项研究的 p=0.001,但效应量 (d=0.1) 几乎为零;大样本显示,不显着的差异是显着的。当人工智能报告效应大小时,发现这一发现没有实际价值。教训:仅仅因为 p 小并不重要。
对比图
状态
正确的方法
应避免
异常数据
非参数检验
强制t检验
多重测试
应用修正
粗品 p<0.05
异常值
预定义规则
任意删除
显着结果
效应量+CI
只是p
发现发现
在独立集上验证
最终以一组结束
常见错误
- 假设不受控制的测试:错误测试的虚假意义。
- p-hacking:尝试分析,直到给出所需的结果。
- 仅报告 p 值:忽略效应大小和置信区间。
- 不纠正多重比较:误报。
- 因果跳跃:从相关性推断因果关系。
注意:人工智能不会“产生”你想要的结果,但如果被误导,它会很乐意为错误的测试编写代码。您具有统计完整性:报告所有试验,提前计划分析,不错过效果大小。与生物统计学家合作进行分析并发表。
p 值的实际含义
生物学中最容易被误解的概念是 p 值。 p 值不是“假设成立的概率”;它是“在现实中没有差异的情况下,看到与观察到的差异一样大或更极端的差异的概率”。这种微妙但关键的区别是不夸大结果的关键。 p=0.03 并不意味着“效果是 97% 真实”。当让人工智能解释结果时,检查它是否正确使用了这个定义;该模型有时会重复常见的误解。
置信区间 (CI) 通常比 p 值提供更多信息,因为它同时显示了效应的大小和不确定性。 “差异 2.4 倍(95% CI:1.8-3.1)”比“p<0.05”更能说明问题:效应的方向、效应的大小以及测量的精确度。在报告中突出显示 GA。
解释我的结果时使用 p 值的正确定义。避免错误的陈述,例如“效果为真的概率”。相反,请根据效应大小和 95% 置信区间解释实际意义。结果:[数据]
相关性、因果关系和观察数据
大多数生物数据都是观察性的:你看到某些事物与其他事物发生变化,但你看不到是什么导致了什么。 “基因X的表达与疾病相关”这句话并不表明X导致疾病;该疾病可能会增加 X,或者第三个因素可能会影响两者。因果关系只能通过介入实验(改变X并测量结果)来建立。人工智能可能会不知不觉地在您的文本中使用因果语言(“原因”、“导致”);从这个角度回顾每个结论句子,用相关语言表达观察结果(“相关”、“一起变化”)。
分离配对数据和独立数据
测试选择中最常被忽视的区别是样本是独立的还是配对的。如果您在同一个人之前和之后进行测量(例如,同一患者在治疗之前和之后的血液值),这些测量结果不是独立的;需要进行配对测试。这里使用独立的双样本t检验会丢弃数据中的匹配信息并降低功效;甚至有可能扭转结果。规则很简单:“这两个测量值是否来自同一个生物单位?”如果答案是肯定的,则使用配对检验(配对 t 检验或 Wilcoxon 符号秩检验),如果答案是否定的,则使用独立检验。当你要求人工智能进行测试时,一定要指定你的数据的匹配结构;如果您不指定,模型通常会假定独立性并推荐错误的测试。
我有两组测量值。重要提示:这些测量是在同一个人(配对)之前/之后进行的。选择考虑到这种匹配的正确检验(配对 t 检验或 Wilcoxon),检查您的假设并报告效果大小。不要假设独立。
总之
准确的数据分析;为数据类型选择适当的检验,检查假设,纠正多重比较,并报告除 p 值之外的效应大小和置信区间。最大的危险是 p-hacking;解决办法是预先分析计划、完整报告以及发现与验证分离。人工智能是测试选择和假设检查的有力辅助,但统计完整性取决于人类。
应用任务
获取包含两组的数据集(您自己的数据或样本)。首先让人工智能编写代码来可视化数据并测试正态性。根据结果,应用适当的检验(t 检验或 Mann-Whitney)并报告效应大小和置信区间以及 p 值。然后比较未校正和校正后的多重比较对结果的影响。
清单
- [ ] 我在测试之前将数据可视化。
- [ ] 我检查了测试假设(正态性、方差)。
- [ ]我选择了合适的检验,我没有盲目应用t检验。
- [ ] 我修复了多重比较。
- 我报告了 [ ] p 值以及效应大小和置信区间。
- [ ] 我提前制定了分析计划,避免了 p-hacking。