【統計解説】Kaplan–Meier法(カプラン–マイヤー法)

打ち切りを含む生存時間データから生存関数を推定するKaplan–Meier法について、条件付き生存確率の積、曲線の読み方、log-rank検定、Cox比例ハザードモデルとの役割分担までを順を追って解説する。

ChatGPTと一緒に統計学に関わる事象について直感的な理解を目指すシリーズ。

Cox比例ハザードモデルの記事(【統計解説】Cox比例ハザードモデルについて)では、説明変数とハザードの関係を扱った。本稿では、その前提となる生存関数そのものをデータから推定する方法として、Kaplan–Meier法を整理する。

0. 目次

    1. まず全体像:Kaplan–Meier法は「生存関数を推定する方法」
    1. Kaplan–Meier法ではどんなデータを扱うのか
    1. そもそも何を推定したいのか:生存関数 $S(t)$
    1. なぜ単純な「生存者数 ÷ 全患者数」ではダメなのか
    1. 打ち切り患者をどう考えるのか
    1. Kaplan–Meier法の基本的な発想
    1. 条件付き生存確率を掛け合わせる
    1. Kaplan–Meier推定量の式
    1. 実際のデータからKaplan–Meier曲線を作る
    • 9-1. 2年時点
    • 9-2. 4年時点
    • 9-3. 5年時点
    • 9-4. 6年時点
    1. なぜ打ち切りでは曲線が下がらないのか
    1. なぜKaplan–Meier曲線は階段状になるのか
    1. Kaplan–Meier曲線から何を読み取れるのか
    1. 生存率の標準誤差と95%信頼区間
    1. 2群のKaplan–Meier曲線を比較する
    1. log-rank検定とは何を検定しているのか
    1. Kaplan–Meier法とCox比例ハザードモデルの関係
    1. Kaplan–Meier法・Cox・パラメトリックモデルの比較
    1. Kaplan–Meier法の前提と注意点
    1. 全体のまとめ

1. まず全体像:Kaplan–Meier法は「生存関数を推定する方法」

Kaplan–Meier法(Kaplan–Meier estimator)は、

打ち切りを含む生存時間データから、生存関数 $S(t)$ を推定する方法

である。

Cox比例ハザードモデルの記事では、

$$ S(t)=P(T>t) $$

という生存関数を扱った。

これは、

時刻 $t$ を超えてイベントを起こさずにいる確率

を表していた。

しかし、ここで一つ疑問が生じる。

実際の研究では、生存関数

$$ S(t) $$

そのものは最初から分かっているわけではない。

例えば、

5年を超えて生存する確率は何%なのか

という問いに答えるためには、実際に集めた患者データから、

$$ S(5) $$

を推定する必要がある。

そのために使われる代表的な方法がKaplan–Meier法である。

したがってKaplan–Meier法の目的は、

$$ \boxed{ \text{患者データ} \longrightarrow \hat S(t) } $$

である。

ここで、

$$ \hat S(t) $$

の上についている

$$ \hat{} $$

は、

真の生存関数 $S(t)$ そのものではなく、データから推定した値

という意味である。

Cox比例ハザードモデルが、

説明変数によってハザードが何倍変化するか

を推定するモデルだったのに対して、Kaplan–Meier法では、

そもそも時間とともに生存確率がどのように低下していくのか

を直接推定する。

ここが両者の最初の大きな違いである。


2. Kaplan–Meier法ではどんなデータを扱うのか

Cox比例ハザードモデルと同じように、生存時間データを扱う。

例えば5人の患者を追跡したとする。

患者観察時間結果
A2年死亡
B4年死亡
C5年打ち切り
D6年死亡
E8年打ち切り

患者 $i$ について必要なのは基本的に、

$$ (T_i,\delta_i) $$

である。

ここで、

$$ T_i $$

は観察された時間、

$$ \delta_i $$

はイベントが観測されたかどうかを表す。

$$ \delta_i= \begin{cases} 1 & \text{イベントが観測された場合}\\\\ 0 & \text{打ち切りの場合} \end{cases} $$

である。

例えばAは、

$$ T_A=2,\qquad \delta_A=1 $$

である。

一方Cは5年で追跡が終了したが、その時点では死亡していない。

したがって、

$$ T_C=5,\qquad \delta_C=0 $$

となる。

重要なのは、

$$ \delta_C=0 $$

が、

Cは死亡しなかった

という意味ではないことである。

分かっているのは、

少なくとも5年までは死亡していなかった

ということだけである。

これが右打ち切りである。


3. そもそも何を推定したいのか:生存関数 $S(t)$

イベントが起こるまでの時間を確率変数

$$ T $$

とする。

生存関数は、

$$ \boxed{ S(t)=P(T>t) } $$

だった。

例えば、

$$ S(5)=0.8 $$

なら、

5年を超えてイベントを起こさずにいる確率が80%

という意味である。

死亡をイベントとするなら、

5年を超えて生存する確率が80%

となる。

再発をイベントとするなら、

5年を超えて再発しない確率が80%

となる。

つまり「生存関数」という名前ではあるが、死亡以外のイベントにもそのまま使える。

Kaplan–Meier法では、この未知の

$$ S(t) $$

を患者データから推定する。

つまり、

$$ S(t) $$

という理論上の確率に対して、

$$ \hat S(t) $$

という推定値を作ることが目的である。


4. なぜ単純な「生存者数 ÷ 全患者数」ではダメなのか

まず、打ち切りが一切ない場合を考える。

100人全員を5年間追跡できて、そのうち80人が5年を超えて生存していたなら、

$$ \hat S(5)

\frac{80}{100}

0.8 $$

と考えるのは自然である。

問題は、実際の研究では全患者を同じ期間追跡できるとは限らないことである。

例えば100人のうち、

結果人数
5年以内に死亡20
5年を超えて生存60
3年で追跡不能20

だったとする。

このとき単純に、

$$ \frac{60}{100}=0.6 $$

とすると、3年で追跡不能になった20人を、

5年以内に死亡した人

と同じように扱ってしまう。

しかし実際には、その20人は少なくとも3年間は生存していた。

逆に、その20人を最初から除外して、

$$ \frac{60}{80}=0.75 $$

とするのも問題である。

今度は、

その20人が3年間生存していた

という情報をすべて捨ててしまう。

したがって必要なのは、

打ち切られるまではその患者の情報を利用し、打ち切られた後はそれ以降の計算から外す

という方法である。

Kaplan–Meier法はまさにこれを行う。


5. 打ち切り患者をどう考えるのか

例えば、

1
2
3
0年      2年      4年      5年      6年      8年
│---------│---------│---------│---------│---------│
           A死亡     B死亡     C打切り   D死亡     E打切り

だったとする。

Cは5年で打ち切られている。

しかしCについては、

1
2
3
0年 ───────────────── 5年
                      ↑
                 ここまでは生存

していたことが分かっている。

したがって2年時点ではCも、

まだイベントを起こしていない患者

として使える。

4年時点でも同様である。

しかし6年時点では、Cが生存しているのか死亡しているのか分からない。

したがって6年時点の計算には使えない。

つまり、

$$ \boxed{ \text{打ち切り患者}

\text{打ち切られるまでは利用し、その後はリスク集合から外す} } $$

という扱いになる。

この考え方はCox比例ハザードモデルでも同じである。


6. Kaplan–Meier法の基本的な発想

では、実際に

$$ S(t) $$

をどう推定するのか。

Kaplan–Meier法では、

イベントが発生する時点ごとに、その時点を生き残る条件付き確率を計算する

という方法を使う。

例えば研究開始時点で5人いるとする。

2年時点で1人死亡した。

この2年時点の直前には5人全員がイベントを起こしていなかった。

そのうち1人が死亡し、4人が生き残った。

したがって、

2年時点直前まで生存していた人が、2年時点を生き残る確率

は、

$$ \frac{4}{5} $$

と推定できる。

したがって、

$$ \hat S(2)=\frac{4}{5}=0.8 $$

となる。

次に4年時点でさらに1人死亡したとする。

この時点の直前には4人が残っている。

その4人のうち3人が4年時点を生き残ったので、

$$ P( 4\text{年を生き残る} \mid 2\text{年まで生存} )

\frac{3}{4} $$

と推定できる。

では、研究開始から4年を超えて生存する確率はどうなるか。

それには、

まず2年を生き残り、さらにその条件のもとで4年も生き残る

必要がある。

したがって、

$$ \hat S(4)

\frac{4}{5} \times \frac{3}{4}

0.6 $$

となる。

ここがKaplan–Meier法の核心である。


7. 条件付き生存確率を掛け合わせる

なぜ掛け算するのかをもう少し整理する。

4年を超えて生存するためには、

2年を超えて生存する

ことに加えて、

2年まで生存したという条件のもとで、さらに4年を超えて生存する

必要がある。

確率の積の公式から、

$$ P(T>4)

P(T>2) P(T>4\mid T>2) $$

となる。

例えば、

$$ P(T>2)=0.8 $$

で、

$$ P(T>4\mid T>2)=0.75 $$

なら、

$$ P(T>4)

0.8\times0.75

0.6 $$

となる。

さらに6年時点まで考えるなら、

$$ P(T>6)

P(T>2) \times P(T>4\mid T>2) \times P(T>6\mid T>4) $$

となる。

Kaplan–Meier法は、この条件付き確率をイベント時点ごとに計算して、次々と掛け合わせている。

したがって、

$$ \boxed{ \text{Kaplan–Meier法}

\text{各イベント時点の条件付き生存確率を順番に掛け合わせる} } $$

と理解するとよい。


8. Kaplan–Meier推定量の式

イベントが起きた時刻を、

$$ t_1,t_2,\ldots,t_k $$

とする。

各イベント時点

$$ t_i $$

の直前に、

$$ n_i $$

人がまだイベントを起こさず観察されていたとする。

この

$$ n_i $$

人を、その時点のrisk set(リスク集合)と考える。

そして、その時点で

$$ d_i $$

人にイベントが起きたとする。

すると、その時点をイベントなしで通過する条件付き確率は、

$$ \frac{n_i-d_i}{n_i} $$

である。

これは、

$$ 1-\frac{d_i}{n_i} $$

とも書ける。

したがって、時刻 $t$ までのすべてのイベント時点について掛け合わせると、

$$ \boxed{ \hat S(t)

\prod_{t_i\le t} \left( 1-\frac{d_i}{n_i} \right) } $$

となる。

これがKaplan–Meier推定量である。

ここで、

$$ \prod $$

は、

該当するすべての項を掛け合わせる

という意味である。

つまり式の中身は、

$$ \boxed{ \hat S(t)

\text{1回目を生き残る確率} \times \text{2回目を生き残る確率} \times \cdots } $$

というだけである。

Kaplan–Meier推定量はproduct-limit estimatorとも呼ばれる。

「product」と呼ばれるのは、このように条件付き生存確率を積として求めるためである。


9. 実際のデータからKaplan–Meier曲線を作る

次のデータを使う。

患者観察時間結果
A2年死亡
B4年死亡
C5年打ち切り
D6年死亡
E8年打ち切り

研究開始時点では5人全員が生存しているので、

$$ \hat S(0)=1 $$

である。

9-1. 2年時点

2年直前には5人全員がリスク集合に入っている。

したがって、

$$ n_1=5 $$

である。

2年時点でAが死亡したので、

$$ d_1=1 $$

である。

したがって、

$$ 1-\frac{d_1}{n_1}

1-\frac{1}{5}

\frac{4}{5} $$

となる。

よって、

$$ \boxed{ \hat S(2)

1\times\frac{4}{5}

0.8 } $$

である。

9-2. 4年時点

Aはすでに死亡している。

したがって4年直前のリスク集合は、

$$ \{B,C,D,E\} $$

であり、

$$ n_2=4 $$

である。

4年時点でBが死亡するので、

$$ d_2=1 $$

である。

この時点を生き残る条件付き確率は、

$$ 1-\frac{1}{4}

\frac{3}{4} $$

となる。

したがって、

$$ \hat S(4)

\frac{4}{5} \times \frac{3}{4} $$

なので、

$$ \boxed{ \hat S(4)=0.6 } $$

となる。

9-3. 5年時点

5年時点でCが打ち切られる。

ここでは死亡というイベントは発生していない。

したがって、

$$ \hat S(5)=0.6 $$

のままである。

ただしCは5年以降のリスク集合から外れる。

9-4. 6年時点

6年直前には、

$$ D,E $$

の2人が残っている。

したがって、

$$ n_3=2 $$

である。

Dが死亡するので、

$$ d_3=1 $$

である。

したがって6年時点を生き残る条件付き確率は、

$$ 1-\frac{1}{2}

\frac{1}{2} $$

となる。

よって、

$$ \hat S(6)

0.6\times\frac{1}{2} $$

なので、

$$ \boxed{ \hat S(6)=0.3 } $$

となる。

8年ではEが打ち切られるだけなので、生存率は0.3のままである。

結果をまとめると、

時刻直前のリスク集合 $n_i$イベント数 $d_i$条件付き生存確率$\hat S(t)$
0年5011.00
2年51$4/5$0.80
4年41$3/4$0.60
5年30―0.60
6年21$1/2$0.30
8年10―0.30

この表が、そのままKaplan–Meier曲線の元になる。


10. なぜ打ち切りでは曲線が下がらないのか

5年時点でCが打ち切られている。

しかし、

$$ \hat S(5) $$

は下がらない。

なぜなら、打ち切りは、

イベントが起きた

という情報ではないからである。

分かっているのは、

$$ T_C>5 $$

すなわち、

少なくとも5年まではイベントが起きなかった

ということだけである。

そのため、

$$ \boxed{ \text{イベント} \Longrightarrow \hat S(t)\text{ が低下する} } $$

のに対して、

$$ \boxed{ \text{打ち切り} \Longrightarrow \hat S(t)\text{ は低下しない} } $$

となる。

ただし、打ち切りが全く影響しないわけではない。

Cは5年以降、

リスク集合の人数 $n_i$ から外れる

ので、その後にイベントが起きたときの計算には影響する。

つまり打ち切りは、

その時点で生存曲線を下げるのではなく、将来の分母を減らす

のである。


11. なぜKaplan–Meier曲線は階段状になるのか

先ほどのデータでは、

$$ \hat S(t) $$

は、

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
S(t)

1.0 ┤────────────┐
    │            │
0.8 ┤            └────────────┐
    │                         │
0.6 ┤                         └───────────────┐
    │                                         │
0.4 ┤                                         │
    │                                         │
0.3 ┤                                         └────────────
    │
0.0 └────────────────────────────────────────────→ 時間
       0       2       4       5       6       8

のようになる。

生存率が変化するのは、

実際にイベントが発生した時点

だけである。

2年で死亡が起きれば、その瞬間に曲線が下がる。

その後4年までイベントがなければ、

$$ \hat S(t)=0.8 $$

のままである。

4年で再び死亡が起こると、

$$ 0.8\rightarrow0.6 $$

と下がる。

つまり、

$$ \boxed{ \text{イベントがない期間} \Longrightarrow \hat S(t)\text{ は一定} } $$

で、

$$ \boxed{ \text{イベント発生} \Longrightarrow \hat S(t)\text{ が下がる} } $$

ため、階段状になる。

打ち切りは通常、Kaplan–Meier曲線上に小さな印で表示される。

1
2
3
4
5
─────────┐
         │
         └────────×────────
                  ↑
                打ち切り

しかし、その位置では曲線自体は下がらない。


12. Kaplan–Meier曲線から何を読み取れるのか

Kaplan–Meier曲線から最も直接的に読み取れるのは、

$$ \hat S(t) $$

である。

例えば5年時点で、

$$ \hat S(5)=0.60 $$

なら、

5年を超えてイベントを起こさない確率は60%と推定された

と解釈する。

また、よく使われる指標としてmedian survival time(生存期間中央値)がある。

これは、

$$ \hat S(t)\le0.5 $$

となる最初の時刻である。

例えば、

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
S(t)

1.0 ┤─────────┐
    │         │
0.8 ┤         └───────┐
    │                 │
0.6 ┤                 └───────┐
0.5 ┤-------------------------●
    │                         │
0.4 ┤                         └──────
    └────────────────────────────────→ 時間
                              7年

なら、生存期間中央値はおよそ7年となる。

これは、

患者の半数でイベントが起こるまでの時間

という意味である。

ただし研究終了まで、

$$ \hat S(t)>0.5 $$

のままであれば、生存期間中央値は推定できない。

これは異常ではなく、

観察期間中に50%までイベントが発生しなかった

という意味である。


13. 生存率の標準誤差と95%信頼区間

Kaplan–Meier法で得られる、

$$ \hat S(t) $$

も標本から計算した推定値である。

したがって、

$$ \hat S(5)=0.60 $$

と得られたとしても、母集団における真の

$$ S(5) $$

が正確に0.60だと分かるわけではない。

推定値には不確実性がある。

Kaplan–Meier推定量の分散を推定する代表的な方法が、Greenwoodの公式である。

概念的には、

$$ \widehat{\operatorname{Var}} [ \hat S(t) ]

\hat S(t)^2 \sum_{t_i\le t} \frac{d_i}{n_i(n_i-d_i)} $$

と表される。

したがって標準誤差は、

$$ SE[\hat S(t)]

\sqrt{ \widehat{\operatorname{Var}}[\hat S(t)] } $$

となる。

概念的には、

$$ \boxed{ \text{イベントが少なく、リスク集合が大きい} \Longrightarrow \text{生存率を比較的精密に推定できる} } $$

一方、

$$ \boxed{ \text{追跡後半で残っている患者が少ない} \Longrightarrow \text{生存率の推定が不安定になる} } $$

という関係になる。

そのためKaplan–Meier曲線では、生存曲線だけでなく95%信頼区間も表示されることが多い。

典型的には、

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
生存率

1.0 ┤──────────────
    │  \          /
0.8 ┤   \────────/
    │    \      /
0.6 ┤     ──────
    │
    └────────────────→ 時間

      上下の範囲:95%CI
      中央の線:Kaplan–Meier推定値

という形になる。

特に追跡後半ではリスク集合が小さくなるため、信頼区間が広がりやすい。

したがってKaplan–Meier曲線の右端を読むときには、

その時点で実際に何人がリスク集合に残っているのか

も重要になる。

そのため論文では曲線の下に、

1
2
3
4
Number at risk

Time      0    1    2    3    4    5
Group A  100   91   82   70   43   12

のようなnumber at riskを併記することが多い。


14. 2群のKaplan–Meier曲線を比較する

実際の医学研究では、一つの集団の生存曲線だけを見るよりも、

治療群と対照群で生存時間が違うか

を調べたい場合が多い。

例えば治療A群と治療B群について、それぞれKaplan–Meier曲線を推定する。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
イベントなし生存率
A群
1.0 ┤────────────┐
    │            └────────────┐
0.8 ┤                         └────────
    └────────────────────────────────→ 時間

イベントなし生存率
B群
1.0 ┤──────┐
    │      └────────┐
0.8 ┤               │
    │               └────────┐
0.6 ┤                        └────────
    └────────────────────────────────→ 時間

この図から、

A群のほうがイベントなし生存率が高そうだ

ということは視覚的に分かる。

しかし、

曲線が離れて見える

ことと、

統計学的に差がある

ことは同じではない。

そのため、2群の生存曲線を統計的に比較する方法が必要になる。

代表的なのがlog-rank検定である。


15. log-rank検定とは何を検定しているのか

log-rank検定では、各イベント時点について、

もし2群でイベント発生傾向に差がなければ、各群で何人くらいイベントが起きるはずか

を考える。

そして、

実際に各群で起きたイベント数

と比較する。

例えばあるイベント時点で、

治療A群治療B群合計
リスク集合8020100
実際のイベント2810

だったとする。

もし両群のイベントリスクが同じなら、100人中80人がA群なので、10件のイベントのうち期待されるイベント数は概ね、

$$ E_A

10\times\frac{80}{100}

8 $$

である。

B群では、

$$ E_B

10\times\frac{20}{100}

2 $$

となる。

しかし実際には、

$$ O_A=2 $$$$ O_B=8 $$

だった。

つまりB群では、

差がないと仮定した場合より多くのイベントが起きている

ことになる。

log-rank検定では、こうした、

$$ O-E $$

すなわち、

Observed − Expected

をすべてのイベント時点について積み上げる。

そして、

$$ H_0: \text{2群の生存時間分布に差がない} $$

という帰無仮説を検定する。

$p$ 値が十分小さければ、

2群の生存曲線には統計学的な差がある

と判断する。

したがって、

$$ \boxed{ \text{Kaplan–Meier法} \longrightarrow \text{生存曲線を推定} } $$$$ \boxed{ \text{log-rank検定} \longrightarrow \text{生存曲線を群間比較} } $$

という役割分担になる。


16. Kaplan–Meier法とCox比例ハザードモデルの関係

ここでCox比例ハザードモデルとつながる。

Kaplan–Meier法は、

各群の生存関数 $S(t)$ がどのようになっているか

を推定する。

例えば、

1
2
3
4
5
6
7
8
9
Kaplan–Meier法

治療A群
        ↓
Ŝ_A(t)

治療B群
        ↓
Ŝ_B(t)

を求める。

一方Cox比例ハザードモデルでは、

$$ h(t|X)

h_0(t)e^{\beta X} $$

として、

説明変数によってハザードが何倍変化するか

を推定する。

したがって治療AとBを比較するなら、

Kaplan–Meier法では、

A群とB群の生存曲線を別々に描く

のに対して、Coxモデルでは、

A群とB群のハザード比を推定する

という違いがある。

さらにCoxモデルでは、

$$ h(t|X_1,X_2,\ldots)

h_0(t) e^{\beta_1X_1+\beta_2X_2+\cdots} $$

とすることで、

年齢、性別、重症度などを同時に調整した治療効果

を推定できる。

Kaplan–Meier法そのものには、このような多変量調整の仕組みはない。

したがって実際の論文では、

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
生存時間データ
        ↓
Kaplan–Meier曲線
        ↓
各群の生存時間分布を視覚化
        ↓
log-rank検定
        ↓
未調整の群間差を検定
        ↓
Cox比例ハザードモデル
        ↓
交絡因子を調整
        ↓
調整済みHazard Ratio

という流れがよく用いられる。

ここで重要なのは、

$$ \boxed{ \text{Kaplan–Meier法} \neq \text{Cox比例ハザードモデルの簡易版} } $$

ということである。

目的が異なる。

Kaplan–Meier法の主目的は、

$$ \boxed{ S(t)\text{ の推定} } $$

である。

Cox比例ハザードモデルの主目的は、

$$ \boxed{ \text{説明変数とハザードの関係の推定} } $$

である。

詳細は 【統計解説】Cox比例ハザードモデルについて もあわせて参照するとわかりやすい。


17. Kaplan–Meier法・Cox・パラメトリックモデルの比較

Kaplan–Meier法Cox比例ハザードモデルパラメトリック生存時間モデル
主な目的生存関数を推定説明変数とハザードの関係を推定生存時間分布全体をモデル化
時間情報使う使う使う
打ち切り扱える扱える扱える
$S(t)$直接推定モデルから推定可能分布から決まる
説明変数基本的には使わない使う使える
分布仮定不要基準ハザードの形は仮定しない必要
主な結果生存曲線、生存率、中央値Hazard Ratioモデルに応じたHR、time ratioなど
群間比較log-rank検定など回帰係数 $\beta$回帰係数など

ここで重要なのは、

$$ \boxed{ \text{Kaplan–Meier法は、生存時間分布の形を決めずに }S(t)\text{ を推定する} } $$

という点である。

例えば指数分布を仮定すれば、

$$ S(t)=e^{-\lambda t} $$

という滑らかな関数になる。

一方Kaplan–Meier法では、

生存時間が指数分布に従う

などとは仮定しない。

実際にイベントが発生した時点を使って、

$$ \hat S(t) $$

を階段状に推定する。

この意味でKaplan–Meier法はノンパラメトリックな生存関数推定法である。


18. Kaplan–Meier法の前提と注意点

Kaplan–Meier法は打ち切りを扱える。

しかし、

どのような打ち切りでも問題なく扱える

という意味ではない。

重要なのが、打ち切りが生存時間と強く関連していないという考え方である。

例えば重症患者ほど急速に脱落し、その後死亡している可能性が高いにもかかわらず、

単なる打ち切り

として扱うと、生存率を高く見積もる可能性がある。

極端な例として、

1
2
3
4
5
重症になる
    ↓
病院に来られなくなる
    ↓
追跡不能

という仕組みなら、

追跡不能になった患者は、追跡を続けられた患者と同じような予後である

とは考えにくい。

Kaplan–Meier法では基本的に、

打ち切られた時点までは情報を利用し、その後は同じリスクにさらされていた患者としては扱わない

という仕組みである。

したがって、打ち切りがイベント発生リスクと系統的に関係している場合には注意が必要になる。

また追跡後半では、リスク集合が非常に小さくなることがある。

例えば、

1
2
3
4
5
6
0年    100人
1年     88人
2年     65人
3年     39人
4年     12人
5年      3人

となっていたとする。

5年時点のKaplan–Meier曲線は数学的には計算できる。

しかし、その推定値はたった3人の情報に大きく依存する。

したがって、

曲線がどこまで伸びているか

だけを見るのではなく、

その時点のnumber at riskが何人なのか

を見ることが重要である。


19. 全体のまとめ

Kaplan–Meier法を理解する流れは次のように整理できる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
生存時間解析では
「イベントが起きたか」だけでなく
「いつ起きたか」を扱う
        ↓
さらに
途中で追跡が終わる
「打ち切り」が存在する
        ↓
知りたいのは生存関数
S(t)=P(T>t)
        ↓
しかし真のS(t)は未知
        ↓
患者データから
Ŝ(t)
を推定したい
        ↓
イベント時点ごとに
その時点のrisk setを考える
        ↓
risk setがn_i人
イベントがd_i人なら
その時点を生き残る確率は
1-d_i/n_i
        ↓
各イベント時点の
条件付き生存確率を掛ける
        ↓
Ŝ(t)
=
Π(1-d_i/n_i)
        ↓
これがKaplan–Meier推定量
        ↓
イベントが起きると
曲線が下がる
        ↓
打ち切りでは
曲線は下がらない
ただし以後のrisk setから外れる
        ↓
そのため生存曲線は
階段状になる
        ↓
Ŝ(t)から
特定時点の生存率や
生存期間中央値を読み取れる
        ↓
2群を比較したければ
それぞれKaplan–Meier曲線を描く
        ↓
log-rank検定で
群間差を検定できる
        ↓
さらに年齢・性別・重症度などを
調整したければ
Cox比例ハザードモデルへ進む

したがって、Kaplan–Meier法の本質を一つの式で表すなら、

$$ \boxed{ \hat S(t)

\prod_{t_i\le t} \left( 1-\frac{d_i}{n_i} \right) } $$

である。

しかし、この式で行っていることは複雑ではない。

各イベント時点で、

$$ \frac{n_i-d_i}{n_i} $$

という、

その時点までイベントを起こしていなかった人が、さらにその時点をイベントなしで通過する割合

を求めている。

そして、

$$ \boxed{ \text{そこまで生存する確率}

\text{各時点を生き残る条件付き確率の積} } $$

としているだけである。

つまりKaplan–Meier法とは、

打ち切り患者の「観察できたところまで」の情報を残しながら、イベントが起きるたびに条件付き生存確率を更新し、それを積み重ねることで生存関数 $S(t)$ を推定する方法

である。

Cox比例ハザードモデルとの関係まで含めて整理すると、

$$ \boxed{ \text{Kaplan–Meier} \rightarrow S(t)\text{ を見る} } $$$$ \boxed{ \text{log-rank} \rightarrow S(t)\text{ の群間差を見る} } $$$$ \boxed{ \text{Cox} \rightarrow \text{説明変数とハザードの関係を見る} } $$

という役割分担になる。

この3つを一続きの生存時間解析として理解すると、Kaplan–Meier曲線、log-rank検定、Hazard Ratioが別々の統計手法としてバラバラに見えなくなる。

Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。