ケィオスの時系列解析メモランダム

時系列解析、生体情報解析などをやわらかく語ります

【生存時間解析入門】Cox比例ハザードモデル:何でハザード?

 Cox比例ハザードモデル(Cox Proportional Hazards Model)は、生存時間解析の代表的な方法の一つです。このモデルの主な目的は、ある要因が、イベントの発生率にどのような影響を与えるかを評価することです。ここで考えるイベントは、死亡、病気の発症などであり、それに関連する要因は、年齢、治療法、生活習慣などです。

 私の研究室で予後予測指標の開発をしている学生であれば、Cox比例ハザードモデルは、必ず使う統計手法です。今回は、Cox比例ハザードモデルについて導入的な説明をします。

基本的な考え方

 生存時間解析では、対象がイベントを経験するまでの時間を扱います。たとえば、「がんになった方 (対象)が治療を受けてから死亡する (イベント)までの時間」や「特定の薬を服用した人 (対象)が心臓発作を起こす (イベント)までの時間」などが分析対象になります。

いきなり登場する悪役「ハザード関数」

 Cox比例ハザードモデルでは、瞬間的なイベントの起こりやすさを表すハザード関数を以下の形に仮定します:

\displaystyle{
h(t | X_1, X_2, \cdots, X_p) = h_0(t) \, e^{\beta_1 X_1 + \beta_2 X_2 +  \cdots + \beta_p X_p}
}

ここで、各変数の定義は以下の通りです:

  • \displaystyle{
h(t |\cdots )
}:時間 \displaystyle{
t
} におけるハザード
  • \displaystyle{
h _ 0(t)
}:ベースラインハザード(基準となるハザード関数)
  • \displaystyle{
X _ 1, X _ 2, ..., X _ p
}:説明変数(年齢、性別、治療方法など)
  • \displaystyle{
\beta _ 1, \beta _ 2, ..., \beta _ p
}:説明変数に対応する係数

 ハザード関数 \displaystyle{
h(t | X _ 1, X _ 2, \cdots, X _ p)
} の式の中にある縦棒 “ |” は、縦棒の右側に示した条件の下でという意味です。たとえば、 X _1 が年齢であれば、\displaystyle{
h(t | X _ 1 = 67)
} は「67歳であれば」という意味になります。

生存関数 (生存曲線)との関係

 いきなり、「ハザード関数」という、わからないものを登場させてしまい、混乱させたかもしれません。ハザード関数を使うのは、数式としての扱いやすさを優先するためです。最初に言ったように、ハザード関数はイベントの起こりやすさを表しています。

 そういわれても意味がか分からないと思いますので、生存率とハザード関数の関係を説明します。

 生存関数 \displaystyle{
S(t)
} は、「時間  t までイベントが発生せずに生存している確率」を表します。式で書けば、

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

となります。生存関数のグラフは、生存している割合の変化を描いているので、直感的にわかりやすいと思います。

 ハザード関数

\displaystyle{
h(t)=
h(t | X_1, X_2, \cdots, X_p) 
}

と生存関数の関係は、以下です。

\displaystyle{
S(t) = \exp\left(-\int_0^t h(\tau) \,d\tau \right)
}

この式では、ハザードの積分が指数関数に入っているのがややこしく感じるかもしれません.ただ、指数関数であることで、 t = 0 のとき、

\displaystyle{
S(0) = \exp\left(-\int_0^0 h(\tau) \,d\tau \right) = \exp(0) = 1
}

となり、時刻0で生存確率が1である条件を常に満たしています.

 さらに、\displaystyle{
h(t) > 0
} であれば、必ず、

\displaystyle{
1 \ge S(t) > 0
}

であり、t の増加とともに、\displaystyle{
S(t)
} は単調減少することになります。

 最終的には、

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

となりますので (いつかは死が訪れ、全員亡くなる)、生存確率である \displaystyle{
S(t)
} を表すには、上の式の形は好都合です。

 そして、ハザード関数が大きいほど、それを積分した結果 (面積)も大きくなりますので、\displaystyle{
S(t)
} は急激に減少します。下の図では、最上段のハザード関数の生存関数が最下段に描かれています。赤実線と青実線を比較してみてください。ハザード関数が大きいほど (グラフが上にあるほど)、生存関数は早く0に近づくことがわかります。

ハザードと生存曲線の関係.最上段がハザード関数.中段はハザード関数を0から t まで積分した値。最下段が生存関数.

やたらと指数関数が登場する理由 (すべては計算の都合)

 統計や回帰の計算をする場合には、値が0と1の間に制限されているよりも、正の数 (正の実数)の方が扱いやすいし、もっといえば、正でも負でもかまわない数 (すべての実数)にしたほうが、式の表現やプログラミングが楽です。

 ですので、生存確率が満たす必要がある、0から1の制限をなくして、正の実数にするために、ハザード関数を定義して指数関数の形

\displaystyle{
\begin{align}
S(t) &= \exp \left(-\int_0^t h(\tau) \,d\tau \right) 
\end{align}
}

にします。\displaystyle{
h(\tau)
} は、正の実数をとることができます。とることができる値の範囲が広がったので、少し気持ちが開放的になります。0から1なんて、狭すぎて窮屈です。

 さらに、実数の説明変数  X_i を扱えるようにするために、ハザード関数の中身を、説明変数の指数関数の形

\displaystyle{
\begin{align}
S(t) &= \exp\left(-\int_0^t h_0(t) \, \exp \left(\beta_1 X_1 + \beta_2 X_2 +  \cdots + \beta_p X_p \right)
 \,d\tau \right)
\end{align}
}

にしてあるのです。 X_i は、正でも負でもかまいません。値の制限がなくなり、完全に開放された気持ちです。

 私の想像では、この枠組みは、ハザードから出発したのではなく、計算の都合を優先して、逆向きに考えたのだと思います。

比例ハザードのポイント

 このモデルでは、\displaystyle{
h _ 0(t)
}(ベースラインハザード)は時間 \displaystyle{
t
} に依存しますが、

\displaystyle{
e^ {\beta_1 X_1 + \beta_2 X_2 + ... + \beta_p X_p}
}

の部分は時間に依存しません。これにより、ある要因の影響は時間が経過しても一定(比例)であるという仮定(比例ハザード仮定)が成り立ちます。

比例ハザードの意味

 Coxモデルの特徴の一つは、「比例ハザードの仮定」です。これは 「ある説明変数の影響が時間によって変化しない」 ことを意味します。

 例えば、ある新しい薬を飲んでいるグループ(A)と飲んでいないグループ(B)のハザードが 常に2倍 である場合、このモデルは適用可能です。

  • OKな例(比例ハザードが成り立つ場合):
    • どの時点でも、グループAの死亡する危険性はグループBの2倍で一定
  • NGな例(比例ハザードが成り立たない場合):
    • 治療開始直後はリスクが2倍だけど、1年後にはリスクの差がなくなる

 比例ハザードの仮定が成り立たない場合、Coxモデルの結果が信頼できなくなるため、仮定の検証が必要です。

Coxモデルの解釈

 Cox比例ハザードモデルをデータに当てはめることで、ハザード比(Hazard Ratio: HR) という指標を求めることができます。変数  X_i のハザード比は、 以下の式で与えられます。

\displaystyle{
{\rm HR}_i = e^{\beta_i}
}

上に示した図では、比例ハザード性が成り立つようにして、ハザード比を変えています。

 ハザード比は以下のように解釈できます。

  • \displaystyle{
{\rm HR}_i \gt 1
}:その変数が増えるとリスクが上がる(生存時間が短くなる)
  • \displaystyle{
{\rm HR}_i = 1
}:その変数はリスクに影響を与えない
  • \displaystyle{
{\rm HR}_i \lt 1
}:その変数が増えるとリスクが下がる(生存時間が長くなる)

例えば、ある薬を飲むかどうかを示す変数  X_1 があり、その係数 \displaystyle{
\beta_1
}0.7 だった場合、そのハザード比は、

\displaystyle{
{\rm HR}_1 = e^{0.7} \approx 2.01
}

です。

これは、「この薬を飲むと、飲まない場合と比べてイベント(例えば死亡)のリスクが 約2倍 高くなる」ことを意味します。

Coxモデルの利点と欠点

利点

  1. ベースラインハザードの形を事前に仮定する必要がない

    • 一般的な生存時間解析では、ワイブル (Weibull)分布や指数分布など、特定の分布を仮定することが多いですが、Coxモデルでは データに基づいてベースラインハザードが決まる ため、柔軟に適用できます。
  2. 打ち切りデータ(Censored Data)を適切に扱える

    • 生存時間データでは、研究期間が終了してもイベントが発生しない場合があります(例:研究終了時点で被験者がまだ生存している)。
    • Coxモデルは このような未観測データ(打ち切り)を適切に処理できる ため、現実的なデータを正確に解析できます。
  3. 複数の説明変数を同時に解析できる

    • Coxモデルでは、年齢、性別、治療法、病気の重症度など、複数の要因を同時に評価できます。そのため、各要因が生存時間に与える影響を統計的に明確にすることが可能です。

欠点

  1. 比例ハザードの仮定が必要

    • Coxモデルでは、「説明変数の影響が時間に対して一定である」という 比例ハザードの仮定 が成り立っていることが前提となります。
    • もしこの仮定が成り立たない場合、モデルの結果が正しく解釈できなくなる可能性があります。
    • 時間とともにリスクの影響が変化する場合には、時間依存性を考慮した拡張モデルを用いる必要があります。
  2. ベースラインハザードの具体的な形を知ることはできない

    • Coxモデルでは、リスク要因の影響を推定できますが、時間経過に伴う全体的なリスクの変化(例えば、リスクが最初は高く、その後低下するなど)については直接知ることができません。
    • そのため、具体的なハザード関数の形を知りたい場合には、他の方法を検討する必要があります。

Cox比例ハザードモデルの医学分野での応用例

Cox比例ハザードモデルは、医学分野で頻繁に使われます。

  • 新しい治療法の効果評価
     ある新薬や治療法が患者の生存期間を延ばすかどうかを分析する。

  • がん患者の生存率解析
     年齢、がんのステージ、遺伝子変異などの要因が生存期間に与える影響を評価する。

  • 心血管疾患のリスク要因分析
     高血圧、糖尿病、喫煙などが心筋梗塞脳卒中の発生リスクに与える影響を調べる。

  • 移植患者の生存率と拒絶反応の関係
     臓器移植後の生存率と、免疫抑制剤の種類やドナーの適合性がどのように影響するかを解析する。

  • 感染症の死亡リスク評価
     COVID-19やインフルエンザなどの感染症において、年齢や基礎疾患が死亡リスクにどのように影響するかを調べる。

まとめ

  • Cox比例ハザードモデルは「生存時間データ」を扱う統計手法で、特定の要因がイベントの発生リスクにどのように影響するかを評価
  • 「比例ハザードの仮定」= ある要因の影響が時間に対して一定であること
  • ハザード比(HR)を用いて変数の影響を解釈

本題はモデルのパラメタを推定すること

 上の説明で、何となくわかった気がしてもらえると嬉しいです。しかし、皆さんの真の目的は、実際のデータを分析することだと思います。それは、そのうち説明します。