こんにちは、青の統計学です!
今回は、生存時間解析について解説します。
数学的背景も踏まえて、理解が深まる構成にしているのでぜひ最後までご覧ください。
生存時間解析
生存時間解析とは、ある事象が発生するまでの時間を確率的に分析する手法です。
モチベーションから理解しましょう。
生存時間解析では以下のような問題を解きたいです。
患者の生存期間予測: 特定の治療法を受けた患者がどのくらいの期間生存するかを予測
機器の故障時間分析: 工業製品や機械がどのくらいの期間で故障するかを分析
顧客の離脱率予測: サービスを利用している顧客がいつ解約するかを予測
イベント発生までの時間予測: 特定のイベント(例:地震の発生)が起こるまでの時間を予測
統計検定1級では、医学や工学の分野で出題例がありますね。
生存時間解析における最も基本的な確率分布が指数分布です
もっと複雑なものもありますが、まず基礎的なものから理解した方が良いです、
まずは指数分布のおさらいをしたい方は以下のコンテンツをご覧ください。
さて、指数分布は、単位時間当たりの事象発生率(ハザード率)が一定であることを仮定しています。
指数分布の確率密度関数は次のように表されます。
$$f(t) = \lambda e^{-\lambda t}, \quad t \geq 0$$
$\lambda$はハザード率です。
指数分布の累積分布関数は次のようになります。
$$F(t) = 1 - e^{-\lambda t}, \quad t \geq 0$$
指数分布の平均は$\lambda^{-1}$、分散は$\lambda^{-2}$です。
また、指数分布は最尤推定法によってハザード率\(\lambda\)を推定できます。
観測された生存時間\(t_1, t_2, \ldots, t_n\)に対して尤度関数を最大化する\(\lambda\)が最尤推定値となります。
$$\mathcal{L}(\lambda) = \lambda^n e^{-\lambda \sum_{i=1}^n t_i}$$
対数尤度関数の導関数を0とおくと、最尤推定値\(\hat{\lambda}\)は次のようになります。
$$\hat{\lambda} = \frac{n}{\sum_{i=1}^n t_i}$$
さて、ハザード率が求められましたね。
これは何が嬉しいのでしょうか。
まず、ハザード率はリスクを定量化する手段として役立ちます。
ある時点でイベントが発生する確率を数値で表すことで、リスクの大きさを客観的に評価できるようになります。
また、時間経過に伴うリスクの変化を把握することも可能になります。(今回ハザード率は一定ですが...笑)
例えば、製品の故障率が使用期間とともにどのように変化するかを理解することができます。
異なるグループ間でハザード率を比較することも有用です。
これにより、どのグループがより高いリスクにさらされているかを判断できます。
医療分野では、異なる治療法を受けた患者群の生存率を比較する際にこの手法が用いられます。
指数分布の無記憶性とポアソン過程
指数分布は、無記憶性という重要な性質を持っています。
これは、ある時点までに事象が発生していない場合、その時点以降の待ち時間分布は、指数分布に従うことを意味しています。
つまり、
$$P(T > s + t | T > s) = P(T > t)$$
わかりやすく言えば、直前に事象が起きても、次に事象が起きるまでの時間には関係がない(確率は変わらない)ということですね
指数分布の無記憶性は、ポアソン過程との深い関係があります。
ポアソン過程とは、単位時間当たりの事象発生率が一定であるような確率過程のことです。
ある区間における事象の発生回数がポアソン分布に従うことから、隣接する事象発生時間の差は指数分布に従うこと(めっちゃ大事!!!!)が示せます。
$$P(N(t+\tau) - N(t) = 0) = e^{-\lambda \tau}$$
\(N(t)\) をポアソン過程とすると、区間 \((t, t+\tau]\) に事象が1回も起きない確率が上式です。待ち時間 \(T\) が \(\tau\) を超える確率 \(P(T>\tau)\) に一致します。
密度はこれを \(\tau\) で微分して符号を変えた \(f(\tau)=\lambda e^{-\lambda \tau}\) です。\(P(N(t+\tau)-N(t)=1)=\lambda\tau e^{-\lambda\tau}\) は「ちょうど1回起きる確率」であり、待ち時間の密度そのものではありません。
ポアソン過程は、この辺りが参考になります。
さて、無記憶性を証明してみましょう。
$$
\begin{aligned}
P(T > s + t | T > s) &= \frac{P(T > s + t)}{P(T > s)} \\
&= \frac{e^{-\lambda(s+t)}}{e^{-\lambda s}} \\
&= e^{-\lambda t} \\
&= P(T > t)
\end{aligned}
$$
式変形の過程で、指数分布の累積分布関数\(F(t) = 1 - e^{-\lambda t}\)を使用しました。
この無記憶性は、ポアソン過程との関係から導かれます。
ポアソン過程\(N(t)\)における隣接する事象発生時間の差\(\tau\)が指数分布に従うことを確認しましょう。
$$\begin{align*} P(T > \tau) &= P(N(t+\tau) - N(t) = 0) = e^{-\lambda \tau} \\ f(\tau) &= -\frac{d}{d\tau}P(T > \tau) = \lambda e^{-\lambda \tau} \end{align*}$$
生存関数を微分すると、指数分布の確率密度関数 \(f(\tau) = \lambda e^{-\lambda \tau}\) が得られます。
さて、今回は指数分布を使った基本的な生存時間解析モデルを扱いました。
ハザード率が時間によって変わらないというかなり強い仮定を置いているので、理解はしやすいですが、現実の問題にはなかなか当てはめにくいですね。
現実世界では、ハザード率が時間とともに変化する例でいうと、人間の死亡率は年齢とともに上昇しますよね。
生存時間解析では、指数分布以外にも様々な確率分布モデルが用いられます。
代表的なものとしてワイブル分布があげられます。
ワイブル分布はハザード率が時間の経過とともに増加または減少する状況を扱うことができ、指数分布をその特別な場合として含んでいます。
こちらは別の記事で取り上げようと思います。

