假设检验与经典统计检验-1

Lecture 7 · 生态统计学

李勤

2026-11-02

学习目标

  1. 把科学问题写成可检验的统计假设
  2. 用零分布解释 P 值
  3. 选对检验方法,检查条件,运行 R
  4. 报告效应大小、证据与局限
  5. 以统计结论支撑科学结论

经典统计检验

  • 针对类型变量的统计检验
    • 二项检验、卡方检验、泊松检验、独立性检验
  • 针对数值变量的统计检验(下次课)
    • 单样本 tt 检验、双样本 tt 检验

回顾

  • 统计学的目的是基于从总体中的样本来获得信息
    • 通过随机抽样获取样本(这也是我们做统计推断的常用假设)
    • 样本即子集:总体包含的每个个体有相同概率被抽中,且相互独立
    • 抽样误差:因随机抽样造成的估计值与真实值(总体参数)之间的偶然差异
  • 基于样本应用不同估计值对总体进行推断(参数估计)
    • 均值、标准差、中值、四分位距
  • 同时提供推断估计值的精确性
    • 标准误、置信区间(2SE rule)

课堂判断

  • 同一只动物测量 10 次,算 10 个独立样本吗?
  • 比例 0.4 与频数 10,包含的信息相同吗?
  • 样本比例偏离 0.5,就能说明总体存在偏好吗?

先明确研究对象及样本单位,再讨论统计检验。

假设检验 Hypothesis Testing

统计假设与科学假设

科学假设

  • 解释自然现象及其可能机制。
  • 例如:某种生理机制使蟾蜍倾向使用右前肢。

统计假设

  • 关于总体参数或概率分布的明确陈述。
  • 设 pp 为蟾蜍使用右前肢的总体概率:

H0:p=0.5HA:p≠0.5H_0:p=0.5 \qquad H_A:p\ne0.5

蟾蜍与气球示意图

零假设与备择假设

设 pp 为总体中蟾蜍使用右前肢的概率。

假设 参数表达 含义
零假设 H0H_0 p=0.5p=0.5 无总体方向偏好
备择假设 HAH_A p≠0.5p\ne0.5 存在总体方向偏好
  • 零假设与备择假设针对总体参数,而不是已知的样本统计量
    • H0H_0 是为了论证的目的而提出的,通常是一个可被质疑的观点
    • H0H_0 提供比较基准,其参数值不一定是零
    • HAH_A 包括 H0H_0 中所述值之外的所有其它可能的总体参数值
  • 单侧或双侧检验应在观察结果前确定
    • 双侧检验意味在获取数据前无法排除任何一种可能性(方向)
    • 若研究问题事先明确为有偏好,可采用单侧备择 p>0.5p > 0.5

假设检验的步骤

  1. 明确问题:确定研究对象、样本单位、总体与参数
  2. 提出假设:写出 H0H_0、HAH_A,预设显著性水平 α\alpha
  3. 计算统计量:检查数据适用条件并计算检验统计量
  4. 确定 P 值:根据零分布得到 P 值并判断显著性
  5. 解释并报告结论:报告效应大小、不确定性、检验结论及局限

假设检验案例:蟾蜍是否偏好某一侧前肢

  • 科学问题(科学假设)
    • 在蟾蜍总体中右撇子(right-handed)和左撇子(left-handed)出现的频数 相同,还是像人类那样一种类型比另一种类型更常见?
  • 实验体系
    • 样本:野外捕获的18只蟾蜍(假设这是一个随机样本)
    • 给每只蟾蜍头上都缠着一个气球,记录下每只蟾蜍用哪只前肢去除掉气球
  • 实验结果
    • 18 只蟾蜍中,14 只使用左前肢

假设检验案例:蟾蜍是否偏好某一侧前肢

  • 数据:18 只蟾蜍中,14 只使用左前肢

  • 如何设定 H0H_0 与 HAH_A?

假设 参数表达 含义
零假设 H0H_0 p=0.5p=0.5 无总体方向偏好
备择假设 HAH_A p≠0.5p\ne0.5 存在总体方向偏好

假设检验案例:蟾蜍是否偏好某一侧前肢

  • 检验统计量:比例

p̂=1418≈0.778\hat p=\frac{14}{18}\approx0.778 - 预期(H0H_0)和实际

蟾蜍比例

假设检验案例:蟾蜍是否偏好某一侧前肢

  • 确定 P 值(量化不确定性)
    • 要获得这个概率,我们需要确定当H0H_0为真时的检验统计量的抽样分布
    • 即零分布 (the null distribution):检验统计量的可能值及其相关概率
    • P 值:出现当前结果或更极端的结果的概率

蟾蜍比例

假设检验案例:蟾蜍是否偏好某一侧前肢

  • 设 XX 为偏好右前肢的数量,在 H0:p=0.5H_0:p=0.5 的条件下: X∼Binomial(18,0.5)X\sim\mathrm{Binomial}(18,0.5)
  • 计算 P 值:哪些结果同样或更极端?

观察到 X=14X=14,双侧检验包括:

  • 右尾:X≥14X\ge14
  • 左尾:X≤4X\le4

P双侧=P(X≤4)+P(X≥14)≈0.0154+0.0154=𝟎.𝟎𝟑𝟏 \begin{aligned} P_{\mathrm{双侧}} &=P(X\le4)+P(X\ge14)\\ &\approx0.0154+0.0154\\ &=\mathbf{0.031} \end{aligned}

# 左尾:P(X ≤ 4)
p_left <- pbinom(4, size=18, prob=0.5)

# 右尾:P(X ≥ 14) = P(X > 13)
p_right <- pbinom(
  13, size=18, prob=0.5,
  lower.tail=FALSE
)

# 双侧 P 值
p_two <- p_left + p_right
p_two

假设检验案例:蟾蜍是否偏好某一侧前肢

  • 检验结论及其边界:P 值多小算足够小?
  • 在预先设定的显著性水平 α\alpha 下:
判断 统计结论
P≤αP\le\alpha 拒绝 H0H_0
P>αP>\alpha 不拒绝 H0H_0
  • 不拒绝 H0H_0,不等于证明没有差异
  • 统计显著不代表效应大,也不自动支持因果解释

假设检验案例:蟾蜍是否偏好某一侧前肢

  • 那么,蟾蜍有惯用前肢偏好吗?
  • 按照大多数生物研究领域的惯例,P 值的临界值 α\alpha = 0.05
  • 如果 P ≤ 0.05,我们就拒绝H0H_0;如果 P > 0.05,我们就不拒绝H0H_0
  • 统计假设的结论支持总体方向偏好
    • 我们拒绝在蟾蜍总体中左撇子和右撇子出现频率相同的零假设
  • 科学假设的结论支持总体方向偏好
    • 但不能单独证明某种生理机制
    • 也不能说明每只蟾蜍都有相同偏好

回顾假设检验的步骤

  1. 明确问题:确定研究对象、样本单位、总体与参数
  2. 提出假设:写出 H0H_0、HAH_A,预设显著性水平 α\alpha
  3. 计算统计量:检查数据适用条件并计算检验统计量
  4. 确定 P 值:根据零分布得到 P 值并判断及显著性
  5. 解释并报告结论:报告效应大小、不确定性、检验结论及局限

P 值是什么

在零假设及模型条件成立时,获得当前结果或更极端结果的概率。

  • 即,P 值指的是在零假设条件下进行数据抽样时发生特定事件的概率

P 值评价的是数据与零模型的相容程度。

  • P 值不是什么
    • 不是“零假设为真的概率”
    • 不是“结果由偶然造成的概率”
    • 不是效应大小
    • 不显著,也不能证明“没有差异”

R Lab:模拟零假设——二项检验

set.seed(101)
sim_x <- rbinom(100, size=18, prob=0.5)
mean(sim_x<=4 | sim_x>=14)
[1] 0.02
binom.test(14,18,p=0.5)$p.value
[1] 0.03088
  1. 先预测,再运行
  2. 两个结果为什么略有不同?
  3. 把模拟次数改为 1000,结果会更稳定吗?

两类错误

  • I 类错误:Type I error —— 拒绝为真的零假设(假阳性)
    • 显著性水平 α\alpha 设定了犯一类错误的概率
    • 降低 α\alpha (如 0.01)会使得 P > α\alpha,这样会增加拒绝 H0H_0 的难度
  • II 类错误:Type II error —— 没有拒绝为假的零假设(假阴性)
    • 功效 (power, 1−β1-\beta):拒绝为假的零假设的概率
    • 如果一项研究犯 II 类错误的概率较低,我们则说它功效较高
真实状态 拒绝 H0H_0 不拒绝 H0H_0
H0H_0 为真 I 类错误(α\alpha) 正确决策
H0H_0 为假 正确决策 II 类错误(β\beta)

单侧还是双侧

HA:p≠p0双侧H_A:p\ne p_0\quad\text{双侧}

HA:p>p0或p<p0单侧H_A:p>p_0\quad\text{或}\quad p<p_0\quad\text{单侧}

  • 由研究问题事先决定
  • 不能看完结果后再选择方向

如果蟾蜍案例:P=0.2,能否证明没有偏好?

针对类型变量的统计检验

如何选择检验

问题 方法
一个二分类变量的比例是否等于给定值 二项检验 Binomial test
一个分类变量是否符合给定概率 卡方拟合优度检验 χ2\chi^2 goodness-of-fit test
时间或空间内的计数是否符合泊松模型 泊松分布拟合检验 Poisson goodness-of-fit Test
两个分类变量是否有关联 卡方独立性检验 / Fisher test

二项分布:固定次数中成功多少次?

  • 二项分布公式
    • 设 XX 为 nn 次试验中的成功次数,则:

P(X=x)=(nx)px(1−p)n−x P(X=x)=\binom{n}{x}p^x(1-p)^{n-x}

  • 为什么需要二项系数?
    • 表示从 nn 次试验中选出 xx 次成功的方式数(成功事件的顺序无关)。

(nx)=n!x!(n−x)!\binom{n}{x}=\frac{n!}{x!(n-x)!}

  • 例如:5 次中恰好成功 3 次,有 (53)=10\binom{5}{3}=10 种排列,因此:

P(X=3)=10p3(1−p)2P(X=3)=10p^3(1-p)^2

二项模型需要什么条件

设 XX 为 nn 次试验中的成功次数,则:

X∼Binomial(n,p)X\sim\mathrm{Binomial}(n,p)

  • 试验次数 nn 固定
  • 每次结果只有成功或失败
  • 各次试验相互独立
  • 每次成功概率均为 pp

软件能运行,不代表条件成立。

二项检验案例:基因是否偏离背景比例

  • 将二项抽样分布应用于比例的假设检验
    • 当总体中的一个变量具有两种可能的状态(即“成功”和“失败”)
    • 并且检验总体中成功的相对频率 (pp) 是否与零假设 (p0p_0) 相匹配
  • 例子:小鼠X染色体上的基因
    • 目的:检验进化理论的一个预测,即与生殖细胞发育相关的基因在X 染色体上出现的频率显著更高(相比常染色体)
    • 数据:25 个相关基因中,10 个位于 X 染色体上
    • 背景概率:p0=0.061p_0=0.061
      • 如果这些特定基金在整个基因组中是“随机”分布的,那么我们预期只有6.1% 的基因会出现在X染色体上;

二项检验案例:基因是否偏离背景比例

  • 样本比例:10/25=0.4010/25=0.40
  • 背景概率:p0=0.061p_0=0.061

gene比例

  • H0:p=0.061HA:p≠0.061H_0:p=0.061\qquad H_A:p\ne0.061

二项检验案例:基因是否偏离背景比例

  • R lab
gene <- binom.test(10,25,p=0.061,
                   alternative="two.sided")
gene$estimate
gene$conf.int
gene$p.value
  • binom.test()中的参数
    • x=10:成功数;n=25:总数
    • p=0.061:零假设比例
  • 比例、区间、P 值分别回答不同问题

二项检验案例:基因是否偏离背景比例

如何解释?

  • 比例估计:0.40
  • 95% 精确区间:约 0.211–0.613
  • P 值:约 9.94×10−79.94\times10^{-7}

在二项模型条件成立时,有证据拒绝背景比例。

结论:假设、条件、数值和一句科学解释。

二项检验:比例估计的不确定性

  • 设 XX 为 nn 次独立二项试验中的成功次数:p̂=X/n\hat p=X/n

比例估计的标准误

σp̂=p(1−p)n,SEp̂=p̂(1−p̂)n \sigma_{\hat p}=\sqrt{\frac{p(1-p)}{n}}, \qquad \mathrm{SE}_{\hat p} =\sqrt{\frac{\hat p(1-\hat p)}{n}}

比例估计的置信区间

  • Agresti–Coull 方法

p′=X+2n+4 p'=\frac{X+2}{n+4}

p′±1.96p′(1−p′)n+4 p'\pm1.96\sqrt{\frac{p'(1-p')}{n+4}}

  • Wald 方法(不推荐)
    • 样本小或比例接近 0、1 时估计准确性降低

p̂±1.96SEp̂ \hat p\pm1.96\mathrm{SE}_{\hat p}

多个类别的比例:卡方拟合优度检验(卡方检验)

  • 案例:出生日期的分布
    • 2016 年出生样本,n=180n=180。
星期 日 一 二 三 四 五 六
观察频数 14 26 34 21 27 38 20
年内天数 52 52 52 52 52 53 53

零模型:出生概率与对应星期的天数成比例。

多个类别的比例:卡方检验

  • EiE_i:某一类别 ii 的期望频数

Ei=np0iE_i=np_{0i}

  • 计算卡方 χ2\chi^2

χ2=∑i=1k(Oi−Ei)2Ei\chi^2=\sum_{i=1}^k\frac{(O_i-E_i)^2}{E_i}

  • 其中:
    • OiO_i:观察频数;EiE_i:零模型下期望频数
    • 偏离越大,统计量越大
    • 本例的自由度:df=k−1−1=6df=k-1-1=6
      • 类别数 - 1 - 从数据中估计的参数个数

多个类别的比例:卡方检验

  • R lab
# 观察频数
birth <- c(14,26,34,21,27,38,20)
# 期望概率
p0 <- c(52,52,52,52,52,53,53)/366

#卡方检验
birth_fit <- chisq.test(birth,p=p0)
#检验结果
birth_fit$expected
birth_fit$statistic
birth_fit$p.value

任务:手算周日一格的贡献,再核对总统计量。

多个类别的比例:卡方检验

  • 观察频数与期望频数

多个类别的比例:卡方检验

  • 观察频数与期望频数

卡方表

  • 检验统计量
    • χ2=∑i=1k(Oi−Ei)2Ei≈15.795\chi^2=\sum_{i=1}^k\frac{(O_i-E_i)^2}{E_i}\approx15.795

多个类别的比例:卡方检验

  • 检验统计量:χ2≈15.795\chi^2\approx15.795

  • 确定P值:依据卡方分布(零假设下 χ2\chi^2 的抽样分布;df=6df=6)

    • P≈0.015P\approx0.015:获得大于或等于观察数据 χ2\chi^2 值的概率

卡方分布

多个类别的比例:卡方检验

整个过程

  • 提出零假设和备择假设
    • H0H_0:出生频数与每周该天在一年中出现的次数成比例
    • HAH_A:出生频数与每周该天在一年中出现的次数不成比例
  • 计算检验统计量 χ2\chi^2 = 15.795
  • 基于零分布 χ62\chi^2_6 计算P值
    • 计算机统计软件直接给出 P值 = 0.0149 (chisq.test)
  • 得出结论
    • 出生频数并非均匀地分布在一周中的每一天

多个类别的比例:卡方检验

卡方检验前先检查什么(前提假设 assumption)

  • 输入实际频数,不是百分比
  • 类别互斥且穷尽,观测之间相互独立
  • 检验统计量 χ2\chi^2 的抽样分布要满足(接近)理论的 χ2\chi^2 分布
    • (保守)检查期望频数,不是观察频数
      • 任何类别的期望频数都不应低于1
      • 不应有超过20% 类别的期望频数 Ei≤5E_i \le 5

不满足前提假设时

  • 合并一些期望频率较低的类别(相应地更改自由度)
  • 选择合适的精确 / 模拟方法。

多个类别的比例:卡方检验

整体显著说明什么?

  • 支持至少一个类别概率偏离零模型。

不意味着:

  • 每个类别都不同
  • 效应一定很大

二项检验与卡方检验

那么:二项检验与卡方拟合优度检验如何选?

  • 当数据只有两个类别时,当n较小并且期望频率太低以至于不符合 χ2\chi^2 拟合优度检验的假设时,二项检验是最佳选择
  • 即使n较大,当有计算机可用时,可优先选择二项检验,因为它提供了精确的P值

随机性检验:泊松分布拟合检验

在许多生物学研究中,概率分布常常被用作零假设

卡方表

随机性检验:泊松分布拟合检验

泊松分布(the Poisson distribution)

  • 描述了在一段时间或空间内成功事件的数量
    • 当成功事件间相互独立
    • 事件在每个瞬间或空间点发生的概率相等

卡方表

随机性检验:泊松分布拟合检验

泊松计数:固定单元(时间/空间)内发生多少次事件

  • 单元:固定时间或空间范围
  • 结果:0、1、2、3 … 次事件
  • λ\lambda:每个单元的期望事件数(不是成功概率)
  • 成功事件发生 XX 次的概率为:

P(X=x)=e−λλxx!P(X=x)=\frac{e^{-\lambda}\lambda^x}{x!}

  • 泊松分布的特征:期望与方差相等

E(X)=Var⁡(X)=λE(X)=\operatorname{Var}(X)=\lambda

随机性检验:泊松分布拟合检验

泊松分布 = 随机分布

  • 其它可能
    • 聚集分布
      • 例如,传染病的爆发通常会导致病例在空间上呈现聚集分布,因为个体会从更接近的人/邻居那里传染疾病
    • 分散分布
      • 例如,领地性动物通常在空间上比随机分布更为分散,因为个体会互相驱赶
  • 与随机模式的偏差可以帮助我们识别导致这些模式的有趣生物过程

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

  • 地球历史上最好的灭绝记录来自化石化的海洋无脊椎动物,因为它们有坚硬的壳,因此往往保存得很好。

  • 如果家族的灭绝在化石记录中是“随机”的,那么每个时间段内的灭绝数量应该遵循泊松分布。

  • 表格是在76个长度类似的时间段中,海洋无脊椎动物的灭绝次数。

  • 与泊松分布的偏离表明灭绝?

    • 以爆发的方式发生(clumped)
    • 在时间上比预期更均匀(dispersed)

灭绝频率

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

  • 76 个长度类似的时间单元
  • 每个单元记录灭绝次数
  • H0H_0:独立且具有共同均值的泊松计数
  • HAH_A:不符合该模型

抽样单位是时间单元,不是灭绝事件。

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

  • R lab:计算平均每个时间单元内的事件数
    • 76 个单元,共 320 次事件
    • λ̂=320/76≈4.211\hat\lambda = 320/76 \approx 4.211
value <- 0:20
freq <- c(0,13,15,16,7,10,4,2,1,2,1,
          1,0,0,1,0,2,0,0,0,1)
counts <- rep(value,times=freq)
n_units <- length(counts)
lambda_hat <- mean(counts)
c(n=n_units,lambda=lambda_hat)
table(counts)

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

  • 为什么合并两端类别?

0–1、2、3、4、5、6、7、8 及以上。

  • 合并是为了避免极小的期望频数
  • 最后一类包含所有更大计数
    • 未观察到大于 20,不等于其零模型概率为 0

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

  • R lab —— 检查:概率和为 1,期望频数和为 76
# 构建合并后的类别的观察频数
observed <- c(sum(counts<=1),
              sapply(2:7,function(j) sum(counts==j)),
              sum(counts>=8))

# 根据lambda_hat生成各类别对应的期望概率
p_pois <- c(ppois(1,lambda_hat),
            dpois(2:7,lambda_hat),
            ppois(7,lambda_hat,lower.tail=FALSE))

# 生成各类别对应的期望频数
expected <- n_units*p_pois

# 合并观察频数和期望频数
cbind(observed, expected)

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

  • 估计了参数,自由度要调整

df=k−1−m=8−1−1=6df=k-1-m=8-1-1=6

  • k=8k=8:合并后的类别数
  • 减 1:总频数固定
  • 再减 1:用同一数据估计了 λ\lambda

不要直接采用 chisq.test() 默认的 7 个自由度。

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

  • R lab:χ2≈23.95\chi^2\approx23.95,df=6df=6,P≈0.000533P\approx0.000533
# 计算卡方值
X2 <- sum((observed-expected)^2/expected)
# 调整自由度
df <- length(observed)-1-1

# 根据卡方统计量和自由度,直接计算右尾概率,作为检验的近似 P 值
P <- pchisq(X2, df=df, lower.tail=FALSE)

# 输出结果
c(X2=X2,df=df,P=P)

# 直接使用chisq.test则会用到错误的自由度 df = 7
#chisq.test(observed, p = expected/76)

随机性检验:泊松分布拟合检验

海洋无脊椎动物灭绝:泊松分布?

偏离泊松模型,能说明什么?

  • 有证据表明共同泊松模型不适合这些计数
  • 方差大于均值,表现为过度聚集
    • 可能原因:聚集、速率异质性、依赖或单元长度差异
    • 泊松分布的一个特性是每个时间段内成功事件的次数的方差等于均值,因此,聚集或分散的模式通过方差与平均成功事件数量的比值来度量
      • 如果方差小于均值,那么分布是分散的
  • 结论:灭绝事件往往以爆发的方式发生(大规模灭绝, mass extinctions )

随机性检验:泊松分布拟合检验

思考题

  1. 为什么样本量是 76,而不是 320?
  2. 为什么 ppois(7, ..., lower.tail=FALSE) 对应 8+?
  3. 为什么自由度还要减去一个参数?
  4. poisson.test() 能回答本例问题吗?—— 不能,poisson.test 检验事件率

两个分类变量间的相关性检验

独立性检验 Contingency Analysis

  • 关联的程度
    • Relative Risk
    • Odds Ratio
  • 关联的显著性
    • Chi-square test
    • Fisher’s exact test

独立性检验 Contingency Analysis

  • 泰坦尼克号沉没事故(1912.4.14)

蟾蜍比例

回顾学习目标

  1. 把科学问题写成可检验的统计假设
  2. 用零分布解释 P 值
  3. 选对检验方法,检查条件,运行 R
  4. 报告效应大小、证据与局限
  5. 以统计结论支撑科学结论

针对类型变量的统计检验

二项检验、卡方检验、泊松检验、独立性检验

课后作业

作业链接

下周一提交