生存関数とハザード関数(危険率)




生存時間解析の基本である

  • 生存関数
  • ハザード関数(危険率)
  • 累積ハザード関数

を丁寧に説明します。

  • 生存関数と分布関数の関係
  • ハザード関数の導出
  • 累積ハザード関数との関係

を数式で行き来できることが重要です。


1. 生存時間解析とは何か

生存時間解析では、あるイベントが起こるまでの時間を扱います。

たとえば

  • 患者が死亡するまでの時間
  • 機械が故障するまでの時間
  • 部品が摩耗して使えなくなるまでの時間
  • 会員がサービスを解約するまでの時間

などです。


この「イベントが起こるまでの時間」を確率変数で表し、 T と書きます。

ここで、 T は通常 0以上の連続型確率変数 と考えます。




2. 分布関数  F(t) の確認

生存関数を理解する前に、まず通常の分布関数を確認します。

\displaystyle{
F(t) = P(T \le t)
}

これは、「時刻  t までにイベントが起きる確率」 です。


たとえば、 T が「故障までの時間」なら、

\displaystyle{
F(10) = P(T \le 10)
}

は「10時間以内に故障する確率」です。



3. 生存関数  S(t)

3.1 定義

生存関数は

\displaystyle{
S(t) = P(T > t)
}

で定義されます。


これは 「時刻  t を過ぎても、まだイベントが起きていない確率」 です。

たとえば  T が死亡までの時間なら、 S(t) は「 t 時点でまだ生存している確率」です。



3.2 分布関数との関係

全確率が 1 であることから、

\displaystyle{
P(T > t) + P(T \le t) = 1
}

です。ここで

  •  P(T > t) = S(t)
  •  P(T \le t) = F(t)

なので、

\displaystyle{
S(t) + F(t) = 1
}

したがって、

\displaystyle{
S(t) = 1 - F(t)
}

が成り立ちます。同様に  F(t) = 1 - S(t) です。



3.3 生存関数の性質

(1)  S(0) = 1

通常、生存時間は  T \ge 0 なので、時刻 0 より前にイベントは起きません。よって

\displaystyle{
S(0) = P(T > 0)
}

となり、連続型では通常  S(0) = 1 です。


(2) 単調減少

 t が大きくなるほど、「まだイベントが起きていない」確率は小さくなるので、 S(t) は単調に減少します。


(3)  t \to \infty で 0 に近づく

十分長い時間が経てば、最終的にはイベントが起こると考えるなら

\displaystyle{
\lim_{t \to \infty} S(t) = 0
}

です。



4. 確率密度関数  f(t) との関係

連続型確率変数  T の密度関数を  f(t) とすると、分布関数は

\displaystyle{
F(t) = \int_0^t f(u) , du
}

と書けます。したがって微分すると  F'(t) = f(t) です。

一方、先ほど  S(t) = 1 - F(t) を得ました。これを微分すると

\displaystyle{
S'(t) = \frac{d}{dt}(1 - F(t)) = 0 - F'(t) = -f(t)
}

よって

\displaystyle{
f(t) = -S'(t)
}

が成り立ちます。


これはとても重要です。生存関数の減少の速さが、その時点でのイベント発生の密度になっている、という意味です。



5. ハザード関数(危険率)

5.1 まず直感から

生存関数  S(t) は「 t まで生き残る確率」でした。しかし実際には、

「今まで生き残ってきたものの中で、次の瞬間にどれくらいイベントが起きやすいか」

を知りたいことが多いです。この"起こりやすさ"を表すのがハザード関数です。


5.2 定義

ハザード関数  h(t)

\displaystyle{
h(t) = \lim_{\Delta t \to 0} \frac{P(t \le T < t + \Delta t \mid T \ge t)}{\Delta t}
}

で定義されます。


この式は、

  • 条件:時刻  t までイベントが起きていない
  • その条件のもとで
  • ごく短い時間  [t,\ t+\Delta t) の間にイベントが起こる確率
  •  \Delta t で割って、単位時間あたりの率にしている

という意味です。


ここで大事なのは、ハザードは確率そのものではなく「率」 であることです。



6. ハザード関数の導出

ここが最重要です。途中式を丁寧に追います。

6.1 条件付き確率の公式を使う

条件付き確率の定義

\displaystyle{
P(A \mid B) = \frac{P(A \cap B)}{P(B)}
}

を用います。ここで  A = {t \le T \lt t + \Delta t} B = {T \ge t} とすると、

\displaystyle{
P(t \le T < t + \Delta t \mid T \ge t) = \frac{P({t \le T < t + \Delta t} \cap {T \ge t})}{P(T \ge t)}
}

となります。



6.2 分子を簡単にする

 {t \le T \lt t + \Delta t} が起これば、自動的に  T \ge t も満たしています。したがって

\displaystyle{
{t \le T < t + \Delta t} \cap {T \ge t} = {t \le T < t + \Delta t}
}

です。よって

\displaystyle{
P(t \le T < t + \Delta t \mid T \ge t) = \frac{P(t \le T < t + \Delta t)}{P(T \ge t)}
}

となります。



6.3 分母を生存関数で書く

 P(T \ge t) は連続型なら  P(T = t) = 0 なので

\displaystyle{
P(T \ge t) = P(T > t) = S(t)
}

とみなせます。したがって

\displaystyle{
P(t \le T < t + \Delta t \mid T \ge t) = \frac{P(t \le T < t + \Delta t)}{S(t)}
}

です。



6.4 分子を分布関数で書く

 P(t \le T \lt t + \Delta t) は「 t から  t+\Delta t の間に入る確率」なので

\displaystyle{
P(t \le T < t + \Delta t) = F(t + \Delta t) - F(t)
}

です。よって

\displaystyle{
P(t \le T < t + \Delta t \mid T \ge t) = \frac{F(t + \Delta t) - F(t)}{S(t)} = \frac{F(t + \Delta t) - F(t)}{1 - F(t)}
}

となります。



6.5  \Delta t で割って極限をとる

ハザード関数の定義に戻ると

\displaystyle{
h(t) = \lim_{\Delta t \to 0} \frac{1}{\Delta t} \cdot \frac{F(t + \Delta t) - F(t)}{1 - F(t)}
}

分母  1 - F(t) \Delta t に依存しないので外に出せて

\displaystyle{
h(t) = \frac{1}{1 - F(t)} \lim_{\Delta t \to 0} \frac{F(t + \Delta t) - F(t)}{\Delta t}
}

ここで極限は微分の定義そのものなので

\displaystyle{
\lim_{\Delta t \to 0} \frac{F(t + \Delta t) - F(t)}{\Delta t} = F'(t) = f(t)
}

です。したがって

\displaystyle{
h(t) = \frac{f(t)}{1 - F(t)}
}

となります。さらに  S(t) = 1 - F(t) より

\displaystyle{
\boxed{h(t) = \frac{f(t)}{S(t)}}
}

を得ます。これがハザード関数の基本公式です。



7. ハザード関数を  S(t) で表す

先ほど  f(t) = -S'(t) を得ていたので、これを  h(t) = \dfrac{f(t)}{S(t)} に代入すると

\displaystyle{
h(t) = \frac{-S'(t)}{S(t)}
}

となります。ここで、対数微分の公式

\displaystyle{
\frac{d}{dt} \log S(t) = \frac{S'(t)}{S(t)}
}

を使えば

\displaystyle{
h(t) = -\frac{d}{dt} \log S(t)
}

したがって

\displaystyle{
\boxed{h(t) = -(\log S(t))'}
}

です。これも非常に重要な式です。



8. 累積ハザード関数

ハザード関数を時間 0 から  t まで積み上げたものを、累積ハザード関数といい、

\displaystyle{
H(t) = \int_0^t h(u) , du
}

と定義します。


これは「これまで浴びてきた危険の総量」と考えると分かりやすいです。

放射線の例

時間 放射線量
1日 0.1
2日 0.2
3日 0.3

このとき

累積被曝量は

\displaystyle{
0.1+0.2+0.3
}

になります。


同じように

  • ハザード = 単位時間の危険
  • 累積ハザード = その合計

です。



8.1 生存関数との関係を導く

さきほど  h(t) = -(\log S(t))' を得ました。両辺を 0 から  t まで積分すると

\displaystyle{
\int_0^t h(u) , du = -\int_0^t \frac{d}{du} \log S(u) , du
}

左辺は定義より  H(t) です。右辺は微分の積分なので

\displaystyle{
H(t) = -(\log S(t) - \log S(0))
}

通常  S(0) = 1 なので  \log S(0) = \log 1 = 0、よって

\displaystyle{
H(t) = -\log S(t)
}

両辺を指数関数で戻すと

\displaystyle{
\boxed{S(t) = e^{-H(t)}}
}

となります。この式は、生存時間解析で最も重要な関係式の一つです。



9. ここまでの重要関係式を整理

基本定義

\displaystyle{
F(t) = P(T \le t)
}
\displaystyle{
S(t) = P(T > t) = 1 - F(t)
}

密度関数

\displaystyle{
f(t) = F'(t)
}
\displaystyle{
f(t) = -S'(t)
}

ハザード関数

\displaystyle{
h(t) = \lim_{\Delta t \to 0} \frac{P(t \le T < t + \Delta t \mid T \ge t)}{\Delta t}
}
\displaystyle{
h(t) = \frac{f(t)}{1 - F(t)} = \frac{f(t)}{S(t)}
}
\displaystyle{
h(t) = -(\log S(t))'
}

累積ハザード関数

\displaystyle{
H(t) = \int_0^t h(u) , du
}
\displaystyle{
H(t) = -\log S(t)
}
\displaystyle{
S(t) = e^{-H(t)}
}



10. 「ハザードは確率ではない」に注意

初学者が混乱しやすい点です。

ハザード関数  h(t) は、

\displaystyle{
P(t \le T < t + \Delta t \mid T \ge t) \approx h(t) \Delta t
}

という近似の中で意味を持ちます。

つまり、短い時間幅  \Delta t に対して、ハザード × 時間幅 で「その短い区間でイベントが起こる条件付き確率」を近似できます。

したがって、 h(t) 自体は確率ではなく、単位時間あたりの発生率です。場合によっては 1 を超えることもあります。ここは確率との大きな違いです。



11. 指数分布の例

統計検定で最も基本的な例は指数分布です。

\displaystyle{
f(t) = \lambda e^{-\lambda t} \qquad (t \ge 0)
}

このとき分布関数は

\displaystyle{
F(t) = \int_0^t \lambda e^{-\lambda u} du = \left[ -e^{-\lambda u} \right]_0^t = -(e^{-\lambda t}) - (-(1)) = 1 - e^{-\lambda t}
}

したがって生存関数は

\displaystyle{
S(t) = 1 - F(t) = 1 - (1 - e^{-\lambda t}) = e^{-\lambda t}
}

です。さらにハザード関数は

\displaystyle{
h(t) = \frac{f(t)}{S(t)} = \frac{\lambda e^{-\lambda t}}{e^{-\lambda t}} = \lambda
}

となり、一定です。


これは「今まで壊れずにきたかどうかに関係なく、次の瞬間の故障しやすさが一定」ということを意味します。



12. 統計検定1級で特に問われやすい変形

試験では次の変形がすぐにできる必要があります。

(1)  S(t) から  f(t) を求める

\displaystyle{
f(t) = -S'(t)
}

(2)  f(t),\ S(t) から  h(t) を求める

\displaystyle{
h(t) = \frac{f(t)}{S(t)}
}

(3)  h(t) から  S(t) を求める

\displaystyle{
H(t) = \int_0^t h(u) , du, \qquad S(t) = e^{-H(t)}
}

で求められる。なぜなら  h(t) = \dfrac{f(t)}{S(t)} だからです。



13. 初学者向けのイメージ整理

生存関数  S(t)

  • まだ起こっていない確率
  • 時間とともに下がる

密度関数  f(t)

  • その時刻付近でイベントが起こる濃さ
  • 生存関数の減少の速さ

ハザード関数  h(t)

  • いま生き残っているものの中での、瞬間的な起こりやすさ
  • 条件付きの「率」

累積ハザード  H(t)

  • 危険の積み重なり
  • これが大きいほど生存関数は小さくなる



14. 最後に覚えるべき最重要4本柱

統計検定1級の基礎として、最低限この4本はすぐ書けるようにします。

\displaystyle{
S(t) = P(T > t)
}
\displaystyle{
f(t) = -S'(t)
}
\displaystyle{
h(t) = \frac{f(t)}{S(t)}
}
\displaystyle{
S(t) = e^{-H(t)}, \qquad H(t) = \int_0^t h(u) , du
}

この4つを軸にすると、関連する式はすべてつながります。



15. まとめ

生存時間解析では、まず

\displaystyle{
S(t) = P(T > t)
}

で「まだ起きていない確率」を考えます。そこから

\displaystyle{
f(t) = -S'(t)
}

で密度とつながり、さらに

\displaystyle{
h(t) = \frac{f(t)}{S(t)}
}

によって、生き残っているという条件のもとでの瞬間的な発生率が定義されます。そしてそれを積分すると

\displaystyle{
H(t) = \int_0^t h(u) , du
}

となり、

\displaystyle{
S(t) = e^{-H(t)}
}

が成り立ちます。

この流れを理解できれば、生存関数・ハザード関数・危険率の基本はしっかり押さえられています。