イベントが発生する確率を考える!生存時間分析とハザード関数を紹介!

こんにちは!
IT企業に勤めて、約2年間でデータサイエンティストになったごぼちゃん(@XB37q)です!

このコラムでは、生存時間分析という考え方を紹介しています!

ビジネスで使う場面も多い分析手法です!
また、AIを使用する分析手法も存在します。

生存時間分析とは

生存時間分析とは
生存時間分析とは

生存時間分析とは、イベントが発生するまでの時間とイベントとの間の関係に着目した分析です。
例えば、サービスのユーザーの離脱や、投薬後の患者の死亡の発生、機械の故障の発生といったもので扱われます。

生存時間分析は、ビジネスで有効な場面が多いです。

来月中にユーザーAがサービスを解約するかどうかの確率を予測することと比較し、ユーザーAがいつ解約するかを予測することは、解約を防ぐために有効な施策を考えやすいことが多いです!

打ち切りの考え方

打ち切りとは
打ち切りとは

イベントが発生するまでの観測を行う場合、イベントの発生によりデータが得られなくなる場合とイベントが発生せずに観測が終了になりデータが得られなくなる場合は別の現象として捉える必要があります。
そのため、イベントが発生せずに観測が終了する場合を打ち切りと呼ばれる情報として、イベント発生までの時間とともに生存時間分析に必要な情報となる。

また、このような観測終了時に関する打ち切りを右側打ち切りと呼びます。
そのほかにも、観測開始時に関する打ち切りを左側打ち切り、特定区間内に打ち切りがあったかどうかだけわかる場合は区間打ち切り、右側左側共に打ち切りを考える場合は両側打ち切りと呼ばれます。

生存率関数(ハザード関数)

生存率関数とは
生存率関数とは

横軸に時間Tを書いて、縦軸を生存率としたグラフをイメージしてください。
生存率のため縦軸は0~1の値になり、時間が経過するほど生存率が低下する曲線になります。
この曲線を表す関数を生存率関数と呼びます。

そして、代表的な要約としては、血圧などと違って、平均ではなくて、ある時点の生存率、1年生存率とか3年生存率とか、もしくは半分の人が生存している時間、これをmedian survivaltime(メディアン生存時間)と呼んで横軸に時間Tを書 いて、縦軸を生存率とします。

ハザード

ハザードとは
ハザードとは

それでは、どのように生存率関数を推測するのでしょうか。
データからハザードという指標を定義し、生存率関数を推測するのが機械学習の方法です。
ハザードとは、次の期間でイベントが発生する確率です。

毎年もしくは毎月にイベントが発生したか、発生しなかったかを観測している状態を想定します。
例えば、月を単位とすれば1カ月目、2カ月目、3カ月目、4カ月目と観測を続けてます。
4カ月目のハザードは3カ月目にイベントが発生していないという条件のもと、次の1カ月が経過した4カ月目までにイベントが発生する確率はどのくらいかを計算していきます。

コックス比例ハザードモデル

コックス比例ハザードモデルは、生存時間解析の中で共変量の影響を検討する場合に一番頻繁に使われるモデルです。
コックス比例ハザードモデルは、ハザードに比例性を仮定することが特徴です。
比例制とは、時間に関わらず、グループAとグループBの治療法の違いによるハザード比が一定であることを仮定するものです。
ハザード比は相対危険度とも呼ばれています。
ハザード比を算出することにより、累積ハザードと生存率関数が1対1に対応するという関係によって、グループAの生存率をもとにグループBの生存率がどのくらいになるか計算により求められます。

まとめ

  • 生存時間分析
    • イベントが発生するまでの時間とイベントとの間の関係に着目した分析
  • 打ち切り
    • イベントが発生せずに観測が終了したデータ
  • 生存率関数
    • 横軸が時間T、縦軸が生存率のグラフ
  • ハザード
    • 次の期間でイベントが発生する確率
  • コックス比例ハザードモデル
    • 生存時間解析の中で共変量の影響を検討する場合に一番頻繁に使われるモデル

参考図書