---
title: 生存分析
description: Kaplan-Meier 推定量による生存曲線の推定と RMST による群間比較、Cox 比例ハザードモデルによる共変量の効果推定の方法を説明します。
priority: 0.7
---

# 生存分析 {#survival-analysis}

MIDAS は2つの生存分析手法に対応しています。

- **Kaplan-Meier**: 生存曲線の推定と群間比較（RMST）。群ごとの生存時間の違いを視覚的に確認し、RMST で定量的に比較します
- **Cox 回帰**: 共変量が[ハザード](concepts-survival#survival-function-and-hazard-function)に与える効果の推定。複数の変数が生存時間に与える影響を同時に評価します

数理的な背景は[生存分析の基礎](concepts-survival)を参照してください。

## データの準備 {#data-requirements}

生存分析には2つの変数が必要です。

- **時間変数**: イベント発生までの時間（数値型）
- **イベント変数**: イベントが発生したかどうかを示す変数。以下の形式に対応しています:
  - int64 型: 1 = イベント発生、0 = 打ち切り
  - boolean 型: true = イベント発生、false = 打ち切り

float64 型の列はイベント変数として選択できません。0/1 を小数として保持している列は、[列の型変換](column-type-conversion) で int64 に変換してください。

打ち切りの扱いについては[生存分析の基礎](concepts-survival#time-to-event-data-and-censoring)を参照してください。MIDAS が対応する打ち切りは右打ち切りのみです。左打ち切り・区間打ち切り・競合リスクには対応していません。

## Kaplan-Meier {#kaplan-meier}

Kaplan-Meier 法はノンパラメトリックな生存関数の推定法です（[定式化](concepts-survival#kaplan-meier-estimator)）。

### 基本的な使い方 {#basic-usage}

1. メニューバーから **Analysis > Survival Analysis > Kaplan-Meier...** を選択
2. **Time Variable** で時間変数を選択
3. **Event Variable** でイベント変数を選択
4. 群間比較をする場合は **Group Variable** でカテゴリ変数を選択
5. **Run Analysis** をクリック

![Kaplan-Meier フォーム設定](../shared/images/survival-analysis-km-form.webp)

### 結果の見方 {#understanding-results}

![群間比較の結果（生存曲線、Summary Statistics、Number at Risk、RMST）](../shared/images/tutorial-kaplan-meier-anaemia.webp)

#### 生存曲線 {#survival-curve}

横軸に時間、縦軸に生存確率 $S(t)$ をプロットします。ステップ関数で表示され、イベント発生時点で確率が低下します。打ち切りが発生した時点には曲線上に + マークを表示します。ステップが下がらない区間に + マークがあれば、その期間に打ち切りで対象者が減ったことを示します。各時点の信頼区間を連ねた信頼帯（デフォルト95%、pointwise）も表示されます。pointwise 信頼帯は各時点で個別に構成した区間であり、曲線全体の同時被覆を保証するものではありません。信頼区間は log 変換法で計算されます（[詳細](concepts-survival#kaplan-meier-estimator)）。

信頼水準は **Confidence Level** 入力欄で変更できます。

#### Summary Statistics {#summary-statistics}

| 列 | 説明 |
|----|------|
| Group | 群名（Group Variable 指定時） |
| n | 観測数 |
| Events | イベント発生数 |
| Median | 生存時間の中央値。$S(t) \leq 0.5$ となる最初の時間です。観測期間内に到達しない場合は NR (Not Reached) と表示されます |
| *nn*% CI | 中央値の信頼区間。生存関数の各時点信頼区間を反転して求めます。信頼区間の境界が $0.5$ に達しない場合は NR と表示されます |

#### Number at Risk {#number-at-risk}

各時間点でリスク集合（その時点でまだイベントを経験しておらず、打ち切られてもいない対象者の数）を表示します。

#### RMST（制限平均生存時間） {#rmst}

Kaplan-Meier 曲線の 0 から制約時点 $\tau$ までの面積として算出される平均生存時間の推定値です（[定式化](concepts-survival#rmst)）。群ごとの RMST とその SE・信頼区間が表示されます。

| 列 | 説明 |
|----|------|
| Group | 群名 |
| RMST | 制限平均生存時間の推定値 |
| SE | 標準誤差（Greenwood 分散に基づく） |
| *nn*% CI | RMST の信頼区間（Wald 型） |

##### 制約時点 $\tau$ {#restriction-time}

RMST は $\tau$ までの KM 曲線の面積なので、$\tau$ の選択が結果に影響します。デフォルトでは、全群で共通に観察されている範囲の上限（各群の最大観察時間のうち最も短い値）を使います。**RMST Restriction Time** 入力欄で変更できます。$\tau$ が最後のイベント発生時点を超える区間では、KM 曲線の最後の値が一定と仮定されて積分されます（最大観察時間以内であっても、最後のイベント以降に打ち切りのみが続く場合は同様です）。この区間が長いほど、RMST の不確実性を過小評価する可能性があります。

##### 群間差 {#rmst-difference}

Group Variable を指定し群が2つ以上ある場合、全ペアの RMST 差とその信頼区間が表示されます。3群以上の場合、各ペアの信頼区間は多重性の調整を行っていません（Unadjusted）。

### 注意事項 {#notes}

- 時間変数またはイベント変数に欠損値を含む行は自動的に除外されます（リストワイズ除去; 妥当な推定の条件は [欠損データのメカニズム](concepts-missing-data#listwise-deletion-and-mcar) を参照）。除外が発生した場合は、除外された行数が結果に "N rows excluded due to missing values." と表示されます

### レポートへの追加 {#adding-to-reports}

**Add to Report** ボタンで生存曲線をレポートに追加できます。

## Cox 回帰 {#cox-regression}

Cox 比例ハザードモデルは、共変量がハザードに与える効果を推定するセミパラメトリックモデルです（[定式化と理論](concepts-survival#cox-proportional-hazards-model)）。

### 基本的な使い方 {#basic-usage-1}

1. メニューバーから **Analysis > Survival Analysis > Cox Regression...** を選択
2. **Time Variable** で時間変数を選択
3. **Event Variable** でイベント変数を選択
4. **Covariates** で共変量を1つ以上選択（間隔・比率尺度の数値型または boolean 型）
5. **Run Analysis** をクリック

尺度が nominal または ordinal に設定された列と date/datetime 型の列は一覧でグレーアウト表示され、選択できません。3値以上のカテゴリ変数を共変量として使うには、事前に [Dummy Coding](dummy-coding) で数値変換してください（boolean 型はそのまま選択できます）。

![Cox 回帰フォーム設定](../shared/images/survival-analysis-cox-form.webp)

### 結果の見方 {#understanding-results-1}

#### Cox Proportional Hazards Regression {#coefficients}

![Cox Proportional Hazards Regression セクション](../shared/images/survival-analysis-cox-results.webp)

上段の係数テーブルには共変量ごとに以下の列が表示されます。

| 列 | 説明 |
|----|------|
| Variable | 変数名 |
| Coef | 回帰係数 $\beta$ |
| SE | 標準誤差 |
| HR | ハザード比 $\exp(\beta)$ |
| CI | ハザード比の信頼区間。列ヘッダは選択した信頼水準に応じて変わります（例: "95% CI"） |

ハザード比が1より大きい場合、その共変量が増えるとハザードが上昇します。1より小さい場合はハザードが低下します。詳しい解釈は[生存分析の基礎](concepts-survival#interpreting-hazard-ratios)を参照してください。

下段にはモデルの適合度指標が報告されます。

| 指標 | 説明 |
|------|------|
| Concordance Index | Harrell's C 統計量。比較可能なペアのうち、リスクスコアの順序がイベント順序と一致する割合です。0.5 が無情報、1.0 が完全な判別を意味します。括弧内は影響関数に基づく標準誤差です |
| AIC | 赤池情報量規準（$-2 \ell + 2p$）。$\ell$ は部分対数尤度、$p$ は係数の数です。モデル比較に使います |
| Log Partial Likelihood | 部分対数尤度 $\ell(\hat\beta)$。AIC の基礎となる値です |

#### Adjusted Survival Curve {#adjusted-survival-curve}

![調整生存曲線とベースライン累積ハザードテーブル](../shared/images/survival-analysis-cox-baseline.webp)

調整生存曲線は、指定した共変量値 $X$ に対する予測生存確率 $S(t|X)$ を表示します。ベースライン累積ハザードと推定係数から計算されます（[定式化](concepts-survival#cox-proportional-hazards-model)）。

各共変量に入力欄があり、初期値は標本平均です。値を変更すると、その共変量プロファイルに対する予測生存曲線が即座に更新されます。**Reset to Means** で初期値に戻せます。

#### Baseline Cumulative Hazard {#baseline-cumulative-hazard}

調整生存曲線の下に、ベースライン累積ハザードのテーブルが各イベント時点の値を表示します。

| 列 | 説明 |
|----|------|
| Time | イベント発生時間 |
| At Risk | リスク集合の人数 |
| Events | イベント発生数 |
| H₀(t) | 累積ベースラインハザード |
| S₀(t) | ベースライン生存関数 $\exp(-H_0(t))$ |

ベースラインは全共変量がゼロの状態に対応します。変数のスケールによってはゼロが非現実的な場合があるため、その場合は調整生存曲線で標本平均などの現実的な共変量値を指定して $S(t|X)$ を確認するのが実用的です。

#### 比例ハザード仮定の診断 {#ph-diagnostics}

![比例ハザード仮定の診断（相関テーブル、Schoenfeld 残差プロット、Log-Log プロット）](../shared/images/survival-analysis-cox-diagnostics.webp)

係数テーブルと適合度指標の下に、比例ハザード仮定の診断結果が表示されます。Cox モデルは共変量の効果が時間によらず一定であること、すなわち比例ハザード仮定を前提としています（[詳細](concepts-survival#proportional-hazards-assumption)）。この仮定が崩れると、$\beta$ は時間を通じた加重平均としてしか解釈できなくなります。

##### Proportional Hazards Diagnostics {#grambsch-therneau-test}

[スケーリング済み Schoenfeld 残差](concepts-survival#schoenfeld-residuals)と時間の相関を共変量ごとに表示します（[Grambsch & Therneau, 1994](#ref-grambsch-1994)）。時間変換として KM 変換 $g(t) = 1 - \hat{S}(t^-)$ を使用します。

| 列 | 説明 |
|----|------|
| Variable | 変数名 |
| rho | スケーリング済み Schoenfeld 残差と Kaplan-Meier 推定に基づく時間変換値の Pearson 相関係数。0 に近いほど仮定と整合的です |

rho の絶対値が大きい共変量は、効果が時間とともに変化している可能性があります。rho だけでは逸脱の程度やパターンは分からないため、下の Schoenfeld 残差プロットと合わせて判断してください。MIDAS は rho とプロットによる視覚的な判断を採用しており、検定統計量や p 値は表示しません。

##### Scaled Schoenfeld Residuals {#scaled-schoenfeld-residuals}

共変量ごとに、スケーリング済み Schoenfeld 残差を時間に対してプロットします。赤い曲線は LOESS による局所回帰線、灰色の破線は推定された係数 $\hat\beta$ です。比例ハザード仮定が成り立つ場合、残差は $\hat\beta$ の周りにランダムに散らばり、LOESS 線は水平に近くなります。LOESS 線が右上がりや右下がりの傾向を示す場合、その共変量の効果が時間とともに変化していることを示します。

##### Log-Log Survival Plot {#log-log-survival-plot}

群別の Kaplan-Meier 推定値を $\log(-\log(\hat{S}(t)))$ 対 $\log(t)$ にプロットします。**Grouping Variable** ドロップダウンでグルーピングに使う共変量を選択してください。選択した共変量の異なる値が5個以下の場合は値ごとに群を作ります。6個以上の場合は中央値で2群に分割します。中央値による分割は便宜的なもので、連続変数の情報を一部失うほか、元の連続変数としての非比例性を見逃す（または逆に強調する）ことがあります。連続変数の比例ハザード仮定の診断には、上の Schoenfeld 残差プロットの方が適しています。比例ハザード仮定の下では曲線は近似的に平行になります。曲線が交差する、または時間の経過とともに曲線間の距離が広がったり縮まったりする場合は仮定の違反を示唆します。

上記の診断から比例ハザード仮定の違反が疑われる場合、層別 Cox モデルや時間依存共変量モデルで対処できますが、MIDAS は現在これらに対応していません。違反の程度と分析目的を踏まえて結果の解釈に注意してください。単一のカテゴリ変数による群間比較が目的であれば、比例ハザード仮定を前提としない [Kaplan-Meier](#kaplan-meier) と [RMST](#rmst) による比較が代替になります。ただし共変量の調整はできません。

### 注意事項 {#notes-1}

- 同着イベント（同じ時間に複数のイベント）の処理には Efron 法を使用します（[詳細](concepts-survival#partial-likelihood)）
- 収束しなかった場合、結果（Convergence: No）として表示されます。係数推定値が不安定な可能性があるため、共変量の数を減らす・共変量のスケールを揃えるなどの対応を検討してください
- 時間変数、イベント変数、共変量のいずれかに欠損値を含む行は自動的に除外されます（リストワイズ除去; 妥当な推定の条件は [欠損データのメカニズム](concepts-missing-data#listwise-deletion-and-mcar) を参照）。除外が発生した場合は、除外された行数が結果に "N rows excluded due to missing values." と表示されます

## See also {#see-also}

- **[生存分析の基礎](concepts-survival)** - 生存時間データ、Kaplan-Meier、Cox モデルの数理的背景
- **[チュートリアル: Kaplan-Meier 分析](tutorial-kaplan-meier)** - サンプルデータを使った実践例

## 参考文献 {#references}

- <span id="ref-grambsch-1994">Grambsch, P. M. and Therneau, T. M. (1994). Proportional hazards tests and diagnostics based on weighted residuals. *Biometrika*, 81(3), 515--526. https://www.jstor.org/stable/2337123</span>
