競合リスク解析
解説
このページでは、競合リスク存在下での生存時間解析を行う機能を提供します。
競合リスク解析は、関心のあるイベント (主イベント) の発生が、他のイベント (競合イベント) によって妨げられる状況に適した手法です。例えば、疾患特異的死亡 (主イベント) を解析する際に、他病死 (競合イベント) が存在する場合などに使用します。
競合リスクとは
通常のKaplan-Meier法やCox回帰では、競合イベント (例: 再発を解析する際の死亡) を打ち切りとして扱いますが、これは主イベントの発生確率を過大評価する傾向があります。競合リスク解析では、競合イベントを適切に考慮した累積発生率 (Cumulative Incidence Function: CIF)を推定します。
- 主イベント: 関心のあるイベント (例: 疾患特異的死亡、再発)
- 競合イベント: 主イベントの発生を妨げるイベント (例: 他病死、移植)
- 打ち切り: 観察終了時にいずれのイベントも発生していない状態
提供する解析機能
- 累積発生率 (CIF) の推定: 競合リスクを考慮した累積発生率を推定し、曲線を描画します。
- Gray検定: 群間で累積発生率に統計的有意差があるかを検定します (Logrank検定の競合リスク版)。
- Fine-Gray回帰: 競合リスク存在下での多変量解析を行い、Subdistribution Hazard Ratio (SHR) を算出します。
設定と機能
- 観察期間: 観察開始から、イベント発生または打ち切りまでの期間です。
- 日数を年に変換するなどの機能がありますので、事前の変換処理は不要です。
- 日付や時刻のデータを観察期間として使用する場合は、「データ処理」メニューの「日付・時刻計算」機能にて事前に変換処理を行ってください。
- イベント変数: 各症例の転帰を示すカテゴリ変数を指定します。
- 主イベント: 関心のあるイベントの値を指定します。
- 競合イベント: 主イベントの発生を妨げるイベントの値を指定します (最大2種類まで)。
- 打ち切り: 観察終了時にイベント未発生の値を指定します。「その他すべて」も選択可能です。
- 群分類: Gray検定による群間比較を行う場合に指定します (オプション)。
- 例: 治療群 vs 対照群、男性 vs 女性 など
- Fine-Gray回帰の説明変数: 多変量解析を行う場合に指定します (オプション)。
- 連続変数とカテゴリ変数は明示的に分けて設定します。
- カテゴリ変数は自動的にダミー変数化され、最初の水準が参照カテゴリとなります。
- 表示設定: 累積発生率のY軸を % 表示 (0〜100) または小数表示 (0.0〜1.0) から選択できます。
Fine-Gray回帰について
Fine-Gray回帰は、競合リスク存在下での多変量解析手法です。通常のCox回帰とは異なり、Subdistribution Hazard Ratio (SHR) を算出します。
- SHR > 1: その因子は主イベントの発生を増加させる
- SHR < 1: その因子は主イベントの発生を減少させる
Cox回帰の HR と Fine-Gray回帰の SHR の違い
SHRは通常のCox回帰のHazard Ratio (HR) とは解釈が異なります。
- Cox回帰 (HR): 分母は「何も起きていない人」のみ → 肝移植は打ち切り扱いで除外
- Fine-Gray回帰 (SHR): 分母は「死亡していない人すべて」 → 肝移植を受けた人も含む
この違いにより、Fine-Gray回帰は現実世界での累積発生率を推定できます。患者さんへの予後説明には、Fine-Gray回帰の結果がより適切です。
モデル適合性の確認
Fine-Gray回帰を実行する際、EPV (Events Per Variable) が自動的に計算されます。
- EPV ≧ 10: 十分なサンプルサイズ (推奨)
- EPV 5〜10: 推定結果が不安定な可能性あり
- EPV < 5: 推定結果は信頼できない (説明変数の削減を推奨)
アプリ
| 分類内容 | 値 | |
| {{ item.tag }} |
データの取り扱い
- データインポート
- データの読み込みは、ブラウザ内で完結し、外部へのデータ送信は発生しません。
- データ保持
- 読み込んだデータはブラウザ内に保持されます。
- ブラウザのセッションが終了または全てのタブが閉じられると、保持していたデータは自動的に破棄されます。
- データの安全性
- ブラウザがクラッシュした場合でも、10分経過すれば次回の起動時にデータは安全に消去されます。
- 共用のPCでの使用も考慮し、データの外部漏洩のリスクを最小化しています。
クラウド R を利用する時のデータ送信
- 最小限のデータ送信
- 外部のRサーバーへ送信されるデータは、数値計算に必要な最小限のセットに制限されています。
- 送信データは解析に必要なサブセットのみに限られます。
- ユーザーコントロール下のデータ送信
- 送信前に、どのデータが外部サーバーへ送信されるのか内容を確認することが可能です。
- データの送信はユーザーの操作により行われ、自動的な送信は行いません。
- クラウド R 出力結果の保持
- クラウド R からの出力結果は、将来の自動翻訳や自動解説の機能実現のため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
- 通信経路も全て暗号化していますので、たとえプライバシーに関わる情報が含まれていたとしても、通常は漏洩する恐れはありません。
AI による解説を利用する時のデータ送信
- 最小限のデータ送信
- 外部のAIサーバーへ送信されるデータは、クラウド R の出力結果と、用いた統計手法の徐放です。
- ただし、クラウド R の出力結果に連続した数値データが含まれる場合は、AI にデータ形式を認識させる目的で、連続データの最初の行のみを送信します。
- クラウド R 出力結果の保持
- AI による解説内容は、将来の品質向上などのため、サーバーがデータベースに保持します。
- その際に、送信者の情報や、計算元となるデータなど、プライバシーに関わる情報は保持しません。
Reactive stat において、統計データの変数は、通常の数値や文字列として扱われます。 したがって、日付や時間の概念は直接的にはサポートされていません。
統計計算を行う際には、日付や時間の差分を数値として事前に用意しておく必要があります。
チェックされた行が削除対象となります
削除対象の行
データ入力
AI による R コードの解説
R の出力結果
R出力図形
AI による R 出力結果の解説
- データ: カラム名 (列名) をそのまま記述するか、"列名" のようにダブルクォートで挟んで指定
- 算術演算子: +, -, *, /, ()
- 基本関数: abs(), sqrt(), pow(), exp(), log(), log10()
- 三角関数: sin(), cos(), tan(), asin(), acos(), atan()
- 丸め関数: round(), floor(), ceil()
体重 / pow(身長, 2), "体重" / ("身長" * "身長")
{{ column }}