降圧薬を使った群と使わなかった群の収縮期血圧を比べる研究と、同じ対象者の投与前後の収縮期血圧を比べる研究では、どちらも「2つの平均の比較」に見えます。しかし、前者の値は別々の人から得られ、後者の値は同じ人の中で結び付いています。この結び付きを無視すると、標準誤差と信頼区間が変わり、p値も変わります。t検定の選択は、値の分布を眺めて決めるのではなく、誰の測定値と誰の測定値が組になっているかから始まります。
この記事を読むと、独立2群ではWelchのt検定を基本とする理由と、対応のあるデータを各組の差へ変換する理由が分かります。さらに、平均差、95%信頼区間、p値をどの順で読み、研究結果として何を報告するかまで判断できるようになります。
対応は研究デザインで決まる
Xuら(2017)は、対応のない2標本t検定と対応のあるt検定の違いを、標本間の独立性と組内の関連から整理しています。異なる対象者で構成された治療群と対照群なら、通常は対応のないデータです。同じ対象者の治療前後、左右の眼、あるいは事前に組を作った対象者同士なら、1組の中の2値は関連するため、対応のあるデータとして扱います。
ここでよくある誤解は、2群の標本数が同じなら対応のあるt検定を選べる、というものです。人数が同じだけでは対応は生まれません。どの観測値とどの観測値が組になるかを、対象者IDやマッチ番号によって一意に説明できることが必要です。逆に、一部の対象者で追跡値が欠けて組が完成しない場合、完全な組だけを使う単純な対応のあるt検定では、その欠測が結果へ及ぼす影響を別に考える必要があります。
私なら解析法を決める前に、群名よりも観測単位を確認します。血圧値が48個あるという情報だけでは足りず、48人から1回ずつ得たのか、24人から2回ずつ得たのかによって、推定に使える情報の構造が異なるからです。
独立2群ではWelch法を基本にする
対応のない2群で知りたい量を、母平均の差$\mu_1-\mu_2$とします。第1群の標本平均を$\bar{X}_1$、標本分散を$s_1^2$、標本数を$n_1$とし、第2群も同様に定めると、Welchのt統計量は次の形です。
$$t=\frac{\bar{X}_1-\bar{X}_2}{\sqrt{s_1^2/n_1+s_2^2/n_2}} \tag{1}$$
式(1)は、観察された平均差を、各群の分散と標本数から求めた平均差の標準誤差で割っています。分母に2群それぞれのばらつきを残すため、母分散が等しいという追加仮定を置きません。
Welch(1947)は、母分散が異なる場合にも対応できるようStudentの方法を拡張し、自由度を近似する方法を示しました。とくに標本数と分散の両方が群間で異なる場合、2群の分散を併合するStudentの2標本t検定では、標準誤差を適切に評価できないことがあります。そのため、独立2群の平均差を比較する場合は、等分散性を事前に検定してStudent法とWelch法を切り替えるのではなく、Welch法を基本とします。分散検定のp値によって、平均差を検定する方法まで事後的に選び直す必要はありません。
ただし、Welch法で対応できるのは、2群の分散が異なることによる問題です。異なる病院の患者をまとめたデータでは同じ施設の患者同士に相関が生じることがあり、同じ対象者から複数回得た測定値にも対象者内の相関があります。このようなデータでは、観測値が互いに独立という前提そのものが成り立ちません。また、強い歪みや極端な外れ値があり、平均差を代表値として扱うこと自体が研究目的に合わない場合には、Welch法を使うかどうかではなく、分布の形と推定対象から見直す必要があります。
対応ありでは組内差を解析する
同じ24人について投与前と追跡時の血圧を測った場合、関心があるのは別々に計算した2群平均の差ではなく、一人ひとりの変化量です。各組の差を$d_i=X_{i,\mathrm{before}}-X_{i,\mathrm{after}}$、差の平均を$\bar{d}$、差の標準偏差を$s_d$、組数を$n$とすると、対応のあるt統計量は次のようになります。
$$t=\frac{\bar{d}}{s_d/\sqrt{n}} \tag{2}$$
式(2)では、各人の投与前後差を1つの観測値として扱い、その差の母平均が0かどうかを1標本t検定と同じ形で調べます。そのため、正規性の仮定が関わるのは投与前値と追跡値それぞれの分布ではなく、組内差$d_i$の分布です。
各人の差を取ることで、個人ごとの血圧水準の違いを取り除けます。投与前値が高い人ほど追跡値も高いという正の組内相関があれば、組内差のばらつきは各時点の値のばらつきより小さくなることがあります。対応を無視すると、この相関を標準誤差へ反映できません。また、対応ありと対応なしのp値を比べて小さい方を採用する方法も適切ではありません。
対応のあるt検定で直接推定するのは、解析に含まれた完全なペアにおける平均変化です。追跡値が得られなかった対象者を除外すると、解析対象が当初の登録集団と異なる可能性があるため、欠測が多い研究では完全なペアだけを解析することで結果がどのような影響を受けるかを考え、欠測理由と実際の解析対象集団を明記する必要があります。
正規性検定だけで切り替えない
「正規性検定でp値が0.05未満なら順位検定へ替える」という二段階手順は分かりやすく見えますが、Rochonら(2012)は、独立2標本の比較で正規性の予備検定を行ってから検定法を選ぶと、その後の検定の第I種過誤率に影響し得ることをシミュレーションで示しています。したがって、予備検定が有意でなかったとしても、それを母集団が正規分布であることの確認とは読めません。
Lumleyら(2002)が論じたように、大標本での平均に関する推測は、中心極限定理によって母集団分布の非正規性に対して頑健になる場面がありますが、その性質がどの標本サイズでも保証されるわけではなく、強い歪み、極端な外れ値、裾の重さがある時には標本平均と標準誤差が不安定になります。そのため、対応ありでは組内差の分布を、対応なしでは各群の分布と影響の大きい観測値を確認します。
さらに、順位検定へ替えると平均差についての検定をそのまま続けたことにはならないため、研究目的が平均医療費や平均血圧の差にあるなら、平均差とその信頼区間が主たる推定対象です。分布が扱いにくい場合も、変換や別の検定へ反射的に移るのではなく、平均が科学的に意味を持つか、外れ値が測定誤りか実在する値か、標本数が推測を支えるかを順に考えます。
平均差と信頼区間を先に読む
t検定の出力ではp値に目が向きやすいのですが、研究結果の中心となるのは平均差であり、たとえば収縮期血圧の差が統計的に有意でも、その大きさが研究上重要かどうかは、対象集団、測定精度、事前に定めた臨床的に意味のある差と合わせて判断します。また、p値は差が0という帰無仮説の下で観察結果以上に極端な統計量が得られる確率を表すもので、治療効果が存在する確率を示しているわけではありません。
また、95%信頼区間は平均差としてデータと整合する範囲を同じ単位で示すため、0をまたぐかだけで有意性を言い換えるのではなく、研究上意味のある差を含むのか、反対方向の差をどこまで除外できるのかまで読みます。とくに標本数が少なく区間が広い場合には、不確実性が大きく残っているため、有意でない結果から「差はない」とは結論できません。
そして、実際の報告では、各群または各時点の標本数、平均と標準偏差、平均差、95%信頼区間、使用したt検定の種類を記載し、対応ありの場合は解析した組数と差の向きも明記します。「投与前−追跡時」と「追跡時−投与前」では同じ絶対値でも符号が反転するため、どちらの向きで差を定義したのかが曖昧だと効果方向まで逆に読まれてしまいます。
Rで2つのデータ構造を比べる
base Rとstatsパッケージを使い、収縮期血圧を想定したランダムに生成したデータセットを用意しました。独立2群は対照群30人と治療群18人で、生成時の標準偏差をそれぞれ10と18に設定しています。対応ありは24人の投与前後測定で、投与前値が高い人ほど追跡値も高くなる構造です。
set.seed(42)
control <- rnorm(30, mean = 132, sd = 10)
treatment <- rnorm(18, mean = 125, sd = 18)
welch_test <- t.test(control, treatment, var.equal = FALSE,
conf.level = 0.95)
baseline <- rnorm(24, mean = 140, sd = 12)
followup <- baseline - 5 + rnorm(24, mean = 0, sd = 6)
paired_test <- t.test(baseline, followup, paired = TRUE,
conf.level = 0.95)
#> Welch: mean difference = 11.75, SE = 4.90
#> t = 2.40, df = 26.64, p = 0.0236
#> 95% CI = [1.70, 21.80]
#> Paired: mean difference = 4.39, SE = 1.05
#> t = 4.19, df = 23, p = 0.000348
#> 95% CI = [2.22, 6.55]
独立2群では、対照群から治療群を引いた平均差が11.75mmHgで、95%信頼区間は1.70〜21.80mmHgでした。読み違えやすいのは、p=0.0236を臨床的な効果の証明と受け取ることです。
一方、投与前から追跡時を引いた組内差は平均4.39mmHgで、95%信頼区間は2.22〜6.55mmHgでした。組内相関は0.926で、対応を無視したWelch法では標準誤差が3.61、p=0.231となりますが、これは対応のある解析に対する感度分析ではありません。同じデータの結び付きを捨てた、研究デザインに合わない解析との比較です。

png("draft/figures/t-test-data-structure.png", width = 1100, height = 688, res = 200, type = "cairo")
par(mfrow = c(1, 2), mar = c(4.2, 4.3, 2.5, 2), las = 1,
cex.axis = 0.85, cex.lab = 0.9, cex.main = 0.9)
stripchart(list(Control = control, Treatment = treatment), vertical = TRUE,
method = "jitter", pch = 16, col = c("#2C7FB8", "#D95F0E"),
ylab = "Systolic blood pressure (mmHg)", main = "Independent groups")
segments(c(0.82, 1.82), c(mean(control), mean(treatment)),
c(1.18, 2.18), c(mean(control), mean(treatment)), lwd = 4)
plot(c(1, 2), range(c(baseline, followup)), type = "n", xaxt = "n",
xlab = "Measurement", ylab = "Systolic blood pressure (mmHg)",
main = "Paired measurements")
axis(1, at = c(1, 2), labels = c("Baseline", "Follow-up"))
segments(1, baseline, 2, followup, col = adjustcolor("#666666", 0.45))
points(rep(1, 24), baseline, pch = 16, col = "#2C7FB8"); points(rep(2, 24), followup, pch = 16, col = "#D95F0E")
dev.off()
図の左側では、群ごとの散らばりと標本数の違いが分かります。右側では、各人の線をたどることで、時点ごとの分布だけでは見えにくい変化量を確認できます。この例で対応のある解析の標準誤差が小さいのは、正の組内相関を持つように生成した今回のデータで観察された結果であり、対応のあるt検定が常に小さなp値を返すという一般則ではありません。
研究目的から検定を決める
Student(1908)が扱った平均の推測は、母分散が未知の小標本でt分布を使う基礎を与えました。その考え方は、独立2群の平均差にも、組内差を1標本として扱う対応のある検定にもつながっています。ただし、名称が同じt検定でも、標準誤差に入る情報は同じではありません。
解析計画では、観測単位、対応を作る識別子、差の向き、主たる推定量、信頼区間の水準を結果を見る前に定めます。独立2群なら、等分散を積極的に仮定する理由がない限りWelch法を基本とし、対応ありなら各組の差を解析します。そして、p値だけで結論を出さず、平均差と95%信頼区間が研究目的に照らしてどの範囲を支持するかを報告します。
参考文献
- Student. The probable error of a mean. Biometrika. 1908;6(1):1-25.
- Welch BL. The generalization of “Student’s” problem when several different population variances are involved. Biometrika. 1947;34(1-2):28-35.
- Xu M, Fralick D, Zheng JZ, Wang B, Tu XM, Feng C. The differences and similarities between two-sample t-test and paired t-test. Shanghai Archives of Psychiatry. 2017;29(3):184-188.
- Lumley T, Diehr P, Emerson S, Chen L. The importance of the normality assumption in large public health data sets. Annual Review of Public Health. 2002;23:151-169.
- Rochon J, Gondan M, Kieser M. To test or not to test: preliminary assessment of normality when comparing two independent samples. BMC Medical Research Methodology. 2012;12:81.

