假设检验与双侧单侧选择 - SpiralKernel/bioinfo-wiki-migrated GitHub Wiki
假设检验与双侧单侧选择
更新:2026-10-26;状态:可用;验证范围:2026-10-26核对原始与官方资料;本页Python微型计算已执行;人工数据不代表专业软件或真实研究性能。
假设检验用数据判断某个具体零假设是否与观测相容。它不是“算出P<0.05就有生物学差异”的按钮。读完应能写出H0/H1、说明P值对应哪种随机机制,并在看数据之前决定单侧还是双侧。
前置为数据类型总体样本与抽样、抽样分布中心极限定理与标准误。先确定独立单位:同一个体的多个细胞通常不等于同样数量独立个体。
一个完整检验需要五个要素
研究问题、零假设H0、备择H1、统计量T、H0及其他条件下的参考分布。若问题是两组均值差,H0可写μB−μA=0;若研究分布整体是否相同,它就不是相同的H0。统计量越极端是什么意思,也由预先设定的方向决定。
P值是在H0和参考模型成立时,得到当前或更极端统计量的概率。它不是P(H0|数据)、不是效应大小,也不是重复实验必得显著的概率。ASA关于P值的声明强调应结合设计、模型、效应和完整报告理解检验。
显著性水平α规定H0成立时拒绝规则的一类错误概率或上界;二类错误β依赖特定备择效应与样本量,功效为1−β。小P可能来自极小但精确的效应,大P可能来自信息不足,不能替代区间与单位。
用10次抛硬币完整算一遍
假设10次独立投掷,H0:p=0.5,观察到8次正面。若事先要检验p>0.5,P=∑k=8到10 C(10,k)/2¹⁰=(45+10+1)/1024=0.0546875。对这个对称二项分布,概率质量不高于观测的双侧集合为0、1、2、8、9、10,共112/1024=0.109375。
本页例子在项目根目录的Python中运行;标准库例子无需安装包,含NumPy/SciPy的例子先按R包Python包与可复现环境建立项目环境。Windows命令使用
python,macOS/Linux可使用python3;代码块可复制进该环境的Python交互会话,或保存为项目根目录下的临时脚本再用该环境解释器运行;不要保存到examples目录或任意外部目录后假定项目导入路径仍相同。除特别说明外,只向屏幕输出,不写文件。
from math import comb
n, observed = 10, 8
prob = [comb(n,k)/2**n for k in range(n+1)]
p_greater = sum(prob[observed:])
p_two = sum(v for v in prob if v <= prob[observed]+1e-15)
print('one_sided', p_greater)
print('probability_ordered_two_sided', p_two)
assert p_greater == 56/1024 and p_two == 112/1024
这是完全枚举,未使用正态近似。此例恰好双侧为右单侧的2倍;对不对称离散分布或其他双侧定义不能机械翻倍。若观察后才把方向选成“更多正面”,却仍用预先单侧的拒绝阈值,会改变错误率。
如何决定单双侧与多次比较
单侧需有预先合理的科学问题与分析计划,并接受反方向再大也不按该规则拒绝。若正负都值得发现,一般使用双侧。做许多基因、位点、分组或模型时,分析集合不只是最终留下的一张表;要明确检验家族和多重控制,见P值效应量与多重检验。
不要先测正态性、再尝试多个检验、最后只报告最小P。统计方法选择应以数据生成、独立性、目标参数和稳健性为主,必要时预设敏感性分析。重复尝试与可选停止也会影响标称错误率。
未拒绝、等价与交互作用
P≥α表示按当前规则未拒绝H0,不证明μA=μB。若要支持“差异小到可忽略”,需预设等价界限δ,并使用等价检验或相应区间推断。区间既包含0又包含很大效应时,通常说明结论不精确。
“A组显著、B组不显著”也不能证明两组效应不同。需直接比较两个效应的差,或在模型中检验交互,参见方差分析交互作用与对比。同理,两个独立实验的P值不同不等于效果互相矛盾。
报告和排错
| 要记录什么 | 为什么 |
|---|---|
| H0、效应方向、单位、独立n | 读者才能判断在检验谁 |
| 检验名称、单双侧、参数 | 决定参考分布与极端定义 |
| 效应与区间、原P与校正值 | 避免只剩一个二元显著标签 |
| 缺失、排除、多模型尝试 | 决定有效分析集合 |
P恰为0时先查输出精度、下溢或重采样计数法,而不是报告“绝对不可能”。P值非常小但效应方向与表格相反,先核对A/B顺序和参考组;换顺序双侧P常不变,但效应符号会翻转。
自测:这10次抛硬币结果能证明硬币公平吗? 答:不能,只是在所用规则下没有足够证据拒绝0.5。自测:α从0.05改为0.1能提高功效吗? 答:在相同检验中通常扩大拒绝域,但同时允许更高一类错误;不能看完P再为显著性修改规则。
接着读什么
数据类型总体样本与抽样 → 抽样分布中心极限定理与标准误 → P值效应量与多重检验 → 方差分析交互作用与对比 → R包Python包与可复现环境 → 实验设计与统计功效 → 统计方法选择与分析计划 → 方法与算法系统学习指南。学习顺序与练习入口见方法与算法系统学习指南。
运行本页的完整小例
先下载项目并进入含README与examples的根目录,环境准备见方法与算法系统学习指南。用项目环境的Python运行以下命令(macOS/Linux路径示例;Windows用.venv\Scripts\python.exe):
.venv/bin/python examples/methods_foundations_demo.py --case hypothesis --output examples/output/methods-hypothesis
输出summary.json保存本页计算与检查结果。目录非空时拒绝覆盖,再练习请更换--output目录;页面内短代码只打印结果。标准库case也可用系统Python直接运行。
公式里的矩阵、下标或对数不熟时,可回查读懂方法公式的最小数学基础。