メニュー
yu-to
管理者
本ブログを運営しているyu-toと申します。

統計学に関する記事を基礎、応用、実践に分けて投稿していきます。
高校数学に関する記事も多く投稿しているので、イチから学びたい社会人にもおすすめです。
カテゴリー

ワイブル分布を使った生存時間解析

  • URLをコピーしました!

この記事を書いたのはこんな人

  • 国立大学大学院数学科修了
  • 元教員
  • 統計検定準1級
  • 数学検定準1級
  • kaggler

この記事を書いたのはこんな人

yu-to

☑️ 国立大学大学院数学科修了
☑️ 元教員
☑️ 数学検定準1級
☑️ 統計検定準1級
☑️ kaggler

目次

生存時間解析とは

生存時間解析とは、「ある事象が起こるまでの時間」を確率的に扱う統計解析手法である。医療分野では患者の生存時間、工学分野では機械部品の寿命、ビジネスでは顧客の離脱までの時間など、幅広い分野で利用されている。

生存時間解析の特徴は、打ち切りデータを自然に扱える点にある。例えば、観測期間中に事象が起きなかった場合でも、その時点まで生存していたという情報を解析に活かすことができる。

生存時間を表す確率変数を \(T\) とすると、以下の3つの関数が基本となる。

  • 確率密度関数:\(f(t)\)
  • 生存関数  :\(S(t) = P(T > t)\)
  • ハザード関数:\(h(t)\)

これらの関数の関係を理解することが、生存時間解析の理論的基礎となる。

指数分布と生存時間解析の関係

最も基本的な生存時間モデルが指数分布である。指数分布の確率密度関数は以下で定義される。

$$f(t) = \lambda e^{-\lambda t} \quad (t \ge 0, \lambda > 0)$$

ここで \(\lambda\) (\(=h(t)\))は故障率や発生率を表すパラメータである。

指数分布の大きな特徴は、ハザード関数(\(h(t)\))が一定である点だ。これは「これまでにどれだけ生存したかに関係なく、次の瞬間に事象が起こる確率が一定」であることを意味する。この性質は無記憶性と呼ばれる。

多くの実データでは、時間とともにリスクが変化することが多く、指数分布は単純すぎるモデルになる場合も多い。しかし、その単純さゆえに理論の出発点として非常に重要である。

確率密度関数から生存関数とハザード関数を導出

改めて、生存時間を表す確率変数を \(T\)(\(T\ge 0\))とする。

まず基本として、確率密度関数\(f(t)\) と累積分布関数 \(F(t)\) の関係を確認する。

累積分布関数 \(F(t)\)

累積分布関数は

$$F(t)=P(T\le t)$$

で定義される。連続型の場合、確率は密度を積分して得られるので、

$$F(t)=\int_{0}^{t} f(u)\,du$$

となる(生存時間なので下限は \(0\) とするのが自然)。

ここから微分すると、

$$\frac{d}{dt}F(t)=f(t)$$

が成り立つ。\(f(t)\) は事象に合わせて仮定して使用することが多い。

生存関数 \(S(t)\)

生存関数 \(S(t)\) は、

「時刻 \(t\) を過ぎても、まだ事象が起きていない確率」

を表している。言い換えると、生存関数は「ここまで耐えてきた確率」あるいは「まだ生き残っている割合」を時刻ごとに表したものと考えることができる。例えば医療の文脈であれば、

  • \(S(1) = 0.9\) とは、\(1\) 年後に \(90\) %の患者が生存している
  • \(S(5) = 0.6\) とは、\(5\) 年後に \(60\) %の患者が生存している

というように、「時間が経つにつれてどれだけ残っているか」を示す関数である。重要なのは、生存関数が「いつ起きるか」ではなく「どこまで起きていないか」を表している点である。そのため、生存関数は時間とともに単調に減少し、最初は \(S(0)=1\)、十分時間が経つと \(0\) に近づく。生存関数は、

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

で定義される。これは累積分布関数と補集合の関係により

$$P(T>t)=1-P(T\le t)$$

なので

$$S(t)=1-F(t)$$

が得られる。さらに、上で求めた \(F(t)=\int_{0}^{t}f(u)\,du\) を代入すると

$$S(t)=1-\int_{0}^{t} f(u)\,du$$

となる。また「\(t\) 以降に起きる確率」として書き換えると、全確率が \(1\) であることから

$$\int_{0}^{\infty} f(u)\,du =1$$

ゆえに

$$S(t)=\int_{t}^{\infty} f(u)\,du$$

も同値である。

つまり 生存関数は「密度の右側の面積」として表せる。ここで生存関数の微分も押さえておくと便利である。\(S(t)=1-F(t)\) より

$$\frac{d}{dt}S(t)=-\frac{d}{dt}F(t)=-f(t)$$

すなわち

$$f(t)=-S'(t)$$

が成り立つ。これは後でハザード関数を導くときに効く。

ハザード関数 \(h(t)\)

ハザード関数は直感的には

「時刻 \(t\) まで生存していると分かった上で、その直後に事象が起こる“瞬間的な起こりやすさ”」

※ 確率を表しているわけではない点に注意。

を表している。ポイントは、ハザード関数が条件付きの確率的な“起こりやすさ”を表している点である。例えば、

  • 「これまで無事だった人が、次の瞬間に故障する“勢い”」
  • 「ここまで生き延びた患者が、今まさに亡くなるリスクの強さ」

といったイメージに近い。数式では \(h(t) = \frac{f(t)}{S(t)}\) と書けるが、これは「今ちょうど起きる確率」÷「まだ起きていない確率」と解釈できる。定義は次である。

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

ここで条件付き確率の公式

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

を使う。\(A=\{t\le T<t+\Delta t\}、B=\{T\ge t\}\) とおくと、\(A\subset B\) なので \(A\cap B=A\) であり、

$$P(t\le T \lt t+\Delta t \mid T\ge t)=\frac{P(t\le T \lt t+\Delta t)}{P(T\ge t)}$$

となる。分母は生存関数で、

$$P(T\ge t)\approx P(T>t)=S(t)$$

分子は密度を積分して

$$P(t\le T<t+\Delta t)=\int_{t}^{t+\Delta t} f(u)\,du$$

よって

$$P(t\le T<t+\Delta t \mid T\ge t) = \frac{\int_{t}^{t+\Delta t} f(u)\,du}{S(t)}$$

これをハザードの定義に戻すと

$$h(t)=\lim_{\Delta t\to 0} \frac{1}{\Delta t} \cdot \frac{\int_{t}^{t+\Delta t} f(u)\,du}{S(t)}$$

ここで \(\Delta t\to 0\) のとき

$$\frac{1}{\Delta t}\int_{t}^{t+\Delta t} f(u)\,du \to f(t)$$

(平均値の定理、あるいは積分の定義に基づく極限)なので、

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

が得られる。これがよく使われる基本公式である。

\(S(t)\)\(h(t)\)の重要な関係式(積分形)

上で得た

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

と、先ほどの

$$f(t)=-S'(t)$$

を組み合わせると、

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

すなわち

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

両辺を積分して

$$\int_{0}^{t}\frac{S'(u)}{S(u)}\,du = -\int_{0}^{t}h(u)\,du$$

左辺は対数微分なので

$$\log S(t)-\log S(0)= -\int_{0}^{t}h(u)\,du$$

生存時間では通常 \(S(0)=1\) なので \(\log S(0)=0\)。よって

$$\log S(t)= -\int_{0}^{t}h(u)\,du$$

$$S(t)=\exp\left(-\int_{0}^{t}h(u)\,du\right)$$

が得られる。この

$$H(t)=\int_{0}^{t}h(u)\,du$$

を累積ハザード関数と呼び、

$$S(t)=e^{-H(t)}$$

という形で覚えておくと、生存関数とハザードの往復が非常に楽になる。

指数分布からワイブル分布に拡張

指数分布の場合、ハザード関数が一定になっていた。それは実用化を考えたときに直感と合わない場合もある。その制約を緩和したものがワイブル分布である。ワイブル分布の確率密度関数は次のように定義される。

$$f(t) = \frac{k}{\lambda}\left(\frac{t}{\lambda}\right)^{k-1} \exp\left[-\left(\frac{t}{\lambda}\right)^k\right]$$

ここで

  • \(k > 0\):形状パラメータ
  • \(\lambda > 0\):尺度パラメータ

である。対応する生存関数は

$$S(t) = \exp\left[-\left(\frac{t}{\lambda}\right)^k\right]$$

ハザード関数は

$$h(t) = \frac{f(t)}{S(t)} = \frac{k}{\lambda}\left(\frac{t}{\lambda}\right)^{k-1}$$

となる。この式から、形状パラメータ \(k\) によってハザードの性質が変わることが分かる。

  • \(k = 1\):ハザード一定(指数分布に一致)
  • \(k < 1\):時間とともにハザード減少(初期故障型)
  • \(k > 1\):時間とともにハザード増加(摩耗故障型)

この柔軟性により、ワイブル分布は工学・医療の両分野で非常によく使われている。

おわりに

生存時間解析では、生存関数とハザード関数という視点を持つことで、単なる確率分布以上の解釈が可能になる。指数分布は理論的に美しいが現実には制約が強く、ワイブル分布への拡張によって時間依存のリスクを自然に表現できるようになる。

ワイブル分布は生存時間解析の「最初の一歩としての拡張」であり、ここから比例ハザードモデルや半母数モデルへと発展していく。理論を数式で理解することは、実データ解析の結果を正しく解釈するための強力な武器になるだろう。

さいごまで読んでいただきありがとうございました!

  • 大学受験数学で困っている学生の方
  • 公務員試験の数学で困っている学生/社会人の方
  • 統計学(統計検定)の勉強で困っている学生/社会人の方

個人家庭教師やってるので、ぜひコメントやXでご連絡ください。(Xはこちら

時間や料金などは相談して決められればと思っておりますが、塾に通うよりは高コスパかなと思います。また、基本的にはオンラインでの授業を想定していますが、場所によっては直接の指導が可能です。(プロフィール

これまでは塾講師や高校で働いていたのですが、現在はデータサイエンティストとして活動しています。社会やビジネスで数学がどのように使われているのか、そういった話も交えながら進められればと思っております。

数学に困っている方の一助になれれば幸いです。

ご連絡お待ちしております。

  • URLをコピーしました!

質問や感想はコメントへ!

コメントする

CAPTCHA


目次