３つの生存曲線
I.

Survival Function

II.

Density function

III.

Hazard function

I.

the survivorship function (or simply, survival function)

生存機能
生存機能は S(t) で表わされ、ある個人が時間ｔを超えて生存する確率を示しています。たとえばあなたが 65 歳を超えて生存する確率は 90％といった表現をするとわかりやすいかもしれません。ここでは歴史的な理由から生存(survival)という言葉を使用していますが、何かが起こるまでの時間で、病気が発症するまで、再発するまで、回復するまで、離婚するまでなど広く解釈することができます。しかしその何か（event ）は1 種類に決めざるを得ません。
S(t) = P (an individual survives longer than t) = P ( T > t)
ここで T は本当に死亡(結果発生)するまでの時間を示しています。T は少なくともｔより大きいと仮定します。
逆にある人が生存できな確率 f(t)はS(t) = 1 – f(t)として表されます。実際、生存機能は「ある時点ｔにおいて全体の中のどれくらいの患者さんが生存しているか？」ともとれますから、S(t) = [number of patients surviving longer than t] / [total number of patients]
ここで生存曲線は最初全員が生存しており、やがては全員が死亡してしまうわけですから、
t=0

S(t) = 1,

t = ∞ S(t) = 0と考えます。S(t)は確率ですから０から１の間に収まります。S(t) は累積生存率1

(cumulative survival rate)とも表現されます。
例えばある癌の生存を調べているとします。S(t) = P (T>t) とは患者さんが t を超えて生存する確率を意味します。
T
1
2
3

(年)

S(t)
S(t) = P (T >1)S(t) = P (T >2)
S(t) = P (T >3)

1 年を超えて生存する確率
2 年を超えて生存する確率
3 年を超えて生存する確率

生存機能はｔ年を超えて生存するか否かを示すので、感覚的には下のようになります。

t2

センサー(censoring)
例えば骨髄移植後の白血病患者さん 100 人の再発について経過観察しているとします。しかし、観察期間も５年になりもう充分と判断して観察を中止しようと思います。
しかし全員が５年前から経過観察しているわけではなく、2 年前、1 年前、あるいはつい先月から経過観察し始めた人もいます。現実的に生存を永遠に追跡することはできないので、いつかは中止しなくてはなりません。よって通常経過途中の患者さんがでてきます。治療後 4 年経っている患者さんの再発は少ないかもしれませんが、治療後 1 ヶ月の人は今後再発するかどうか全くわかりません。それではこれらのデータを捨ててしまいますか？それはもったいない話です。それではこれらをセンサーという特別な扱いでデータに残すことにしましょう。センサーには経過途中で観察が中止になった場合に加え、外来に来なくなってしまって観察できなくなってしまった場合、またもし白血病治療後のＣ型肝炎をみていて、患者さんがＣ型肝炎になる前に死亡してしまった場合などもセンサーと考えることができます。しかし、少なくとも死亡するまでは C 型肝炎に罹患しなかったとすれば、それなりのウエイトを置いてデータに組み込むことは可能です。通常センサーというと上記のような場合を指し、right censored と呼びますが、例えば AIDS で HIV がいつから陽性になったかわからないような場合には left
censored と呼びます。

1/95
died

1/96

1/97

1/98

(calendar time)

censor

例えば治療後 7 人の患者さんをフォローしていたとします。5 人は残念ながら途中で亡くなりました。98 年 3 月で経過観察を理由があって打ち切ったとします。そうすると
2 人はセンサーとして数えられます。上の図を整理すると下のようになります。

30123study time (year)

例えば生存曲線は下のようになります。いつでも１からはじまり、０に近付きます。しかし途中でやめればセンサーが発生するので０には至りません。よって我々の目にするグラフは下のようです。
1.0

0.4

2年
この図から 2 年を超えて生存する確率は 40％であることが理解できます。

4かの有名な Mantel 教授は 1956 年生存曲線の差を比較することを考えました。この方法は一般的に log rank test と呼ばれていますが、Mantel test と呼ばないと Mantel
教授は怒るそうで、御歳 90 を越える今もご活躍だそうです。
A と B の治療があり、A と B の治療効果は等しく、よって生存曲線も同じになると仮定します。例えば、3 ヶ月、5 ヶ月、7 ヶ月の時点で A の治療群から死亡が 1 人でています。一方 8 ヶ月、10 ヶ月の時点で B の治療から死亡がでています。その他の患者さんは治療経過観察が途中で打ち切られた為センサーとなりました。

A3BA

A5B

A7BB

AA8B

B
10 ヶ月

それぞれ死亡者が出た時点で、2 x 2 table を作ってみましょう。まずは 3 ヶ月の時点です。
A
B
合計

死亡
10
1

生存
5611

合計
6612

常に A を軸にして考えます。12 人の患者さんは A、B 6 人ずつに振り分けられています。そして A に 1 人の死亡を観察しました。ここで A と B の治療は同じであると仮定していますから、ここで A が死亡する確率は 6/12 = 0.5 であることが期待されます（同じ確率で B が死亡していたかもしれない）。
(observed) – (expected) = (1 – 6/12) = 0.5
同様に 5 ヶ月の時点ではどうでしょうか？

A
B
合計

死亡
101

生存
358合計
4595 ヶ月を超えてセンサーになったものは 5 ヶ月の時点で生存していますから含めます。
一方 5 ヶ月未満でセンサーになったものは含めません。そして A に 1 人の死亡を観察しました。上の図を見ながら数値を入れると上の表のようになります。ここで A と Bの治療は同じであると仮定していますから、ここで A が死亡する確率は単純に 9 個か
ら 4 つ選んだとき A を選ぶ確率と同じですから、4/9 = 0.44 であることが期待されま5す。
(observed) – (expected) = (1 – 0.44) = 0.56
同様に８ヶ月の時点ではどうでしょうか？
AB
合計

死亡
01
1

生存
224

合計
235

A を軸に考えていますから観察された死亡は０です。ここで A と B の治療は同じであると仮定していますから、ここで A が死亡する確率は 2/5 = 0.4 であることが期待されます。
(observed) – (expected) = (0 – 0.4) = 0.6
これらの全ての 2 x 2 table を合わせます。
(1 – 6/12) + (1 – 4/9) + (1 – 3/7) + (0 – 2/5) + (0 – 1/1) = 0.23
何も難しいことはなく、A が死亡すれば１、生存すれば０ですから、A の死亡数が多くなって合計数は大きくなります。しかし途中でセンサーになっている人がいるので多少ウエイトを変えなくてはなりません。それが-6/12 となるわけです。
例えば下のような生存曲線があったとすると、50% (median)は 5 あるいは 25 となります。

生存曲線では平均ではなく、中央値を用います。なぜなら平均は極端な値により左右されやすいからです。

6

II.

Probability Density Function (or Simply, Density Function)

上のように硬いものでなく、ある人の生存する期間はある程度幅を持って考えた方が現実的ではないでしょうか。たとえばある患者さんが t から t + dt の間に死亡すると考えます。

tf(t) = lim P{ある人が t から t + dt の間に死亡する}/dt
実際問題、以下のように考えます。
f(t) = （その期間に死亡した数）/ (期間)ｘ（患者数）

10 人中 6 人がある期間に病気になっているとすれば Density が高いことになります。
よって時間０から無限大をとると、Density curve の下の面積の総和は１となります。
例えばある期間指定して死亡数（上図グレーの部分）が全体のどれくらいにあたるかをみることが、f(t)にあたります。

7

III.

Hazard Function (force of mortality)

例えばあなたがが東名高速道路を時速 100ｋｍで自動車を運転しているとします。東京まで 100ｋｍだとしますと、このペースで走れば 1 時間後に東京に着くはずです。でも川崎あたりから渋滞しているかもしれません。つまり最初の予想はpotential であり、今の状態が続けば(at a given moment)ということになります。ですからこれから 1 時間以内に渋滞にはまる可能性はhazard function で示されます。次のある期間（時間）内に事象が起こる率をh(t)で示します。しばしばHazard function h(t) は、ある人がある期間の最初まで生存し、その短い期間中に死亡（事象発生）する条件付き確率として用いられます。
h(t) = lim p(t≦T<t + ⊿t|T≧t)/⊿tt →⊿tt|は条件付き確率を示しており、P(A|B)といえば、ＢであるときのＡである確率です。
ですから分子は０から１ですが、分母は時間であるため h(t) は０から無限大までとなり、もはや確率(0-1)ではなく rate となります。例えば私がこれからはじまる 1 ヶ月に死亡する率は 0.01 であり、100 歳の御老人が次の 1 ヶ月に亡くなる率より低いはずです。このように h(t)は比較として用いられます。例えば車を運転していて半日のうちに東京に到着する確率が 1/3 だとしますと (1/3) / (1/2) = 0.67 / day, であり(1/3) /(1/14) = 4.67 / week で す 。 よ っ て 時 間 の 単 位 に よ っ て h(t) は 異 な り ま す 。
Person-time と似ていますよね。時々KM 生存曲線をひっくり返したものが Hazard
function curve だと誤解している人がいますが、全然違います。KM カーブは半年を越えて生存する確率といった広い視野にたったものであり、H カーブは半年を超えた人が次の１週間生存する確率といった、もっと短い期間に焦点を当て考えています。
h(t) = （時間ｔより一定期間内に死亡する数）/ （時間ｔの時点で生存している数）
実際には分母を時間ｔの時点で生存している数でなく、期間 dt の中間点で生存している数で割る事もあります(average hazard rate)。

8h(t) = （時間ｔより一定期間内に死亡する数）/ ｛（時間ｔの時点で生存している数）- 1/2 （その期間の死亡数）｝
平均でみた方が分母が小さくなるため、h(t)は大きくなります。
h(t) は病気によって様々な曲線となります。ある癌で年数が経つにつれ死亡が増えるとすれば、h(t) は右肩上がりとなりますし(increasing Weibull)、ある手術で術後合併症をのりきれば問題ないような外科疾患では右肩下がり(decreasing Weibull)、20 代の健康な人の f(t)はほとんどフラットでしょうし(exponential)、生後から平均寿命までとれば最初高い h(t) で、後低目安定、後半加速度的に再増加するパターンを示します(lognormal)。結核などでは徐々に h(t)が上昇し、ある期間を乗り切ると再び下がります。
h(t) は必ずしも０や１ではじまる必要はありません。

癌手術
結核
20 歳台の死亡
最初は死亡率は低いのですがだんだん高くなります。癌などはこのパターンとなります。

一方上のようなグラフはバスタブハザードと呼ばれます。最初乳児期死亡するものが多く、青年期は安定し、40 歳を過ぎると死亡する人が増えます。術後合併症を乗り越えると安定しますが、再発などにより死亡率がまた増えました-といった場合もこの形です。

9Cox Hazard Model
KM カーブを比較するのに Log rank test を用いたように Hazard curve の比較ではCox’s model を用います。
例えば A と B の治療の Hazard curve を比較するとします。
M まずは２つの Hazard Curve が同じであると仮定します。そして反対として、2 つの曲線は同じ形をしているが、constant k 倍ずれていると考えます。
H0: λA (t) = λB(t)HA: λA (t) = k λB(t)k = constantProportional hazard:

λA (t) / λB(t) = k

このように説明すると難しいのですが、B は A より 2 倍良いということを統計学的に証明すると考えると理解しやすいと思います。例えば Proportional hazard model では下のようになります。

λ(t) = λ0eβZλ(t) = λ0(t) eβZ

Z= 1, or 0 (exponential)(proportional)

10

Proportional odds: 例えばある疾患に対して予防効果があり死亡を遅らせることができる。

このようなものを cross hazard 呼びます。KM では２つの曲線が近付くだけかもしれませんが、Hazard curve では死亡率の変化を微妙にとらえることができます。

11

例題

40 人の多発性骨髄腫患者データです。

時間（月）0-55-10
10-15
15-20
20-25
25-30
30-35
35-40
40-45
45-50
50<=

期間の最初に生存していた患者数
40
3528
22181395532

その期間中に死亡した
患者数576454402
12

S(t)

f(t)

h(t)

0.875
0.700
0.550
0.450
0.325
0.225
0.125
0.125
0.075
0.050
0.000

0.025
0.035
0.030
0.020
0.025
0.020
0.020
0.000
0.010
0.005
-

0.027
0.044
0.048
0.040
0.065
0.072
0.114
0.000
0.100
0.080
-

S(0) = 1.0, S(5) = 35/40 = 0.875, S(10) = 28/40 = 0.700, . . . .
f(0) = 0, f(5) = 5 /(40 x 5) = 0.025, f(10) = 7 /(40 x 5) = 0.035, . . . .
h(0) = 0, h(5) = 5 /[(40 – 5/2) x 5]= 0.027, h(10) = 7 /([(35 – 7/2) x 5] = 0.044, . . . .
これら３っつの生存曲線は等価であり、１つがわかっていれば、他を算出することができます。h(t) = f(t)/S(t)。しかしここでは略します。

h(t)
S(t)

しかし S(t) が大きくなれば h(t)が小さくなることは覚えておいてください。

Proportional Hazard Model
Log-rank test では単に event が発生するかどうかよりも、event が発生するまでに要した時間が重要でした。ですから個々の患者さんの追跡データがあれば、log-ranktest を行なうことができました。Log-rank test ではいくつかの変数が存在する場合、いろいろとコントロールして１つの変数にまとめ生存との関係についてみます。一方いくつかの変数を同時に検討したい場合 Proportional Hazard Model (Cox regressionmodel)を用います。
h(t) = h0(t)exp(β1x1 + . . . . + βkxk)

12x1, . . . . . . . xk は独立した変数です。h0(t)は時間ｔの際のbaseline, あるいは変数ｘが全て０の時のh(t)ともいえます（exp0 = 1）。
H0: βi = 0
HA: βi ≠0
これを証明するために(1)z = βi/se(βi) を計算する。

(2)2-sided α level significance testz2/α ≦z≦z1-α/2 accept H0z2/α >z,z > z1-α/2 : reject H0

上の公式を以下のように書きかえることもできます。
Ln[h(t)/h0(t)) = β1x1 + . . . . + βkxk
変数がプラス(1)、マイナス(0)で表されるような場合(dichotomous)
2 sided 95% CI = ec1 ec2)
c1 = βi – z0.975 se (βi)
c2 = βi + z0.975 se (βi)
変数が変数である場合(continuous)
2 sided 95% CI = ec1 ec2)
c1 = ⊿[βi – z0.975 se (βi)]
c2 = ⊿[βi + z0.975 se (βi)]
Cox proportional-hazard model は multiple logistic regression model に event が起こるまでの時間的要素を加えたものといえます。

13

Proportional Hazard ModelLog-rank test では単に event が発生するかどうかよりも、event が発生するまでに要した時間が重要でした。ですから個々の患者さんの追跡データがあれば、log-ranktest を行なうことができました。Log-rank test ではいくつかの変数が存在する場合、いろいろとコントロールして１つの変数にまとめ生存との関係についてみます。一方いくつかの変数を同時に検討したい場合 Proportional Hazard Model (Cox regressionmodel)を用います。
h(t) = h0(t)exp(β1x1 + . . . . + βkxk)
x1, . . . . . . . xk は独立した変数です。h0(t)は時間ｔの際のbaseline, あるいは変数ｘが全て０の時のh(t)ともいえます（exp0 = 1）。
H0: βi = 0
HA: βi ≠0
これを証明するために(3)z = βi/se(βi) を計算する。

(4)2-sided α level significance testz2/α ≦z≦z1-α/2 accept H0z2/α >z,z > z1-α/2 : reject H0

上の公式を以下のように書きかえることもできます。
Ln[h(t)/h0(t)) = β1x1 + . . . . + βkxk
変数がプラス(1)、マイナス(0)で表されるような場合(dichotomous)
2 sided 95% CI = ec1 ec2)
c1 = βi – z0.975 se (βi)
c2 = βi + z0.975 se (βi)
変数が変数である場合(continuous)
2 sided 95% CI = ec1 ec2)
c1 = ⊿[βi – z0.975 se (βi)]
c2 = ⊿[βi + z0.975 se (βi)]
Cox proportional-hazard model は multiple logistic regression model に event が起こ

14るまでの時間的要素を加えたものといえます。

15