生存時間

一般化ウィルコクソン検定(Generalized Wilcoxon Test)徹底解説

はじめに

生存時間解析において、群間の生存曲線の差を検定する代表的なノンパラメトリック手法が「ログランク検定」と「一般化ウィルコクソン検定」です。
多くの臨床試験ではログランク検定が標準的に使われますが、イベント発生時期の分布によっては一般化ウィルコクソン検定の方が適切な場合があります。
本記事では、一般化ウィルコクソン検定の理論的背景から実装、解釈、ログランク検定との比較、使い分けの指針までを解説したいと思います。
また、ログランク検定については下記の記事で紹介しておりますので、興味のある方は是非ご一読ください。

ログランク(log-rank)検定を徹底解説群間比較の代表的なノンパラメトリック検定として、ログランク検定(Log-rank test)があります。これは「生存曲線の差を検出する」という目的の検定手法となります。 本記事では、数式的導出から実装例までを体系的に整理します。...

一般化ウィルコクソン検定とは

一般化ウィルコクソン検定(Generalized Wilcoxon test, Breslow testとも呼ばれる)は、Kaplan–Meier推定量に基づく群間比較の一種で、早期イベントに重みを置く検定です。

  • 帰無仮説:全ての時点で群間の生存関数は等しい
  • 対立仮説:少なくともある時点で群間の生存関数が異なる

ログランク検定が「全期間を均等に評価」するのに対し、一般化ウィルコクソン検定は「早期の差を強調」します。

一般化ウィルコクソン検定の導出

一般化ウィルコクソン検定はイベント発生時点\(d_{i} (i=1,…,r)\)ごとに重みを変更することで導出されいます。この考え方は「最初は例数が多いため、信頼性の高い値となるが、後になると例数が減るため、信頼性の低い値となる」からきております。

ここで、重みづけした確率変数\(\sum^{r}_{i=1}w_{i}d_{i}\)の平均と期待値を求めていく。

期待値:

\[E(\sum^{r}_{i=1}w_{i}d_{i}) = w_{1}E(d_{11}) + \cdots + w_{r}E(d_{1r}) = \sum^{r}_{i=1}w_{i}\frac{n_{2i}d_{.i}}{n_{.i}}\]

分散:

$$
V(\sum^{r}_{i=1}w_{i}d_{i}) = w_{1}^{2}Var(d_{11}) + \cdots + w_{r}^{2}Var(d_{1r})
\;=\;
\sum^{r}_{i=1}w_{i}^{2}\frac{n_{1i}n_{2i}d_{.i}(n_{.i} – d_{.i})}{n_{.i}^{2}(n_{.i} – 1)}
$$

求められた重み付き期待値と分散で、マンテル・ヘンテル統計量を求めると下記のようになる。

$$
Z
\;=\;
\frac{\sum_{i=1}^{r} \bigl( w_{i}d_{2i} – w_{i}\frac{n_{2i}d_{.i}}{n_{.i}} \bigr)}
{\sqrt{\sum_{i=1}^{r} w_{i}^{2}\frac{n_{1i}n_{2i}d_{.i}(n_{.i} – d_{.i})}{n_{.i}^{2}(n_{.i} – 1)}}}
\;\approx\; \mathcal{N}(0,1)
$$

$$
X^{2}
\;=\;
\frac{\sum_{i=1}^r \bigl( w_{i}d_{2i} – w_{i}\frac{n_{2i}d_{.i}}{n_{.i}} \bigr)^{2}}
{\sum_{i=1}^{r} w_{i}^{2}\frac{n_{1i}n_{2i}d_{.i}(n_{.i} – d_{.i})}{n_{.i}^{2}(n_{.i} – 1)}}
\;\approx\; \mathcal{X}^{2}(1)
$$

Rでの実装例

# survivalパッケージの読み込み
if (!require(survival)) install.packages(“survival”)
library(survival)

library(survival)
data(lung)

surv_obj <- Surv(time = lung$time, event = lung$status)

#一般化ウィルコクソン検定
fit_wilcox <- survdiff(surv_obj ~ sex, data = lung, rho = 1)

#ログランク検定
fit_logrank <- survdiff(surv_obj ~ sex, data = lung, rho = 0)

fit_wilcox
fit_logrank

Rの結果
> fit_wilcox
Call:
survdiff(formula = surv_obj ~ sex, data = lung, rho = 1)

N Observed Expected (O-E)^2/E (O-E)^2/V
sex=1 138 70.4 55.6 3.95 12.7
sex=2 90 28.7 43.5 5.04 12.7

Chisq= 12.7 on 1 degrees of freedom, p= 4e-04

> fit_logrank
Call:
survdiff(formula = surv_obj ~ sex, data = lung, rho = 0)

N Observed Expected (O-E)^2/E (O-E)^2/V
sex=1 138 112 91.6 4.55 10.3
sex=2 90 53 73.4 5.68 10.3

Chisq= 10.3 on 1 degrees of freedom, p= 0.001
  • ウィルコクソン検定:p値が4e-04のため、有意水準5%とすると有意差あり。
  • ログランク検定:p値が0.001のため、有意水準5%とすると有意差あり。

ログランク検定と一般化ウィルコクソン検定の違い

特徴ログランク検定一般化ウィルコクソン検定
重み均等(全期間同等)早期イベントに大きな重み
検出力が高い場面ハザード比が時間を通じて一定早期に差が大きい場合
弱い場面早期差が小さい場合後期に差が大きい場合

使い分けの指針

  • 早期イベントが臨床的に重要な試験(急性期治療、短期予後評価)
    → 一般化ウィルコクソン検定が有効
  • 全期間の差を均等に評価したい場合(慢性疾患の長期予後)
    → ログランク検定
  • 実務では両方を併用し、Kaplan–Meier曲線と併せて解釈するのが望ましい

まとめ

今回は一般化ウィルコクソン検定について解説してきました。一般化ウィルコクソン検定は早期イベントに重みを置く生存曲線比較法となります。ログランク検定は相対的に後半のイベントを重く評価する検定であるため、どちらを使うべきかはKaplan–Meier曲線と併せて解釈していくことが大切かと思います。

ABOUT ME
tomokichi
外資系製薬会社で生物統計家として働ている1児のパパ。生物統計家とは何か、どのようなスキルが必要か、何を行っているのかを共有していきたいと思っております!生物統計に関する最新情報を皆様にお届けすべく、日々奮闘中です。趣味は筋トレ、温泉巡り、家族と散歩。
RELATED POST