Lazy loaded imaget 检验(t-test)

type
status
date
slug
summary
tags
category
icon
password
comment

1. 核心概念

t 检验是一类用于比较均值差异的统计检验方法,常用于小样本(样本量 < 30)、总体标准差未知的情况下。 它基于 Student’s t 分布,是统计学中最经典的参数检验之一。

历史背景

t 检验由 William Sealy Gosset (1876–1937) 在 1908 年提出。
当时,Gosset 就职于爱尔兰著名啤酒公司 Guinness,为改进啤酒品质,需要在小样本条件下评估酿造批次之间的差异。
由于公司禁止员工以真名发表科研成果,他以笔名 “Student” 在《Biometrika》上发表论文,t 检验因此得名 Student’s t-test
Gosset 发现,用样本标准差代替总体标准差时,统计量不再服从标准正态分布,
他推导出一种新分布 —— t 分布,具有更厚的尾部,能更好地应对小样本的不确定性。

应用场景

  • 判断两组均值是否存在显著差异
  • 评估处理效果(如药物 vs 对照组)
  • 检验某组均值是否等于给定值

2. t 分布与统计量

t 分布 (Student’s t-distribution)

  • 由 William Gosset 1908 年提出,用于描述在总体标准差未知的情况下,样本均值的抽样分布。
  • 与标准正态分布类似,但 尾部更厚(heavy-tailed),以补偿小样本带来的不确定性。
  • 自由度(df)
    • 对于单样本 t 检验:
      • df=n−1
    • 对于双样本 t 检验(假设方差相等):
      • df=n1+n2−2
  • 样本量越大,t 分布越接近标准正态分布 (Z 分布)
  • 当 n > 30 时,t 检验结果通常与 Z 检验几乎一致。

t 统计量 (t-statistic)

  • 衡量样本均值与零假设均值之间的标准化偏差
  • 通用公式
    • 标准误(Standard Error, SE)
      • 单样本均值:
        • 两独立样本均值差异:
        • 直观解释
          • t 值绝对值越大,说明样本均值偏离零假设均值越多 → 更有可能拒绝零假设。

        3. t 检验类型

        t 检验有三种经典形式,适用于不同的研究设计和数据结构。

        3.1 单样本 t 检验(One-sample t-test)

        • 目的:检验一个样本的均值是否等于某个已知理论值(μ₀)。
        • 假设
          • H0: μ = μ₀
          • H1: μ ≠ μ₀(双尾);或 μ > μ₀ / μ < μ₀(单尾)
        • 统计量公式
          • 应用示例
            • 药物治疗后患者的平均血压是否与正常值(120 mmHg)有差异。

          3.2 独立样本 t 检验(Independent two-sample t-test)

          • 目的:比较两个独立样本的均值是否相等。
          • 假设
            • H0: μ₁ = μ₂
            • H1: μ₁ ≠ μ₂
          • 适用场景
            • 两个不同群体(如男性 vs 女性、实验组 vs 对照组)。
          • 统计量公式
              1. 方差相等(Student’s t-test)
                1. 方差不等(Welch’s t-test)
              • 应用示例
                • 比较两种药物在不同患者组中对血压的降低效果是否不同。

              3.3 配对样本 t 检验(Paired-sample t-test)

              • 目的:比较同一组对象在两种不同条件下的均值差异。
              • 假设
                • H0: μ_d = 0
                • H1: μ_d ≠ 0
              • 统计量公式
                • 应用示例
                  • 同一批患者在药物治疗前后的血压差异。
                  • 同一组学生在两种教学方法下的考试成绩变化。

                4. 显著性判断与 p 值

                在完成 t 检验后,我们需要根据计算出的 t 统计量自由度 (df) 来判断差异是否显著。显著性检验通过 p 值 (p-value) 来量化。
                • 双尾检验:检测均值是否不同
                • 单尾检验:检测均值是否大于或小于某值

                5. t 检验的前提条件与注意事项

                5.1 样本独立性

                • 首要条件:观测值必须相互独立。
                • 若存在依赖性(例如同一受试者多次测量却未配对处理),t 检验结果会失真。

                5.2 正态性假设

                • t 检验基于样本均值服从正态分布的假设(由中心极限定理支持)。
                • 在小样本下,需检查数据是否接近正态(例如使用 Shapiro-Wilk 检验或 Q-Q 图)。
                • 当样本量较大(如 > 30)或两组样本量平衡时
                  • 即便变量偏离正态分布,t 检验及其置信区间仍相对稳健。
                  • 样本越大,结果越接近理论分布。
                • 若分布严重偏离正态,可考虑非参数方法(如 Wilcoxon 检验)。

                5.3 方差齐性与 Welch t 检验

                • 传统的“等方差 t 检验(Student’s t-test)”假设两组总体方差相等。
                • 当方差不等时,等方差 t 检验的 p 值可能因为方差差异而显著,而不是真正的均值差异。
                • Welch t 检验
                  • 无需假设方差相等
                  • 对方差不齐性和样本量不平衡更稳健
                  • R 中的 t.test() 默认使用 Welch t 检验

                5.4 一定需要先做方差齐性检验?

                • 有人建议先用 F 检验或 Levene 检验判断方差是否相等,再决定使用哪种 t 检验。
                • 研究表明(Rasch et al., 2011;Delacre et al., 2017):
                  • 这种做法通常比直接使用 Welch t 检验表现更差。
                • 实务建议
                  • 不要纠结版本,直接使用 Welch t 检验。

                5.5 现代替代方法

                1. 置换 t 检验 (Permutation t-test)
                    • 不依赖于正态性假设
                    • 通过随机置换分组标签,计算统计量分布和 p 值
                1. 引导 t 检验 (Bootstrap t-test)
                    • 从原始样本中有放回地抽样,计算统计量
                    • 用经验分布替代理论 t 分布
                    • 是传统 t 检验和置换检验的折中方法
                1. 非参数检验 (Wilcoxon rank-sum test)
                    • 当数据显著偏离正态时,考虑使用秩和检验

                6. t 检验的主要变体(详细版)

                6.1 Welch t 检验 vs Student’s t 检验

                原理 & 区别

                • Student’s t-test 假设两组总体方差相等,用合并方差 sp2s_p^2 计算标准误。
                • Welch t-test 不假设方差齐性,直接用两组样本方差,各自对标准误贡献:
                  • Welch 方法对方差不齐和样本量不平衡更稳健。

                  适用场景

                  • 方差齐时:Student’s t-test
                  • 方差不齐或不确定时:Welch t-test(R 默认)

                  R 示例


                  6.2 置换 t 检验(Permutation t-test)

                  原理

                  1. 计算原始数据的 t 统计量 tobst_{obs}。
                  1. 对 N 次(如 5,000 或 10,000)迭代:
                      • 随机打乱样本的分组标签
                      • 重新计算 t 统计量 t∗

                  优点

                  • 不依赖正态分布
                  • 精确控制 I 型错误

                  何时用

                  • 样本量中小
                  • 正态性难以保证

                  R 示例


                  6.3 Bootstrap t 检验(Bootstrap t-test)

                  原理

                  1. 从原始样本中有放回抽取 B 个 bootstrap 样本。
                  1. 每个样本计算统计量(均值差或 t 值)。
                  1. 构建统计量的经验分布,用于:
                      • 估算 p 值:看经验分布中有多少值与原始统计量同向、同等或更极端
                      • 计算置信区间:取经验分布的百分位数

                  优点

                  • 同时得到 p 值和置信区间
                  • 适用于任何分布、任何样本量

                  R 示例


                  6.4 Wilcoxon 秩和检验(Mann–Whitney U / Wilcoxon rank-sum)

                  原理

                  • 对两组所有观测值做排序,比较两组秩和差异。
                  • 不需要正态分布假设,只需假设两组分布形状相同(中位数对比)。

                  适用场景

                  • 数据偏态、有明显离群值
                  • 样本量小或非正态

                  R 示例


                  6.5 Yuen’s 修剪均值 t 检验(Trimmed-mean t-test)

                  原理

                  1. 对每组数据两端各剔除 α%(如 20%)的极端值 → “修剪均值”。
                  1. 根据修剪后数据计算均值差与 Winsorized 方差,形成 t 统计量。

                  优点

                  • 对离群值和重尾分布更稳健
                  • 保持参数检验的便捷性

                  R 示例


                  7. 实际应用建议 (Practical Application Guidance)

                  在真实分析中,面对不同的数据特征和研究需求,应遵循以下步骤来选择合适的 t 检验或其变体:

                  7.1 数据初探与前提检查

                  1. 可视化
                      • 绘制箱线图、直方图或 Q–Q 图,初步判断分布形态和离群值。
                  1. 独立性
                      • 确保各观测值之间独立。若为配对设计,则使用配对 t 检验或配对变体。
                  1. 正态性检查
                      • 小样本(n < 30):用 Shapiro–Wilk 检验或 Q–Q 图检验正态性。
                      • 大样本(n ≥ 30):可容忍轻度偏离。
                  1. 方差齐性(仅独立两样本)
                      • 若样本量大且偏差不严重,可跳过。
                      • 若想检验,可用 Levene 检验;但实践建议直接使用 Welch t-test。

                  7.2 方法选择流程


                  7.3 推荐实践

                  场景
                  方法
                  单组均值 vs 理论值
                  One-sample t-test
                  两个独立组,方差齐或大样本
                  Welch t-test
                  两个独立组,小样本或非正态
                  Permutation t-test 或 Wilcoxon 检验
                  配对设计(同一对象前后对比)
                  Paired t-test 或 Permutation t-test
                  存在离群值或重尾
                  Yuen’s trimmed t-test
                  需同时报出 CI 和 p 值,数据任意分布
                  Bootstrap t-test

                  7.4 操作提示

                  • R 默认t.test(x, y) 使用 Welch t-test(无需 var.equal = TRUE)。
                  • Permutation t-test:使用 coin::oneway_test(),设置 distribution = approximate(B=5000)
                  • Bootstrap t-test:定义 boot() 统计函数,使用 boot.ci() 获取置信区间。
                  • 非参数wilcox.test() 简便,但仅比较中位数秩和。
                  • 修剪均值WRS2::yuen(x ~ group, tr = 0.2),对离群更稳健。

                  7.5 小结

                  1. 先验判断:先看设计类型(单样本、独立、配对)。
                  1. 检查前提:正态性、方差齐性、独立性。
                  1. 优先 Welch:避免方差假设纠结。
                  1. 非正态或小样本:使用置换或 Bootstrap。
                  1. 离群值:可用修剪均值检验。
                  只有在明确理解数据特征和检验假设的基础上,才能选择最恰当的方法,保证结果的可信度与解释力。
                  Prev
                  多重检验(Multiple Testing)
                  Next
                  从混乱到规范:文件命名、变量命名与版本控制最佳实践
                  Loading...
                  Article List
                  Evan の Logbook
                  ✨ Updates
                  🎨 Style Guide
                  🧠 Creative Resources
                  🗒️ Mind Notes
                  🧭 Knowbase
                  📘 SOPs
                  🩺 Medical Research
                  🛠️ Tech Chronicles
                  💰 Fortune Blueprint
                  📈 R Visionary
                  📊 Statistics
                  🖼️ BioVis