## 15.4 配對 t 檢驗
在實驗研究中,我們經常在受試者設計中使用 _,在設計中我們比較同一個人的多個測量值。例如,在 nhanes 數據集中,血壓測量了三次。假設我們有興趣測試第一次和第二次測量之間的平均血壓是否存在差異(圖[15.3](#fig:BPfig))。_

圖 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))。

圖 15.4 每一次記錄的收縮壓小提琴圖,每一次記錄的兩個數據點之間都有連接線。
在這個分析中,我們真正關心的是兩次測量之間每個人的血壓是否有系統的變化,所以表示數據的另一種方法是計算每個人的兩個時間點之間的差異,然后分析這些差異。而不是分析單個測量值。在圖[15.5](#fig:BPDiffHist)中,我們顯示了這些差異分數的柱狀圖,藍色線表示平均差異。

圖 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
```
在這里我們看到,在無效假設下,有陽性跡象的個體比例(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