Evan の Logbook
✨ Updates
🎨 Style Guide
🧠 Creative Resources
🗒️ Mind Notes
🧭 Knowbase
📘 SOPs
🩺 Medical Research
🛠️ Tech Chronicles
💰 Fortune Blueprint
📈 R Visionary
📊 Statistics
🖼️ BioVis
t 检验(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 检验:
- 对于双样本 t 检验(假设方差相等):
df=n−1
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 对照组)。
- 统计量公式:
- 方差相等(Student’s t-test):
- 方差不等(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 现代替代方法
- 置换 t 检验 (Permutation t-test)
- 不依赖于正态性假设
- 通过随机置换分组标签,计算统计量分布和 p 值
- 引导 t 检验 (Bootstrap t-test)
- 从原始样本中有放回地抽样,计算统计量
- 用经验分布替代理论 t 分布
- 是传统 t 检验和置换检验的折中方法
- 非参数检验 (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)
原理
- 计算原始数据的 t 统计量 tobst_{obs}。
- 对 N 次(如 5,000 或 10,000)迭代:
- 随机打乱样本的分组标签
- 重新计算 t 统计量 t∗
优点
- 不依赖正态分布
- 精确控制 I 型错误
何时用
- 样本量中小
- 正态性难以保证
R 示例
6.3 Bootstrap t 检验(Bootstrap t-test)
原理
- 从原始样本中有放回抽取 B 个 bootstrap 样本。
- 每个样本计算统计量(均值差或 t 值)。
- 构建统计量的经验分布,用于:
- 估算 p 值:看经验分布中有多少值与原始统计量同向、同等或更极端
- 计算置信区间:取经验分布的百分位数
优点
- 同时得到 p 值和置信区间
- 适用于任何分布、任何样本量
R 示例
6.4 Wilcoxon 秩和检验(Mann–Whitney U / Wilcoxon rank-sum)
原理
- 对两组所有观测值做排序,比较两组秩和差异。
- 不需要正态分布假设,只需假设两组分布形状相同(中位数对比)。
适用场景
- 数据偏态、有明显离群值
- 样本量小或非正态
R 示例
6.5 Yuen’s 修剪均值 t 检验(Trimmed-mean t-test)
原理
- 对每组数据两端各剔除 α%(如 20%)的极端值 → “修剪均值”。
- 根据修剪后数据计算均值差与 Winsorized 方差,形成 t 统计量。
优点
- 对离群值和重尾分布更稳健
- 保持参数检验的便捷性
R 示例
7. 实际应用建议 (Practical Application Guidance)
在真实分析中,面对不同的数据特征和研究需求,应遵循以下步骤来选择合适的 t 检验或其变体:
7.1 数据初探与前提检查
- 可视化
- 绘制箱线图、直方图或 Q–Q 图,初步判断分布形态和离群值。
- 独立性
- 确保各观测值之间独立。若为配对设计,则使用配对 t 检验或配对变体。
- 正态性检查
- 小样本(n < 30):用 Shapiro–Wilk 检验或 Q–Q 图检验正态性。
- 大样本(n ≥ 30):可容忍轻度偏离。
- 方差齐性(仅独立两样本)
- 若样本量大且偏差不严重,可跳过。
- 若想检验,可用 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 小结
- 先验判断:先看设计类型(单样本、独立、配对)。
- 检查前提:正态性、方差齐性、独立性。
- 优先 Welch:避免方差假设纠结。
- 非正态或小样本:使用置换或 Bootstrap。
- 离群值:可用修剪均值检验。
只有在明确理解数据特征和检验假设的基础上,才能选择最恰当的方法,保证结果的可信度与解释力。
Prev
多重检验(Multiple Testing)
Next
从混乱到规范:文件命名、变量命名与版本控制最佳实践
Loading...
YouTube 使用笔记