单位 8 / 11

数据分析和统计验证

收益:

  • 能够选择适合数据类型和分布的检验并检查假设(正态性、方差)
  • 能够理解 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:尝试不同的测试,有选择地丢弃异常值,添加/删除组,报告大量变量中“显着”的内容。这是虚假发现的主要来源。保护方式:

  1. 提前确定分析计划(第 7 单元)。
  2. 报告所有测试,而不仅仅是那些显示出重要性的测试。
  3. 修复多重比较(FDR/Bonferroni)。
  4. 在 p 值旁边给出效应大小和置信区间。
  5. 单独的发现和验证:在独立的集合上测试您在发现集中找到的内容。

一步一步:诚实的分析

  1. 可视化数据(散点、异常值)。
  2. 检查假设。
  3. 执行您预定的测试。
  4. 修复多重比较。
  5. 报告效应大小+置信区间。
  6. 清楚地写出限制。

可复制的提示模板

可视化吞吐量:绘制每组的直方图和箱线图,标记异常值。然后解释正态性。数据列:[名称]。给出带有注释的 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。