ARTICLE
精确检验
精确检验 (Exact Test) 精确检验 (Exact Test) 是一类在统计推断中无需依赖大样本渐近近似、能够精确控制第 1类错误 (第I类错误) 概率的假设检验方法。与经典的渐近检验(如卡方检验、似然比检验)不同,精确检验基于检验统计量的确切抽样分布(而非极限分布)来计算 p值 (p-value),因而在小样本或稀疏数据情形下尤为可靠。精确检验的核
精确检验 (Exact Test)
精确检验 (Exact Test) 是一类在统计推断中无需依赖大样本渐近近似、能够精确控制第\rom{1}类错误 (第I类错误) 概率的假设检验方法。与经典的渐近检验(如卡方检验、似然比检验)不同,精确检验基于检验统计量的确切抽样分布(而非极限分布)来计算p值 (p-value),因而在小样本或稀疏数据情形下尤为可靠。精确检验的核心思想可追溯至Ronald Fisher 在 1930 年代提出的Fisher精确检验 (Fisher's Exact Test),此后被推广至多种非参数和参数设定中。
基本思想与定义
精确检验的核心特征在于其推断过程不依赖于任何渐近近似。与之相对的是渐近检验(如卡方检验、似然比检验),后者在大样本下近似有效,但在样本量有限时可能产生误导性的结论。
设有一个假设检验问题:
其中 为未知参数。令 为检验统计量,其精确(而非渐近)抽样分布在 下完全已知。对于一个观测到的统计量值 ,精确p值定义为:
或相应地采用双侧定义。若 (给定的显著性水平),则拒绝 。
精确检验的关键优势在于:无论样本量 多大,检验的真实显著性水平永远不会超过名义水平 (对于非随机化检验而言,有 )。这正是"精确"二字的含义——并非指估计量的精度,而是指错误概率被精确控制。
Fisher 精确检验:原型
最著名的精确检验是Fisher精确检验,用于分析 列联表 (Contingency Table) 中的两个分类变量是否独立。设列联表为:
在行合计与列合计均固定的条件下,Fisher 证明单元格 中的计数 服从超几何分布 (Hypergeometric Distribution):
精确p值通过将所有比观测结果更极端(即更不利于 )的表格的概率求和得到。这一方法由 Fisher 在《统计方法与科学推断》一书中以著名的"女士品茶" (Lady Tasting Tea) 实验为例进行了阐述。
常见类型的精确检验
除 Fisher 精确检验外,常见的精确检验还包括:
- 精确二项检验 (Exact Binomial Test):用于检验单样本比例 是否等于某特定值 ,检验统计量服从二项分布 。当 或 时,渐近正态近似失效,精确二项检验成为首选。
- 精确 Poisson 检验:用于检验泊松分布的均值参数。常用于流行病学中的标准化发病率比 (SIR) 的推断。
- 符号检验 (Sign Test):一种非参数精确检验,用于配对样本中位数的比较,以二项分布为精确抽样分布。
- Wilcoxon 符号秩检验 (Wilcoxon Signed-Rank Test) 与 Mann-Whitney U 检验:在无结 (no ties) 的情况下,这些秩检验的p值可以通过精确排列分布计算,而非依赖正态近似。
- 排列检验 (Permutation Test) 或随机化检验 (Randomization Test):通过对数据进行所有可能的排列或重新抽样来构建精确p值,是最一般的非参数精确检验框架。当样本量较小且总体分布未知时,排列检验提供了最可靠的推断。
精确检验与渐近检验的比较
精确检验与渐近检验各有优劣:
精确检验的优势:在小样本(如 )、稀疏列联表(如存在期望频数小于 5 的单元格)、或数据高度不平衡的情形下,渐近检验的近似可能产生严重偏差。精确检验在此类场景中提供可信的推断。此外,精确检验不需要关于总体分布形状的强假设(排列检验即为一例)。
精确检验的局限:(1) 计算负担:对于稍大规模的数据,精确检验所需的组合枚举可能呈指数增长。例如, 列联表的 Fisher 精确检验可能需要计算数十亿种可能的表格排列。现代方法借助蒙特卡洛方法 (Monte Carlo Method) 或网络算法 (Network Algorithm) 进行近似,但已不再是严格意义上的"精确"检验。(2) 保守性:由于检验统计量是离散的,精确检验的实际显著性水平通常严格小于名义水平 ,导致检验功效 (Power) 低于连续渐近检验。这一现象在二项检验中尤为明显。(3) 难以扩展到复杂模型:对于含有协变量 (Covariates) 的回归模型,精确检验的实现远不如似然比检验或Wald检验那样直接。
现代发展与应用
随着计算能力的提升,精确检验在现代统计学中的应用日益广泛。Bootstrap 方法提供了另一种非精确但可渐近精确的替代方案。在生物信息学中,基因表达数据的差异分析常借助 Fisher 精确检验或精确负二项检验(如 edgeR 和 DESeq2 包中的方法)。Barnard 检验 (Barnard's Test) 作为 Fisher 精确检验的替代,不固定两个边际合计,在某些设定下具有更高的检验功效。此外,条件精确检验 (Conditional Exact Test) 将充分统计量作为条件以消除冗余参数 (Nuisance Parameters),在指数族分布中得到了系统性的理论发展。
在软件实现方面,主流统计软件均提供了精确检验的功能。R语言中的 exttt{fisher.test()}、 exttt{binom.test()}、 exttt{poisson.test()} 等函数可直接执行精确检验; exttt{exactRankTests} 和 exttt{coin} 包则提供了更为广泛的精确秩检验和排列检验工具。SAS 的 exttt{FREQ} 过程也支持 Fisher 精确检验和精确McNemar检验。Python 的 exttt{scipy.stats} 模块同样包含 exttt{fisher\_exact} 和 exttt{binom\_test} 等函数。
精确检验体现了统计学中"精确"与"可行"之间的经典张力。尽管渐近方法在多数应用场景中占据主导地位,但精确检验作为小样本推断的金标准,始终在统计方法论中占有不可替代的位置。对于任何重视推断可靠性的研究者而言,理解精确检验的原理与适用条件都是一项基本素养。