## 15.4 配对 t 检验
在实验研究中,我们经常在受试者设计中使用 _,在设计中我们比较同一个人的多个测量值。例如,在 nhanes 数据集中,血压测量了三次。假设我们有兴趣测试第一次和第二次测量之间的平均血压是否存在差异(图[15.3](#fig:BPfig))。_
![Violin plot of systolic blood pressure on first and second recording, from NHANES.](https://img.kancloud.cn/b2/93/b293d826caa01ce41264f9a3517be0c2_384x384.png)
图 15.3 NHANES 第一次和第二次记录的收缩压小提琴图。
我们发现,在不同的时间点(大约一点)之间,平均血压似乎没有太大的差异。首先,让我们使用一个独立的样本 t 检验来测试差异,它忽略了数据点对来自同一个人的事实。
```r
t.test(
BPsys ~ timepoint,
data = NHANES_sample_tidy,
paired = FALSE,
var.equal = TRUE
)
```
```r
##
## Two Sample t-test
##
## data: BPsys by timepoint
## t = 0.5, df = 400, p-value = 0.6
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -2.8 4.6
## sample estimates:
## mean in group BPSys1 mean in group BPSys2
## 122 121
```
这一分析显示没有显著差异。然而,这种分析是不适当的,因为它假定两个样本是独立的,而事实上它们不是独立的,因为数据来自同一个人。我们可以用每一个人的一行来绘制数据来显示这一点(参见图[15.4](#fig:BPLinePlot))。
![Violin plot of systolic BP on each recording, with lines connecting the two data points for each individual.](https://img.kancloud.cn/b0/7d/b07de6f9ddabe6c535799dfa231ec310_384x384.png)
图 15.4 每一次记录的收缩压小提琴图,每一次记录的两个数据点之间都有连接线。
在这个分析中,我们真正关心的是两次测量之间每个人的血压是否有系统的变化,所以表示数据的另一种方法是计算每个人的两个时间点之间的差异,然后分析这些差异。而不是分析单个测量值。在图[15.5](#fig:BPDiffHist)中,我们显示了这些差异分数的柱状图,蓝色线表示平均差异。
![Histogram of difference scores between first and second BP measurement.](https://img.kancloud.cn/8a/0d/8a0d3529c3b9bffabb89dcaba7702589_384x384.png)
图 15.5 第一次和第二次血压测量的差分柱状图。
### 15.4.1 标志试验
测试差异的一个简单方法是使用一个名为 _ 符号测试 _ 的测试,它询问正差异的比例(忽略它们的大小)是否不同于我们所期望的偶然性。为了做到这一点,我们利用这些差异计算它们的符号,然后我们使用二项式测试来询问阳性符号的比例是否与 0.5 不同。
```r
# compute sign test for differences between first and second measurement
npos <- sum(NHANES_sample$diffPos)
bt <- binom.test(npos, nrow(NHANES_sample))
bt
```
```r
##
## Exact binomial test
##
## data: npos and nrow(NHANES_sample)
## number of successes = 100, number of trials = 200, p-value = 0.4
## alternative hypothesis: true probability of success is not equal to 0.5
## 95 percent confidence interval:
## 0.46 0.60
## sample estimates:
## probability of success
## 0.53
```
在这里我们看到,在无效假设![](https://img.kancloud.cn/67/3c/673cbcd1e16095f4785b7a64ecfb3c1d_57x17.jpg)下,有阳性迹象的个体比例(0.53)不足以令人惊讶。然而,符号测试的一个问题是它丢弃了关于差异大小的信息,因此可能遗漏了一些东西。
### 15.4.2 配对 t 检验
更常见的策略是使用 _ 对 t 检验 _,这相当于一个样本 t 检验,以确定测量值之间的平均差是否为零。我们可以使用 r 中的`t.test()`函数和设置`paired=TRUE`来计算这个值。
```r
# compute paired t-test
t.test(BPsys ~ timepoint, data = NHANES_sample_tidy, paired = TRUE)
```
```r
##
## Paired t-test
##
## data: BPsys by timepoint
## t = 2, df = 200, p-value = 0.02
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.17 1.69
## sample estimates:
## mean of the differences
## 0.93
```
通过这些分析,我们发现两个测量值实际上存在显著差异。让我们计算一下贝叶斯因子,看看这种影响有多强:
```r
# compute Bayes factor for paired t-test
ttestBF(x = NHANES_sample$BPSys1, y = NHANES_sample$BPSys2, paired = TRUE)
```
```r
## Bayes factor analysis
## --------------
## [1] Alt., r=0.707 : 1.3 ±0%
##
## Against denominator:
## Null, mu = 0
## ---
## Bayes factor type: BFoneSample, JZS
```
这表明,虽然在配对 t 检验中效果显著,但实际上它几乎没有提供支持替代假设的证据。
### 15.4.3 配对 t 检验作为线性模型
我们也可以用一般线性模型来定义配对 t 检验。为了做到这一点,我们将每个主题的所有度量都作为数据点(在整洁的数据框架内)。然后,我们在模型中包含一个变量,该变量编码每个人的身份(在本例中,是包含每个人的主题 ID 的 ID 变量)。这被称为 _ 混合模型 _,因为它包括独立变量的影响以及个体的影响。标准模型拟合程序`lm()`不能做到这一点,但我们可以使用流行的 R 包 _lme4_ 中的`lmer()`函数来实现这一点,该包专门用于估计混合模型。公式中的`(1|ID)`告诉`lmer()`为`ID`变量的每个值(即数据集中的每个个体)估计一个单独的截距(即`1`所指的截距),然后估计一个与 bp 相关的公共斜率。
```r
# compute mixed model for paired test
lmrResult <- lmer(BPsys ~ timepoint + (1 | ID), data = NHANES_sample_tidy)
summary(lmrResult)
```
```r
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: BPsys ~ timepoint + (1 | ID)
## Data: NHANES_sample_tidy
##
## REML criterion at convergence: 2982
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.6985 -0.4478 0.0058 0.3996 2.7395
##
## Random effects:
## Groups Name Variance Std.Dev.
## ID (Intercept) 342 18.49
## Residual 15 3.87
## Number of obs: 400, groups: ID, 200
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 121.770 1.336 207.545 91.2 <2e-16 ***
## timepointBPSys2 -0.930 0.387 199.000 -2.4 0.017 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr)
## tmpntBPSys2 -0.145
```
您可以看到,这向我们显示了一个 p 值,它非常接近于使用`t.test()`函数计算的成对 t 检验的结果。
- 前言
- 0.1 本书为什么存在?
- 0.2 你不是统计学家-我们为什么要听你的?
- 0.3 为什么是 R?
- 0.4 数据的黄金时代
- 0.5 开源书籍
- 0.6 确认
- 1 引言
- 1.1 什么是统计思维?
- 1.2 统计数据能为我们做什么?
- 1.3 统计学的基本概念
- 1.4 因果关系与统计
- 1.5 阅读建议
- 2 处理数据
- 2.1 什么是数据?
- 2.2 测量尺度
- 2.3 什么是良好的测量?
- 2.4 阅读建议
- 3 概率
- 3.1 什么是概率?
- 3.2 我们如何确定概率?
- 3.3 概率分布
- 3.4 条件概率
- 3.5 根据数据计算条件概率
- 3.6 独立性
- 3.7 逆转条件概率:贝叶斯规则
- 3.8 数据学习
- 3.9 优势比
- 3.10 概率是什么意思?
- 3.11 阅读建议
- 4 汇总数据
- 4.1 为什么要总结数据?
- 4.2 使用表格汇总数据
- 4.3 分布的理想化表示
- 4.4 阅读建议
- 5 将模型拟合到数据
- 5.1 什么是模型?
- 5.2 统计建模:示例
- 5.3 什么使模型“良好”?
- 5.4 模型是否太好?
- 5.5 最简单的模型:平均值
- 5.6 模式
- 5.7 变异性:平均值与数据的拟合程度如何?
- 5.8 使用模拟了解统计数据
- 5.9 Z 分数
- 6 数据可视化
- 6.1 数据可视化如何拯救生命
- 6.2 绘图解剖
- 6.3 使用 ggplot 在 R 中绘制
- 6.4 良好可视化原则
- 6.5 最大化数据/墨水比
- 6.6 避免图表垃圾
- 6.7 避免数据失真
- 6.8 谎言因素
- 6.9 记住人的局限性
- 6.10 其他因素的修正
- 6.11 建议阅读和视频
- 7 取样
- 7.1 我们如何取样?
- 7.2 采样误差
- 7.3 平均值的标准误差
- 7.4 中心极限定理
- 7.5 置信区间
- 7.6 阅读建议
- 8 重新采样和模拟
- 8.1 蒙特卡罗模拟
- 8.2 统计的随机性
- 8.3 生成随机数
- 8.4 使用蒙特卡罗模拟
- 8.5 使用模拟统计:引导程序
- 8.6 阅读建议
- 9 假设检验
- 9.1 无效假设统计检验(NHST)
- 9.2 无效假设统计检验:一个例子
- 9.3 无效假设检验过程
- 9.4 现代环境下的 NHST:多重测试
- 9.5 阅读建议
- 10 置信区间、效应大小和统计功率
- 10.1 置信区间
- 10.2 效果大小
- 10.3 统计能力
- 10.4 阅读建议
- 11 贝叶斯统计
- 11.1 生成模型
- 11.2 贝叶斯定理与逆推理
- 11.3 进行贝叶斯估计
- 11.4 估计后验分布
- 11.5 选择优先权
- 11.6 贝叶斯假设检验
- 11.7 阅读建议
- 12 分类关系建模
- 12.1 示例:糖果颜色
- 12.2 皮尔逊卡方检验
- 12.3 应急表及双向试验
- 12.4 标准化残差
- 12.5 优势比
- 12.6 贝叶斯系数
- 12.7 超出 2 x 2 表的分类分析
- 12.8 注意辛普森悖论
- 13 建模持续关系
- 13.1 一个例子:仇恨犯罪和收入不平等
- 13.2 收入不平等是否与仇恨犯罪有关?
- 13.3 协方差和相关性
- 13.4 相关性和因果关系
- 13.5 阅读建议
- 14 一般线性模型
- 14.1 线性回归
- 14.2 安装更复杂的模型
- 14.3 变量之间的相互作用
- 14.4“预测”的真正含义是什么?
- 14.5 阅读建议
- 15 比较方法
- 15.1 学生 T 考试
- 15.2 t 检验作为线性模型
- 15.3 平均差的贝叶斯因子
- 15.4 配对 t 检验
- 15.5 比较两种以上的方法
- 16 统计建模过程:一个实例
- 16.1 统计建模过程
- 17 做重复性研究
- 17.1 我们认为科学应该如何运作
- 17.2 科学(有时)是如何工作的
- 17.3 科学中的再现性危机
- 17.4 有问题的研究实践
- 17.5 进行重复性研究
- 17.6 进行重复性数据分析
- 17.7 结论:提高科学水平
- 17.8 阅读建议
- References