用数据说话:P值、显著性与统计决策的科学框架
假设检验从两个对立陈述开始。零假设 H₀ 通常表示"无效果""无差异"或"现状成立";备择假设 H₁ 表示研究者希望证实的命题。
例如,检验新药是否有效:H₀: 新药与安慰剂无差异;H₁: 新药有效(均值不同)。
假设检验的逻辑是"反证法":先假设 H₀ 成立,然后计算在此假设下观测到当前样本(或更极端样本)的概率。如果这个概率很小,就拒绝 H₀。
显著性水平 α 是我们事先设定的阈值,表示"多小的概率算小"。常用 α = 0.05(5%)。
α 实际上是第一类错误的概率上限:当 H₀ 实际为真时,错误拒绝 H₀ 的最大允许概率。
P 值(p-value)是在 H₀ 成立的假设下,获得当前样本结果或更极端结果的概率。
P 值不是"H₀ 为真的概率",也不是"结果由随机机会导致的概率"。它仅仅度量了数据与 H₀ 之间的不一致程度。P = 0.03 表示如果 H₀ 为真,只有 3% 的机会看到这么极端的数据。
统计决策可能出现两种错误:
| H₀ 为真 | H₀ 为假 | |
|---|---|---|
| 拒绝 H₀ | 第一类错误(α) | 正确决策(功效 1-β) |
| 不拒绝 H₀ | 正确决策 | 第二类错误(β) |
α 和 β 此消彼长:降低 α 会使 β 升高。增大样本量可以同时降低两者。
功效(Power = 1 - β)是在 H₀ 实际为假时正确拒绝 H₀ 的概率。一般要求功效至少达到 0.80(80%)。
功效受三个因素影响:效应大小(差异越大越容易检测)、样本量 n(越大功效越高)、显著性水平 α(越宽松功效越高)。
当 σ 未知且样本来自正态总体(或 n 较大)时,使用 t 检验:
当 σ 已知或 n 很大时,可用 z 检验:
双尾检验检测"是否不同"(H₁: μ ≠ μ₀),拒绝域分布在两侧。单尾检验检测"是否更大/更小"(H₁: μ > μ₀ 或 μ < μ₀),拒绝域集中在一侧。
单尾检验在方向确定时功效更高,但若实际效应方向与假设相反,则完全无法检测。一般推荐使用双尾检验,除非有强有力的先验理由。
比较两组均值差异时,使用双样本 t 检验:
若假设两总体方差相等,可使用合并方差估计。
III期临床试验中,将患者随机分为治疗组和安慰剂组。通过双样本 t 检验比较两组主要疗效指标。若 P < 0.05 且疗效具有临床意义,则可向监管机构申请上市批准。这是假设检验最严格的应用场景之一。
互联网公司通过 A/B 测试比较两个版本的产品(如新按钮颜色)。使用双样本 z 检验比较点击率,设定 α = 0.05。检验前需计算所需样本量以保证 80% 功效,避免"样本不足导致检测不到真实差异"。
工厂定期抽检产品尺寸。使用单样本 t 检验判断均值是否偏离目标值。若 P < 0.01,触发停机检查。这种实时监控是六西格玛质量管理的核心工具。
建筑钢材要求抗拉强度 ≥ 400 MPa。供应商提供质检报告:n = 30,X̄ = 410 MPa,s = 15 MPa。使用单尾 t 检验 H₀: μ = 400 vs H₁: μ > 400。若 P < 0.05,可接受该批材料。
某饮料标称容量为 500 ml。质检部门抽取 25 瓶,测得平均容量 495 ml,样本标准差 8 ml。在 α = 0.05 下,检验该批产品是否短斤少两。
H₀: μ = 500 H₁: μ ≠ 500(双尾)
t = (495 - 500) / (8/√25) = -5 / 1.6 = -3.125
df = 24,查 t 表或计算得双尾 P ≈ 0.0046
P = 0.0046 < 0.05,拒绝 H₀
结论:有显著证据表明该批饮料平均容量不等于 500 ml,存在短斤少两问题。
比较两种催化剂对反应产率的影响。催化剂 A:n₁ = 20,X̄₁ = 82%,s₁ = 5%;催化剂 B:n₂ = 20,X̄₂ = 78%,s₂ = 4%。在 α = 0.05 下检验两者是否有显著差异。
H₀: μ₁ = μ₂ H₁: μ₁ ≠ μ₂
假设方差不相等(Welch 检验):
SE = √(5²/20 + 4²/20) = √(1.25 + 0.8) = √2.05 ≈ 1.432
t = (82 - 78) / 1.432 = 4 / 1.432 ≈ 2.793
近似 df ≈ 36,双尾 P ≈ 0.008
P < 0.05,拒绝 H₀。催化剂 A 的产率显著高于 B。
某病毒检测试剂盒:灵敏度 95%(真阳性率),特异度 98%(真阴性率)。现对发病率 1% 的人群筛查。 (a) 若检测结果为阳性,实际患病的概率是多少? (b) 这对应第一类还是第二类错误框架?
设患病率为 1%,即 P(患病) = 0.01。
真阳性 = 0.01 × 0.95 = 0.0095
假阳性 = 0.99 × 0.02 = 0.0198
P(患病|阳性) = 0.0095 / (0.0095 + 0.0198) ≈ 32.4%
(b) 假阳性 = 错误拒绝 H₀(H₀: 未患病),属于第一类错误。
尽管试剂盒"准确率"很高,但由于疾病罕见,大多数阳性仍是假阳性。这是贝叶斯定理的经典应用。
某电子元件要求平均寿命 ≥ 1000 小时。抽取 16 件测试,X̄ = 1050 小时,s = 80 小时。在 α = 0.05 下检验是否达标。
H₀: μ = 1000 H₁: μ > 1000(单尾,只关心是否达标)
t = (1050 - 1000) / (80/4) = 50 / 20 = 2.5
df = 15,单尾 P = P(T₁₅ > 2.5) ≈ 0.012
P = 0.012 < 0.05,拒绝 H₀
结论:有显著证据表明平均寿命超过 1000 小时,该批产品达标。
若误用双尾检验,P ≈ 0.024,虽同样拒绝 H₀,但单尾检验在此场景更合理、功效更高。
MATLAB 统计工具箱提供了完整的假设检验函数,可自动计算检验统计量和 P 值。
| 函数 | 用途 | 示例 |
|---|---|---|
| ttest(x, mu0) | 单样本 t 检验 | [h, p] = ttest(data, 100) |
| ttest2(x, y) | 双样本 t 检验 | [h, p] = ttest2(groupA, groupB) |
| ztest(x, mu0, sigma) | 单样本 z 检验 | [h, p] = ztest(data, 50, 10) |
| sampsizepwr | 样本量/功效计算 | n = sampsizepwr('t', ...) |