一、本讲信息
- 课程 :MSBS7102 / SBMS7202 Foundations in Biomedical Data Science(生物医学数据科学基础)
- 讲次 :Lecture 1 — Hypothesis Testing(假设检验)
- 日期 :2026 年 9 月 4 日;地点 LT2
- 主讲 :Prof. Yuanhua Huang(黄渊華);邮箱 yuanhua@hku.hk;主页 https://statbiomed.github.io
- 教材 :课程自编在线书 BMDS-book(https://statbiomed.github.io/BMDS-book/ ,含 R Markdown notebook);可选参考 An Introduction to Statistical Learning(第 2 版,免费 PDF)
- 本次 session 还包含课程介绍与合作方 BGI(华大)的模块介绍,见文末「课堂要点补充」。
二、学习目标
依据课件第 3 页:
- 通过实例理解 Fisher 精确检验(Fisher's exact test)。
- 理解假设检验的基本框架:随机误差(random chance)、显著性水平(significance level)与 p 值(p value)。
- 了解常见检验方法:重采样方法(resampling method,即置换检验 permutation test)与解析方法(analytical testing methods,即 t 检验与广义线性模型 generalized linear model)。
- 理解多重检验(multiple testing)与错误类型(types of errors)。
三、核心内容
3.1 引例:女士品茶实验与组合数
课件用 Fisher 的经典实验引入:8 杯茶中 4 杯先加奶(milk first)、4 杯先倒茶(tea first),受试者逐一判断,结果 8 杯全部正确。问题:若她完全没有分辨能力、纯靠随机猜测,出现这一结果的概率有多大?
从 8 杯中选 4 杯的组合数(combination):
choose(8, 4) = 8×7×6×5 / (4×3×2×1) = 70
"全部猜对"只对应 1 种组合,因此被随机性"愚弄"的概率为 1/70 ≈ 0.014(R 中用
choose(8,4) 计算)。3.2 Fisher 精确检验:列联表与超几何分布
将结果整理为 2×2 列联表(contingency table,结构类似于混淆矩阵 confusion matrix):
ㅤ | 预测 tea first | 预测 milk first | 合计 |
真实 tea first | a = 4 | b = 0 | a+b = 4 |
真实 milk first | c = 0 | d = 4 | c+d = 4 |
合计 | a+c = 4 | b+d = 4 | n = 8 |
- 原假设(null hypothesis, H0) :预测的"先倒茶"与真实的"先倒茶"相互独立(即毫无分辨能力,结果纯由随机产生)。
- 备择假设(alternative hypothesis, H1) :在真实"先倒茶"的那组杯子里,被预测为"先倒茶"的概率更高(单侧方向性假设)。
检验三要素 (课件第 5 页):
- 检验统计量(test statistic):选格子 a(三个边际合计 a+b、c+d、a+c 固定后,四个格子只有一个数自由);
- 无效分布(null distribution):H0 下 a 服从超几何分布(hypergeometric distribution),即
dhyper(x, m=a+b, n=c+d, k=a+c);
- p 值:
1 - phyper(3, 4, 4, 4) = 0.0142;等价地fisher.test(matrix(c(4,0,0,4), nrow=2), alternative='greater')得 p = 0.01429。
一般情形 (课件第 6 页,例:利手 handedness 与性别 sex 是否相关,均为二值变量):H0 下
P(a) = C(a+b, a) · C(c+d, c) / C(n, a+c)
分母为从 n 人中选 a+c 人的组合数(例中从 100 人选 87),分子为固定 a=43 时两格组合数之积。概率可精确 计算、无需近似,故名"精确检验"。
超几何分布与二项分布(binomial distribution)的关系 (课件第 7 页):二项分布对应成功率固定的独立重复试验(如抛硬币数正面);超几何分布对应无放回抽样,成功率不固定,分布更窄、二项近似尾部略长。课件用黑/红点(
dhyper(x, m=52, n=48, k=87))与灰点(dbinom(x, n=52, p=87/100))叠加对比。极端事件定义为偏离 H0 期望的取值(例中期望约 45,观察值 43 落在 39–43 区间,对称侧为 48–52),p 值为全部极端事件的累积概率。3.3 假设检验的框架
目的 (课件第 8 页):判断观察到的数据是否可能仅由随机误差(random chance)产生。注意:随机误差的分布不一定是均匀或正态分布 ,有时相当复杂。
两个假设 (课件第 9 页):
- H0(null hypothesis):"随机误差是原因",通常不含额外信息;
- H1(alternative hypothesis):H0 的对立面,即研究者想证明的假设。
示例(A/B test:药物 A 能否缩短新冠康复时间):H0: μ_A = μ_B;H1: μ_A ≠ μ_B。
核心思想 :我们通常不知道"正确的"情况长什么样,只知道"错误的"(H0)下统计量的分布;若两者都知道,可直接做分类(classification)。
三个步骤 (课件第 10 页):
- 定义合适的检验统计量(如两组均值差、中位数差),把高维数据压缩为一个标量;
- 在 H0 下获得该统计量的分布,即无效分布(null distribution;用重采样或解析式得到)——课件指出这是最难的一步;
- 在无效分布上计算"观察到该统计量或更极端取值"的概率,即 p 值。
p 值定义 (课件第 11 页):在假定 H0 为真的条件下,获得与实际观察同样极端或更极端的检验结果的概率。p 值很小 → 提示 H0 可能不成立;p 值较大 → 证据不足以拒绝 H0。直观理解:若 H0 为真,当前数据有多"出乎意料"。
单侧与双侧检验 (课件第 16 页):
- 双侧检验(two-tailed):H1: μ ≠ 0,两端都算极端,p = P(|X| ≥ |x_obs|);
- 单侧检验(one-tailed):H1: μ < 0 或 μ > 0,只有预先指定的一端算极端,p = P(X ≤ x_obs) 或 P(X ≥ x_obs)。
显著性水平 (significance level, α,课件第 17 页):预先设定的"不寻常程度"阈值,生物学中常用 α = 0.05。当 p < α 时拒绝 H0。由 p 值定义可知,α 也是"H0 为真时错误拒绝 H0"的概率上限;α 越小,检验越保守。示例:p = 0.004 < 0.05,拒绝 H0。
完整流程 (课件第 18 页):① 提出研究问题 → ② 设立 H0 与 H1 → ③ 选择合适的统计检验(含检验统计量及其无效分布)→ ④ 选择显著性水平 α → ⑤ 计算检验统计量 → ⑥ 计算 p 值 → ⑦ p < α 则拒绝 H0,否则视为证据不足。
3.4 重采样方法:置换检验(Permutation Test)
示例 (课件第 13 页):比较重度吸烟母亲(A 组,n=15)与不吸烟母亲(B 组,n=13)所生婴儿的出生体重(kg)。H0: μ = μ_A − μ_B = 0;H1: μ ≠ 0。观察到的统计量 x̄_A − x̄_B = −0.52,基于重采样近似的无效分布得 p = 0.004(双侧)。
做法 (课件第 14 页):
- 合并(pooling)A、B 两组样本;
- 随机打乱(permute / shuffle)合并后的数据,再按原始两组的大小(15 与 13)重新分成两组;
- 计算一次统计量(默认为组均值差)并记录;
- 重复 K 次(如 1000 次),所得统计量的经验分布即为无效分布的近似。
默认统计量是组均值差,也可以换成中位数差、分位数差等任意感兴趣的统计量——即使该统计量没有解析形式,置换检验依然适用。
重采样 vs 解析方法 (课件第 20 页):置换检验一类重采样方法"通用性强"(one-size-fits-all),随计算能力提升越来越流行;解析方法(公式法)建立在一定模型假设上,当假设没有被严重违反时,计算快且准确。
3.5 解析方法:t 检验与(广义)线性回归
t 分布(Student's t distribution) (课件第 21 页,本版课件新增页):由 William Sealy Gosset 提出,用于样本量小、总体标准差未知时估计正态总体均值。自由度(degree of freedom, df)≥ 30 时接近正态分布;n > 30 时对总体正态性假设也可放宽。
独立样本 t 检验 (课件第 22–24 页,仍用出生体重数据):
- 检验统计量为两组均值差 x̄_A − x̄_B = −0.52,标准化形式 t = (x̄_A − x̄_B) / σ;
- 合并标准差(pooled standard deviation):
s_p = √[ ((n_A−1)s_A² + (n_B−1)s_B²) / (n_A+n_B−2) ] 其中 s_A、s_B 为两组标准差的无偏估计;
- 均值差的标准误(standard error):σ = s_p · √(1/n_A + 1/n_B);
- 无效分布为 t 分布(均值 0,标准化后标准误 1),自由度 df = n_A + n_B − 2(本例 26)。
- 结果:t 分布近似下 p = 0.0038,与置换检验的 0.004 基本一致,两种途径互相印证。
与线性回归的联系 (课件第 25–26 页):吸烟对出生体重的影响也可写成线性回归(linear regression)模型 y = β₀ + β₁ × Is_smoking。H0: β₁ = 0;H1: β₁ ≠ 0。检验统计量为 β₁ 的估计值,无效分布同为 t 分布(大样本时近似正态),本质是 Wald 检验,与 t 检验等价。扩展到连续与多变量情形(例:报纸与 YouTube 广告投入是否影响汽车销量,y = β₀ + β₁×Newspaper + β₂×YouTube),课件示例 β₁ = 0.0547 ± 0.0166,t = 0.0547/0.0166 ≈ 3.3,即"估计值 ÷ 标准误"。
3.6 多重检验与错误类型
示例 (课件第 28 页):30 名新冠患者,一半用药 A、一半不用药,检测 10,000 个基因的表达是否变化——即同时做 10,000 次假设检验。
H0 为真时 p 值的分布 (课件第 29 页):无论检验统计量的无效分布是什么,p 值都服从 0 到 1 上的均匀分布(uniform distribution),即 P(p < k) = k(如 P(p < 0.05) = 0.05,P(p < 0.2) = 0.2)。
多重检验问题 (课件第 30 页):做 10 次独立检验,"至少一个 p < 0.05"的概率约为 40%——检验次数越多,越容易纯粹因随机性得到"显著"结果。常用校正:Benjamini–Hochberg 校正,即控制错误发现率(False Discovery Rate, FDR):给定 FDR 水平 α,找最大的 k 使得第 k 小的 p 值 P₍k₎ ≤ (k/m)·α(m 为检验总数)。课件同时提醒:校正没有完美方法,实际中要么增大样本量,要么减少检验数目。
两类错误 (课件第 31 页):
- 第一类错误(Type I error / false positive,假阳性):基因本身无差异,却被判为有差异(错误拒绝了 H0);
- 第二类错误(Type II error / false negative,假阴性):基因真实有差异,却被漏掉(未能拒绝 H0)。
第一类错误通常更受关注,因为研究者更担心被随机性欺骗。
评估指标 (课件第 32 页):
- 真阳性率(True Positive Rate, TPR;又称 power 统计功效、sensitivity 灵敏度、recall):TPR = TP / (TP + FN);
- 真阴性率(True Negative Rate, TNR;specificity 特异度):TNR = TN / (TN + FP);
- 精确率(Precision;阳性预测值,等于 1 − FDR):Precision = TP / (TP + FP)。
3.7 小结(课件第 33 页)
假设检验回答的问题是:观察到的统计量(数据)是否可能仅由随机误差产生。要点:无效分布(重采样或解析近似);p 值(H0 下同等或更极端的概率);检验方法(Fisher 精确检验、置换检验、t 检验与广义线性模型的 Wald 检验);评估(多重检验下 p 值分布、两类错误、power 及其与样本量/效应量/显著性水平的关系)。课后作业 :阅读并逐行练习 notebook https://statbiomed.github.io/BMDS-book/introHypoTest.html 。
四、关键图解

课件第 5 页:女士品茶实验的 2×2 列联表。四个格子中选定 a 作为检验统计量,H0 下 a 服从超几何分布,由此精确算出 p = 1/70 ≈ 0.0143;右侧给出等价的 R 内置函数
fisher.test 调用方式。
课件第 7 页:利手—性别示例。黑点/红点为超几何分布(无放回抽样),灰点为二项分布近似(成功率固定);远离 H0 期望(约 45)的 39–43 及对称的 48–52 区域定义为极端事件,p 值为全部极端事件的累积概率。

课件第 13 页:重度吸烟组(n=15)与不吸烟组(n=13)出生体重均值差的重采样无效分布直方图。观察值 −0.52 落在分布尾部(图中标注 extreme 的两侧区域),双侧 p = 0.004。

课件第 16 页:双侧检验把无效分布两端都视为极端(p = P(|X| ≥ |x_obs|)),单侧检验只取预先指定的一端(p = P(X ≤ x_obs) 或 P(X ≥ x_obs))。

课件第 21 页(本版新增):蓝线为正态分布,红线为 t 分布;自由度越大 t 分布越接近正态,df ≥ 30 时两者已很接近。t 分布用于小样本、总体标准差未知时的均值推断。

课件第 26 页:广告投入与销量示例。回归系数 β₁ = 0.0547 ± 0.0166,t 统计量 = 估计值/标准误 ≈ 3.3,说明对回归系数的检验与 t 检验在框架上完全一致。

课件第 29 页:p 值的累积分布函数。H0 为真时 P(p < k) = k,即 p 值在 0–1 上均匀分布——这是多重检验校正的基础。
五、课前思考 / 自测
1.(课件第 28 页原题)若治疗对 10,000 个基因中任何一个都确实没有影响,这 10,000 次检验中最低的 p 值最可能是多少:1、0.5、0.1 还是 0.0001?
2.(课件第 28 页原题)H0 为真时,p 值服从什么分布?a) 与检验统计量相同的分布;b) 恒为 1;c) 0 到 1 之间的均匀分布。
3. 女士品茶实验中 p = 1/70 ≈ 0.014。若取 α = 0.05,应否拒绝 H0?该检验(
alternative='greater')是单侧还是双侧,为什么这样设定?
4. 出生体重示例中,双侧 p = 0.004。如果有充分的事前理由认为吸烟只会降低出生体重,改用单侧检验后 p 值如何变化?"双侧 p = 2 × 单侧 p"在什么条件下成立?
5. 课堂 Mentimeter 调查得到利手与性别的 2×2 表(a = 43 等)。请写出用 fisher.test 做双侧检验的 R 代码,并说明与 dhyper 手工计算 p 值的对应关系。六、参考材料
- 主课件 :
Materials/SBMS7202 Lecture 1 (Dr Huang)-Sep04-v2add_p21.pdf(33 页;v2 为最新版本,新增第 21 页 t 分布内容。同目录...-Sep04.pdf为旧版,已被替代,未单独整理)
- 课程在线书与 notebook :Biomedical Data Science(BMDS-book)https://statbiomed.github.io/BMDS-book/ ;本讲作业 notebook:https://statbiomed.github.io/BMDS-book/introHypoTest.html
- 可选教材 :James, Witten, Hastie & Tibshirani, An Introduction to Statistical Learning(2nd ed.),https://www.statlearning.com ;假设检验部分见第 13.1–13.2 节,线性回归(11/9 讲)第 3 章,逻辑回归(18/9 讲)第 4 章
- 课件页脚给出的延伸链接:Wikipedia 的 Fisher's exact test、Student's t-distribution、Student's t-test 词条,以及 https://openintro-ims.netlify.app/inference-two-means
七、课堂要点补充(来源:课堂录音转写)
1. 本讲实际进度 :课堂讲到置换检验与显著性水平为止;解析方法(t 检验、线性回归)与多重检验部分移至下一次课(下周五,9 月 11 日)继续。正课前播放了女士品茶实验的短视频。
2. 教师强调的概念要点 :
- 组合数 70 的来历:第 1 杯有 8 种选择、第 2 杯 7 种……共 8×7×6×5 种有序选法,因不关心顺序再除以 4!。老师提醒:即使全班约 90 人都没有分辨能力、纯随机去选,也很可能至少有一人 4 杯全对——这正是"被随机性愚弄"的含义。
- 超几何分布可类比为"无放回抽样"版本的三项分布:二项分布成功率固定,超几何分布因样本有限、成功率不固定,分布更窄、二项近似尾部略长。
- 随机误差的分布不一定是均匀或正态分布,很多场景下分布相当复杂,"假设均匀/正态"往往只是数学上的便利。
- 假设检验的核心逻辑是"我们不知道'对的'是什么样,只知道'错的'(H0)什么样";若两者的分布都知道,就可以改做分类(老师举图像分类中"图中是否有狗"为例:有标注正样本后可训练分类器,此前只能做假设检验)。
- 显著性水平 α 必须在开展实验之前 预设;阈值定得越小,要检出同样大小的差异所需的样本量越大(与统计功效的关系将在实验设计部分展开)。
- 双侧 p 值等于单侧的 2 倍,仅在无效分布两侧对称时成立。
- 对 2×2 表:固定三个边际合计后四个格子只剩一个自由度,这是 a 服从超几何分布的原因。
- 老师提到 Fisher 精确检验计算的本质就是组合数计算;置换检验用 R 实现约需 20 行代码,鼓励课后自己写一遍。
3. 课程安排 (黄老师课程介绍):课程信息统一在 Moodle 发布(课表、文件、测验、作业,必要时切换 Zoom)。课程分三个模块:统计学习(Dr Huang)、R 编程(Dr Reed)、基因组学(Dr Li,BGI)。考核含 2 次作业(Assignment 1 为 R 编程,Assignment 2 为统计学习前几讲内容)、期末考试及每次课的线上 quiz/签到(占比以 Moodle 为准)。日程:9 月 25 日(中秋)当晚改自学模式(预录视频、无直播);12 月初有 4 小时复习课;11 月 13 日、20 日场地可能调整。
4. 先修自学资源 (课前自选):两个约 15 分钟的 YouTube 视频(细胞、DNA、RNA);Molecular Biology of the Cell 在线版;31 分钟微积分视频;线性代数基础;Khan Academy 统计与概率(重点理解样本不确定性与估计)。
5. AI 使用政策 :作业允许用 AI 但不建议直接用——先自己写、再 review AI 代码才能建立 code review 能力;quiz 完全禁止 AI 。老师建议"learn the hard way",通过亲手练习积累判断力。
6. Virtual Cell Challenge :本院系主办的公开竞赛(第 2 届),8 月 20 日起开放注册、10 月 22 日发布最终测试数据,可 1–8 人组队。线性模型在该任务上表现稳健(去年第三名即用线性模型,有论文显示深度学习尚未超越线性模型),鼓励参加。
7. BGI 与基因组学模块介绍 (Dr. Li):本课程为 HKU 与 BGI(华大)合办。BGI 由四位在美留学的科学家为参与人类基因组计划(1990–2003)而自费创立,贡献了约 1% 的测序量。架构含 BGI Research、BGI College(本项目的合作学院)、深圳的中国国家基因库、以疾病预防为定位的医院、GigaScience 期刊及上市公司 BGI Genomics(临床基因检测)与 MGI(测序仪硬件)等;下设 5 个研究所,校区分布深圳、北京、杭州、香港、曼谷等地,学生可选实习。
8. Dr. Li 模块内容预览 :三代测序技术的历史与原理,各有适用场景、互不替代——Sanger(一代)仍是临床鉴定突变的金标准;二代 NGS 读长较短,适合无细胞 DNA(cell-free DNA)与古 DNA 等短片段;三代长读长与 NGS 结合信息量更大。应用将介绍:参考基因组公共资源(1000 Genomes、T2T、图结构 pan-genome)、全基因组关联研究(genetic association study)、cfDNA 无创产前检测与癌症早筛、单细胞与基因调控、多组学(转录组、蛋白质组、肠道宏基因组)与"数字孪生",以及 Human Genome Project 2 的组织与跨文化伦理。
Loading...
