← 統計検定テキスト 一覧

📊 対象級:準1級 ・ 1級 | 重要度:B(標準)

要点(BLUF)

生存時間解析は「あるイベント(死亡・故障・解約)が起きるまでの時間 TT」を扱う分野です。普通の解析と決定的に違うのは、観察が終わっても多くの人でイベントがまだ起きていない、という**打ち切り(censoring)**が必ず混じる点。打ち切りデータは「少なくとも今まで生きた」という情報を持つので、捨てると推定が偏ります。

中心になる量は3つで、すべて互いに変換できます。

  S(t)=P(T>t),h(t)=f(t)S(t),S(t)=exp ⁣( ⁣0th(u)du)=eH(t)  \boxed{\; S(t)=P(T>t),\qquad h(t)=\frac{f(t)}{S(t)},\qquad S(t)=\exp\!\Big(-\!\int_0^t h(u)\,du\Big)=e^{-H(t)} \;}

要するに「生存関数 SS・ハザード hh・累積ハザード HH はどれか1つ決まれば残り2つも決まる」。打ち切りを扱える推定がカプラン・マイヤー法、2群比較がログランク検定、共変量の効果をハザード比で測るのがCox比例ハザードモデルです。準1級ではKM法の計算とハザード比の解釈、1級では部分尤度の構成と比例ハザード仮定の検証まで問われます。


1. なぜ普通の解析が使えないのか — 打ち切り

生存時間 T0T\ge 0 は「イベントが起きるまでの時間」です。死亡までの日数、機械が故障するまでの稼働時間、契約解約までの月数など、応答が「時間」になっている点が特徴です。これだけなら指数分布やガンマ分布(指数分布・ガンマ分布・ベータ分布)の当てはめで済みそうですが、現実のデータには必ず打ち切りが混じります。

**打ち切り(censoring)とは、その個体のイベント発生時刻を正確には観測できなかった状態を指します。中心になるのは右側打ち切り(right censoring)**で、観察を打ち切った時点でまだイベントが起きていない場合です。原因は主に2つ。

打ち切られた個体について分かるのは「少なくとも時刻 cc まではイベントが起きていない」、つまり T>cT>c という情報です。

要するに「打ち切りは『TT がいくつか分からない』だけで、『TTcc より大きい』という情報は持っている」。ここが欠測(データそのものが無い)との決定的な違いです。

なぜ打ち切りを捨ててはいけないか

「打ち切りデータを除いて、イベントが観測できた人だけで平均生存時間を出せばいい」と思いがちですが、これは強い下方バイアスを生みます。打ち切られるのは「長く生きている(まだイベントが起きていない)」個体が多いので、それらを除くと短命な個体だけが残り、生存時間を過小評価してしまうからです。

flowchart TB
  D["生存時間データ T"] --> E1["イベント観測<br/>T が正確に分かる"]
  D --> C1["右側打ち切り<br/>T &gt; c しか分からない"]
  C1 --> R1["観察終了"]
  C1 --> R2["脱落"]
  E1 --> KM["カプラン・マイヤー法<br/>打ち切りを risk set の減少で扱う"]
  C1 --> KM
  KM --> CMP["2群比較 → ログランク検定"]
  KM --> COX["共変量 → Cox 比例ハザードモデル"]

要するに「打ち切りを正しく情報として使う枠組みが生存時間解析であり、だから専用の手法(KM法・ログランク・Cox)が要る」ということです。


2. 生存時間を記述する3つの関数

生存時間 TT(連続・非負の確率変数)を、互いに同値な3つの関数で表します。どれか1つで分布が完全に決まります。

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

S(t)=P(T>t)=1F(t)=tf(u)duS(t)=P(T>t)=1-F(t)=\int_t^\infty f(u)\,du

要するに「時刻 tt を超えてまだイベントが起きていない確率」。FF は累積分布関数、ff は密度です。S(0)=1S(0)=1 で単調非増加、tt\to\infty00 に近づきます。

2.2 ハザード関数 h(t)h(t)(瞬間死亡率)

h(t)=limΔt0P(tT<t+ΔtTt)Δth(t)=\lim_{\Delta t\to 0}\frac{P(t\le T<t+\Delta t \mid T\ge t)}{\Delta t}

要するに「時刻 tt まで生き延びた個体が、その直後の一瞬でイベントを起こす『率(rate)』」。条件付き確率を Δt\Delta t で割っているので、これは確率ではなく単位時間あたりの率で、11 を超えてもよい量です(ここが超頻出の引っかけ)。

このハザードを密度と生存関数で書き直すのが基本式です。条件付き確率の分子は P(tT<t+Δt)f(t)ΔtP(t\le T<t+\Delta t)\approx f(t)\Delta t、条件は P(Tt)=S(t)P(T\ge t)=S(t) なので、

h(t)=limΔt0f(t)Δt/S(t)Δt=f(t)S(t)h(t)=\lim_{\Delta t\to 0}\frac{f(t)\Delta t / S(t)}{\Delta t}=\frac{f(t)}{S(t)}   h(t)=f(t)S(t)  \boxed{\;h(t)=\frac{f(t)}{S(t)}\;}

要するに「ハザード = 密度 ÷ 生存確率」。同じ「いま死ぬ密度 f(t)f(t)」でも、まだ生き残っている人が少なければ(S(t)S(t) が小さい)ハザードは高くなる、という条件付きの量です。

2.3 累積ハザード関数 H(t)H(t)

H(t)=0th(u)duH(t)=\int_0^t h(u)\,du

要するに「時刻 00 から tt までに浴びたハザードの総量」。単調非減少で H(0)=0H(0)=0tt\to\infty\infty に発散します(最終的には全員イベントを起こすため)。


3. 中心となる関係式 S(t)=eH(t)S(t)=e^{-H(t)} の導出

3つの関数を結ぶ最重要の恒等式が

  S(t)=exp ⁣(H(t)),h(t)=ddtlogS(t)  \boxed{\;S(t)=\exp\!\big(-H(t)\big),\qquad h(t)=-\frac{d}{dt}\log S(t)\;}

です。これは1級で導出ごと問われます。自明で済ませず順を追って導きます。

ステップ1:ハザードを SS の対数微分で書く。 密度は f(t)=ddtS(t)f(t)=-\dfrac{d}{dt}S(t)S=1FS=1-F かつ f=Ff=F' なので S=fS'=-f)です。これを h=f/Sh=f/S に代入すると

h(t)=f(t)S(t)=S(t)S(t)=ddtlogS(t)h(t)=\frac{f(t)}{S(t)}=\frac{-S'(t)}{S(t)}=-\frac{d}{dt}\log S(t)

要するに「ハザードは生存関数の対数の傾き(の符号反転)」。logS\log S がどれだけ速く落ちているか、がそのままハザードです。

ステップ2:両辺を 00 から tt まで積分する。

0th(u)du=0tddulogS(u)du=[logS(t)logS(0)]\int_0^t h(u)\,du=-\int_0^t \frac{d}{du}\log S(u)\,du=-\big[\log S(t)-\log S(0)\big]

左辺は定義より H(t)H(t)S(0)=1S(0)=1 なので logS(0)=0\log S(0)=0。よって

H(t)=logS(t)H(t)=-\log S(t)

要するに「累積ハザード = マイナス対数生存関数」。これは H(t)=logS(t)H(t)=-\log S(t) という形でもよく登場します。

ステップ3:指数を取って解く。

logS(t)=H(t)    S(t)=exp ⁣(H(t))\log S(t)=-H(t)\;\Longrightarrow\;S(t)=\exp\!\big(-H(t)\big)

導出完了です。この鎖により、hHSfh \to H \to S \to f がすべて行き来できます(f(t)=h(t)S(t)=h(t)eH(t)f(t)=h(t)S(t)=h(t)e^{-H(t)})。

なぜこの式が嬉しいか:後で出るカプラン・マイヤー法は SS を直接推定し、ハザードをモデル化するCox回帰は hh を扱います。S=eHS=e^{-H} があるおかげで、片方を推定すればもう片方に変換でき、「SS の世界」と「hh の世界」を自由に往復できます。


4. パラメトリックな例:指数分布とワイブル分布

ハザードの形を関数で仮定するのがパラメトリック生存モデルです。代表が2つあります。

4.1 指数分布 = 定数ハザード(無記憶性)

ハザードが定数 h(t)=λh(t)=\lambda(時間によらない)と置くと、S(t)=eH(t)=eλtS(t)=e^{-H(t)}=e^{-\lambda t}f(t)=h(t)S(t)=λeλtf(t)=h(t)S(t)=\lambda e^{-\lambda t}。これはちょうど指数分布です(指数分布・ガンマ分布・ベータ分布)。

h(t)=λ  (定数)    S(t)=eλt,f(t)=λeλth(t)=\lambda\;(\text{定数})\;\Longleftrightarrow\;S(t)=e^{-\lambda t},\quad f(t)=\lambda e^{-\lambda t}

要するに「ハザードが一定 = 指数分布」。「今まで何時間生きたか」がこの先の故障率に影響しない、という**無記憶性(memoryless)**の言い換えでもあります。新品でも使い古しでも次の一瞬で壊れる率が同じ、という非現実的に単純なモデルです。ポアソン過程(ポアソン分布)の到着間隔がこれに当たります。

4.2 ワイブル分布 = 単調なハザード

ハザードを h(t)=λptp1h(t)=\lambda p\,t^{\,p-1}λ>0, p>0\lambda>0,\ p>0)と置くとワイブル分布になります。累積ハザードは H(t)=λtpH(t)=\lambda t^{\,p}、生存関数は S(t)=exp(λtp)S(t)=\exp(-\lambda t^{\,p})

h(t)=λptp1,S(t)=exp(λtp)h(t)=\lambda p\,t^{\,p-1},\qquad S(t)=\exp(-\lambda t^{\,p})

要するに「形状パラメータ pp でハザードの増減を切り替えられる」分布です。

形状 ppハザードの挙動解釈
p>1p>1単調増加摩耗・老化(時間とともに壊れやすく)
p=1p=1一定指数分布に一致(無記憶)
p<1p<1単調減少初期故障(最初に壊れやすく、生き残れば安定)

p=1p=1 で指数分布に退化することからも、ワイブルは指数分布の一般化だと分かります。


5. カプラン・マイヤー推定量(積極限推定量)

カプラン・マイヤー生存曲線

打ち切り(灰の+)を含むデータから、カプラン・マイヤーが階段状に生存関数を推定し、真の S(t)=exp(-t/10) に一致する。図は simulations/kaplan_meier_keijou.py で生成。

分布形を仮定せず、打ち切りを含むデータから S(t)S(t)ノンパラメトリックに推定するのがカプラン・マイヤー(Kaplan-Meier)推定量、別名**積極限推定量(product-limit estimator)**です。準1級では手計算が問われます。

イベントが起きた相異なる時刻を t1<t2<t_1<t_2<\cdots とし、各時刻で

と定義します。推定量は

  S^(t)=tit(1dini)  \boxed{\;\hat S(t)=\prod_{t_i\le t}\left(1-\frac{d_i}{n_i}\right)\;}

要するに「各イベント時刻での『その瞬間を生き延びる条件付き確率』 (1di/ni)(1-d_i/n_i) を、tt までかけ合わせたもの」。tt まで生きるとは「各関門をすべて通過する」ことなので、条件付き生存確率の積になります。

5.1 なぜ打ち切りを扱えるのか(核心)

KM法の肝は、打ち切りをリスク集合 nin_i の減少だけで処理する点です。

時刻 tit_i で生き延びる条件付き確率は「その時点でリスクにさらされている nin_i 人のうち did_i 人がイベントを起こす」割合の補数 1di/ni1-d_i/n_i です。ここで**tit_i より前に打ち切られた個体は、もう nin_i に含まれていません**(リスク集合から外れている)。つまり打ち切りは「そこから先のリスク計算に参加しなくなる」という形で自然に織り込まれ、1di/ni1-d_i/n_i の分母 nin_i を減らすだけで済みます。

要するに「打ち切りはイベントとしてカウントせず(分子 did_i に入れない)、ただリスク集合から退場させる(分母 nin_i を減らす)」。これが「T>cT>c という情報を捨てずに使う」ことの具体的な実装です。打ち切られた個体も、退場するまではちゃんとリスク集合に居続けて分母に貢献している点が重要です。

数理的には、S^\hat S は打ち切りを含む尤度(イベントは ff、打ち切りは SS で寄与)を最大化するノンパラメトリック最尤推定量になっていることが示せます(1級の論点。最尤法は 最尤法・モーメント法(推定量の作り方と最尤推定量の漸近論))。

5.2 階段関数になる

S^(t)\hat S(t)イベントが起きた時刻でだけ下に段差ができ、その間は水平な階段関数です。打ち切りだけが起きた時刻では di=0d_i=0 なので (10/ni)=1(1-0/n_i)=1 となり、段差は生じません(曲線は下がらない)。慣例として打ち切り時刻はグラフ上に「+」印で示します。

5.3 計算例

5人の患者、観測値(†は打ち切り)が {2, 3, 5, 5, 8}\{2,\ 3^\dagger,\ 5,\ 5,\ 8^\dagger\} のとき:

時刻 tit_iリスク集合 nin_iイベント did_i打ち切り1di/ni1-d_i/n_iS^(ti)\hat S(t_i)
25104/54/50.8000.800
340111(段差なし)0.8000.800
53201/31/30.800×1/30.2670.800\times1/3\approx0.267
810111(段差なし)0.2670.267

要するに「t=3t=3 の打ち切りは段差を作らないが、t=5t=5 のリスク集合を 44 から 33 に減らしている」。この『打ち切りが分母に効く』のを正しく追えるかが準1級の典型問題です。


6. ログランク検定(2群の生存曲線の比較)

「治療群と対照群で生存に差があるか」を、KM曲線が描けたうえで検定するのが**ログランク検定(log-rank test)**です。生存曲線まるごとを比べるノンパラメトリックな検定で、ノンパラ検定(ノンパラメトリック検定(符号・順位和・Wilcoxon))の生存版に当たります。

6.1 各イベント時刻で 2×22\times2 表を作る

イベントが起きた各時刻 tit_i で、群 11・群 22 について次の分割表を作ります。

イベント生存リスク集合
群1d1id_{1i}n1id1in_{1i}-d_{1i}n1in_{1i}
群2d2id_{2i}n2id2in_{2i}-d_{2i}n2in_{2i}
合計did_inidin_i-d_inin_i

「2群で差がない(h1=h2h_1=h_2)」が帰無仮説です。このとき、nin_i 人から did_i 人がイベントを起こすなら、群1から出るイベント数 d1id_{1i}超幾何分布に従います。その期待値と分散は

E1i=n1idini,V1i=n1in2idi(nidi)ni2(ni1)E_{1i}=\frac{n_{1i}\,d_i}{n_i},\qquad V_{1i}=\frac{n_{1i}\,n_{2i}\,d_i\,(n_i-d_i)}{n_i^{2}\,(n_i-1)}

要するに「帰無仮説のもとで群1に期待されるイベント数は、群1のリスク人数の比率 n1i/nin_{1i}/n_i に全イベント did_i を割り振った値」。差がなければ、イベントはリスク人数に比例して両群に分配されるはずだ、という考え方です。

6.2 全時刻で足し合わせてカイ二乗統計量に

各時刻の「観測 - 期待」を全イベント時刻で合計し、分散の合計で正規化します。

  χ2=(id1iiE1i)2iV1i=(O1E1)2V  H0  χ12  \boxed{\; \chi^2=\frac{\big(\sum_i d_{1i}-\sum_i E_{1i}\big)^2}{\sum_i V_{1i}} =\frac{(O_1-E_1)^2}{V}\;\xrightarrow{H_0}\;\chi^2_1 \;}

要するに「群1の総観測死亡数 O1O_1 と総期待死亡数 E1E_1 のズレを、分散で標準化した量」で、帰無仮説のもとで自由度1のカイ二乗分布に近づきます。O1O_1E1E_1 より大きく外れるほど「2群で生存が違う」証拠になります。

⚠️ 簡便版として χ2g(OgEg)2/Eg\chi^2\approx\sum_g (O_g-E_g)^2/E_ggg=群、ピアソン型)も使われますが、これは近似で、正式なログランク統計量は上の超幾何分布の分散 VV で割る形です。級によってどちらの式を要求するか確認してください。


7. Cox 比例ハザードモデル(半パラメトリック)

共変量 xx(年齢・治療の有無・用量など)が生存にどう効くかを、ハザードを通してモデル化するのがCox比例ハザードモデルです。生存時間解析で最もよく使われ、準1級・1級ともに頻出です。

7.1 モデルの定義

  h(tx)=h0(t)exp(βTx)  \boxed{\;h(t\mid x)=h_0(t)\,\exp(\beta^{\mathsf T} x)\;}

ここで h0(t)h_0(t) は共変量がすべて 00 のときのハザードで**ベースラインハザード(baseline hazard)**と呼びます。要するに「ハザードを『時間だけの部分 h0(t)h_0(t)』と『共変量だけの部分 exp(βTx)\exp(\beta^{\mathsf T}x)』の掛け算に分ける」モデルです。

決定的なのは、時間に依存する h0(t)h_0(t)関数形を一切仮定せず未知のまま残す点です。β\beta(共変量の効果)はパラメトリックに、h0(t)h_0(t) はノンパラメトリックに扱うので**半パラメトリック(semi-parametric)**と呼ばれます。一般化線形モデル(一般化線形モデル(ロジスティック・ポアソン回帰))が分布を完全に決めるのと対照的に、Coxは分布形を決め打ちしないのが強みです。

7.2 比例ハザード仮定とハザード比

2個体 xA, xBx_A,\ x_B のハザードの比を取ると、共通の h0(t)h_0(t)約分されて消えます

h(txA)h(txB)=h0(t)exp(βTxA)h0(t)exp(βTxB)=exp ⁣(βT(xAxB))\frac{h(t\mid x_A)}{h(t\mid x_B)}=\frac{h_0(t)\exp(\beta^{\mathsf T}x_A)}{h_0(t)\exp(\beta^{\mathsf T}x_B)}=\exp\!\big(\beta^{\mathsf T}(x_A-x_B)\big)

要するに「2個体のハザード比は時刻 tt を含まない(時間によらず一定)」。これが**比例ハザード仮定(proportional hazards assumption)**の意味です。「治療群のハザードは対照群の常に 0.70.7 倍」のように、比が時間を通じて一定だと仮定しています。

共変量 xkx_k を1単位増やしたときのハザード比は

HR=exp(βk)\mathrm{HR}=\exp(\beta_k)

要するに「exp(βk)\exp(\beta_k) が、その共変量を1単位上げたときにハザードが何倍になるか(ハザード比)」。βk>0\beta_k>0(HR>1>1)なら危険を増やす因子、βk<0\beta_k<0(HR<1<1)なら保護的な因子です。βk=0\beta_k=0(HR=1=1)なら効果なし。準1級ではこのハザード比の解釈が中心です。

7.3 部分尤度による β\beta の推定(1級)

問題は「h0(t)h_0(t) が未知関数なのに、どうやって β\beta だけ推定するか」です。Coxの答えが**部分尤度(partial likelihood)**です。

イベントが起きた各時刻 tit_i で「リスク集合 R(ti)R(t_i) にいた個体のうち、なぜ**ちょうどその個体 ii**がイベントを起こしたのか」という条件付き確率を考えます。時刻 tit_i でリスクにある全員のハザードは h0(ti)exp(βTxj)h_0(t_i)\exp(\beta^{\mathsf T}x_j)。その中で個体 ii がイベントを起こす条件付き確率は、ハザードの比

h0(ti)exp(βTxi)jR(ti)h0(ti)exp(βTxj)=exp(βTxi)jR(ti)exp(βTxj)\frac{h_0(t_i)\exp(\beta^{\mathsf T}x_i)}{\sum_{j\in R(t_i)}h_0(t_i)\exp(\beta^{\mathsf T}x_j)} =\frac{\exp(\beta^{\mathsf T}x_i)}{\sum_{j\in R(t_i)}\exp(\beta^{\mathsf T}x_j)}

ここで分子・分母の h0(ti)h_0(t_i) がきれいに約分されて消えます。これが核心です。これを全イベント時刻でかけ合わせたものが部分尤度です。

  L(β)=i:イベントexp(βTxi)jR(ti)exp(βTxj)  \boxed{\;L(\beta)=\prod_{i:\,\text{イベント}}\frac{\exp(\beta^{\mathsf T}x_i)}{\displaystyle\sum_{j\in R(t_i)}\exp(\beta^{\mathsf T}x_j)}\;}

要するに「『リスク集合の中で誰がイベントを起こすか』の条件付き確率の積。ベースライン h0h_0 は比を取る過程で消えるので、β\beta だけの関数になる」。これを最大化(対数部分尤度の偏微分=0)して β^\hat\beta を得ます。最尤法と同じ枠組み(最尤法・モーメント法(推定量の作り方と最尤推定量の漸近論))ですが、尤度の「一部(イベントの順序情報)」しか使わないので部分尤度と呼ばれます。具体的な生存時刻の値そのものは使わず、イベントが起きた順序とそのときのリスク集合だけで β\beta が決まる点が美しいところです。

なぜ h0h_0 を捨てても β\beta が推定できるのか:知りたいのは「共変量が効くか(β\beta)」であって「時間とともにベースラインがどう動くか(h0h_0)」ではありません。比例ハザード構造のおかげで、h0h_0 という邪魔者(局外パラメータ)を約分で消し、興味のある β\beta だけを取り出せるのです。


8. 引っかけ・頻出論点


試験での問われ方(級ごとの差)

生存時間解析は準1級・1級(特に応用「医薬生物学」分野)で扱われますが、毎回必ず出るわけではありません(出題範囲・配点は改訂されうるため要最新確認)。級で問われる深さが明確に違います。

準1級レベル

ここで問われるのは「計算と解釈」。KM推定量を表から手計算できるか、生存とハザードの関係式を使えるか、ハザード比 exp(β)\exp(\beta) を言葉で解釈できるか。

1級レベル

ここで問われるのは「導出と検証」。関係式を導き、部分尤度を構成し、比例ハザード仮定の妥当性まで論じられるか。

応用「医薬生物学」では臨床試験の文脈(無作為化・エンドポイント・ハザード比の報告)と結びつけて問われます。一般化線形モデルとの違い(一般化線形モデル(ロジスティック・ポアソン回帰))、最尤法の枠組み(最尤法・モーメント法(推定量の作り方と最尤推定量の漸近論))が前提です。


よくある疑問(Q&A)

Q1. 打ち切りデータは「分からないデータ」なのに、なぜ捨てずに使えるのですか?

打ち切りは「完全に分からない」のではなく「T>cT>c(少なくとも cc までは生きた)」という不等式の情報を持っているからです。KM法はこれを「リスク集合 nin_icc まで居続けて分母に貢献し、cc で退場する」という形で使います。むしろ捨てる方が危険で、打ち切りは長命な個体に多いため、除外すると短命な個体ばかり残って生存時間を過小評価します。「情報がある以上、捨てない」のが生存時間解析の出発点です。

Q2. ハザードが「率」で確率ではない、というのがピンときません。11 を超えるとは?

ハザード h(t)h(t) は「単位時間あたりのイベント発生の勢い」で、確率を時間で割ったものです(h=limP()/Δth=\lim P(\cdots)/\Delta t)。割り算で時間の逆数の次元を持つので、11/年を超えることも普通にあります。例えば h=2h=2/年なら「このペースが続けば1年で平均2回イベントが起きる強さ」という意味で、確率の 200%200\% ではありません。実際にある瞬間にイベントが起きる確率は h(t)Δth(t)\Delta t(微小)で、これはちゃんと 11 以下です。確率なのは S(t), F(t)S(t),\ F(t)、率なのが h(t)h(t)、と分けて覚えてください。

Q3. Cox回帰は「ベースラインハザード h0(t)h_0(t) を推定しない」のに、どうやって予測するのですか?

β\beta の推定(部分尤度)には h0h_0 は要りませんが、個別の生存確率 S^(tx)\hat S(t\mid x) を予測したいときは h0h_0(または累積ベースライン H0H_0)の推定が別途必要です。これは β^\hat\beta を得たあとに Breslow 推定量などでノンパラメトリックに推定します。つまり「効果 β\beta を知るだけなら h0h_0 不要、生存曲線を描くなら h0h_0 も推定」と段階が分かれています。準1級で問われるハザード比の解釈は前者(β\beta だけ)で完結します。

Q4. ログランク検定とCox回帰は何が違うのですか? どちらを使えばいいですか?

ログランク検定は「2群(やk群)に差があるか/ないか」のYES/NO(仮説検定)で、共変量は群のラベル1つだけです。Cox回帰は「各共変量がハザードを何倍にするか」を連続値も含めて定量化(モデリング)し、複数の共変量を同時に調整できます。実は、共変量が2群の指示変数1つだけのとき、Coxのスコア検定はログランク検定とほぼ一致します。使い分けは「差の有無だけ知りたい→ログランク」「効果の大きさや交絡調整が要る→Cox」です。

Q5. 比例ハザード仮定が成り立たないと、具体的に何が起きるのですか?

ハザード比 exp(β)\exp(\beta) が「時間によらず一定」でなくなるので、Coxが推定する単一の exp(β)\exp(\beta)どの時点の比なのか意味不明になります。典型的な兆候は、2群のKM曲線が途中で交差すること(最初は治療群が有利でも後半で逆転するなど)。このとき「平均的なハザード比」を1つ報告しても誤解を招きます。1級では log(logS^(t))\log(-\log \hat S(t)) を群ごとにプロットして平行かを見る、Schoenfeld残差が時間と無相関かを調べる、といった検証法が問われます。崩れている場合は時間依存共変量を入れる、層別Cox、別モデル(加速故障時間モデル)などで対処します。


まとめ


関連ノート