EZRでCox比例ハザード回帰分析を行う方法

シロート統計学講座

シロート統計学講座 其の28

前回は生存期間の説明と、EZRでLogrank検定を行う方法を紹介しました。

EZRで生存期間の比較(Logrank検定)を行う方法
シロート統計学講座「其の27」

 

今回は、生存期間に対する多変量解析であるCox比例ハザード回帰分析を行います。考え方は重回帰・ロジスティック回帰と同様で、生存期間に影響を与える因子を調べたり、背景因子のずれを調整したりできます。

スポンサーリンク

デモデータ

今回のデモデータは、前回のデータに「年齢」「性別」を加えた仮想データです。

 

前回のデモデータでは「フレイルの人は、フレイルでない人と比べて再入院が増加するか」を調べました。そして、下のような生存曲線となり、フレイルの人(赤線)の方が再入院が増加することが分かりました。

 

しかし、これは「フレイルか、フレイルでないか」のみで比較しているため、その他の要因(年齢・性別などの背景因子)が無視されています。

 

もちろん年齢・性別以外の交絡因子も沢山ありますが、デモデータなので簡素化しています。そこはご容赦ください。

 

フレイルの人と、フレイルでない人の背景因子は↓のようになっています。

 

男女比は2群でほぼ同じでしたが、年齢はフレイルでない人の方が有意に低くなっています。これでは、再入院はフレイルによるものではなく、単に年齢が影響している可能性が出てきます。

 

そこでCox比例ハザード回帰分析を行うことで、2群間での年齢のズレを調整することが可能です。それでは、実際にEZRを操作してみましょう。

データの取り込み

まずはExcelデータをEZRに取り込みます。

デモデータを開いて、データを囲ってコピーします(CtrlCでも可)。

 

EZRの画面で「ファイル」→「データのインポート」→「ファイルまたはクリップボード, URLからテキストデータを読み込む

 

データセット名は「frailty」にして「クリップボード」と「タブ」にチェックを入れてOKを押します(データセット名は何でもよいです)。

 

データセットが「frailty」になっていることを確認し、「表示」を押してデータが正しく表示されれば取り込み完了です。

Cox比例ハザード回帰分析を行う

数値を因子に変換する

今回のデモデータでは

0=non frailty、1=frailty
0=male、1=female

と名義変数を数値で表しています。

 

二値変数の場合、数値のままでも同じ結果になるのですが、一応数値を因子に変換しておきます。

 

アクティブデータセット」→「変数の操作」→「連続変数を因子に変換する

 

まず「frailty」を因子に変換します。変数は「frailty」を選択し、因子水準は「数値で」にチェックを入れます。そしてOKをクリック。

 

これでfrailtyが因子に変換されました。「sex」も同様の方法で因子に変換してください。

 

きちんと因子に変換できているかもチェックしておきましょう。「アクティブデータセット」→「変数の操作」→「データセット内の変数を一覧する

 

「sex」と「frailty」がFactorになっていれば因子に変換されています。ちなみにInt整数(数値)のことですね。

Cox比例ハザード回帰分析の実施

では、Cox比例ハザード回帰分析に移ります。

 

統計解析」→「生存期間の解析」→「生存期間に対する多変量解析(Cox比例ハザード回帰)

 

時間は「months」、イベントは「rehospitalization」、説明変数は「age」「sex」「frailty」を選択します(ダブルクリックすることで選択できます)。そして下の方にある「比例ハザード性の分析を行う」にチェックを入れておきます。

 

そしてOKを押すとCox比例ハザード回帰分析が実行されます。

Cox比例ハザード回帰の結果解釈

Cox比例ハザード回帰分析が実行されると、出力ウインドウに沢山の結果が表示されます。

 

まずはモデル全体の有用性を確認します。

 

Cox比例ハザード回帰の場合

・Likelihood ratio test

・Wald test

・Score(logrank)test

のという3つの検定の結果が表示されます。

 

いずれもP<0.05の場合、このモデル式は予測能があるということになります。今回はいずれもP<0.05となっているので、はまりは良さそうです。

 

・・しかしこの3つの検定の意味(というか使い分け)は私もよくわかっていません。Likelihood ratio testは尤度比検定と、Wald testはz検定と、Score testはLogrank検定と同様の検定、とのことですが、今後また勉強していきます(分かる方いれば教えてください

 

次にCox比例ハザード回帰のメインの結果となる所をみていきましょう。

 

左から「ハザード比」「95%信頼区間下限・上限」「P値」が表示されていますね。まずは「ハザード比」についてです。

 

ハザード比は簡単に言うと「イベントの発生と、発生するスピードを合わせた相対的な危険度」を表します。

 

リスク比やオッズ比はイベントの発生率を表す指標ですが、ハザード比はそれに加えて「発生するスピード」つまり時間の経過が加味されている、と理解すると良いと思います。

 

そしてハザード比の解釈は次のようになります。

1より大きい:リスクを上げる
1     :リスクは同等
1より小さい:リスクを下げる

 

今回で言うと「age」のハザード比は0.99なので、年齢が1才上がると再入院のリスクは0.99倍になる、ということになります。

 

「frailty」も見てみましょう。[T.1]は「0と比べて1では」を表します。

 

0=フレイルではない、1=フレイル、ですので「フレイルではない時と比べてフレイルの時では」ハザード比は3.69となります。つまりフレイルであることは再入院のリスクを3.69倍に高める、と解釈できます。

 

そして、各独立変数が有意な影響を与えるかどうかはP値を確認します。

 

P<0.05の場合に有意な影響があるといえます。今回、フレイルは有意な影響があり、年齢と性別は有意な影響はない、という結果でした。つまり「年齢・性別で補正してもフレイルは再入院に影響する独立した関連因子である」と結論できますね。

比例ハザード性の確認

最後に比例ハザード性の確認もしておきましょう。

 

比例ハザード性とは

 

各群の時間あたりの死亡発生リスク(ハザード)が時間とともに変化したとしても、常にA群の死亡リスクはB群の死亡リスクの2倍で一定であるというような場合は、比例ハザード性が維持されているといえます。

引用:フリー統計ソフトEZRで誰でも簡単統計解析(P166)

 

比例ハザード性が保たれる場合、2つの生存曲線は交わることがありません。一方、比例ハザード性が保たれない場合、2つの生存曲線はどこかでクロスします。

 

Cox比例ハザード回帰の場合、比例ハザード性が保たれていることが解析の前提となります。この比例ハザード性を確認するためには、結果の最後に表示される > print… と書いた部分を見ます。

 

これは各変数の比例ハザード性の検定結果であり、P<0.05の場合に比例ハザード性が否定されます。今回はいずれもP≧0.05なので比例ハザード性は否定されませんでした。

 

もし比例ハザード性が否定された場合は、比例ハザード性が保たれている時期ごとに区切って解析する、などの対策が必要となるようです。

まとめ

以上、EZRでCox比例ハザード回帰分析を行う方法を紹介しました。

 

自分の研究でこの分析を行った際、比例ハザード性が保たれておらず慌てた経験があります。

 

あとで詳しい人に聞いたところ、比例ハザード性が保たれている所までで区切って解析をかけたら良いよ、とのことでした。でも、なぜ比例ハザード性が保たれていないのか、十分に考察する必要はあると思いますが。

 

生存期間の解析をする場合は、ほとんどの場合Logrank検定とCox比例ハザード回帰はセットで行われるのではないかと思います。生存期間を扱う研究を考えている方は、Cox比例ハザード回帰でどの因子を調整するかまで考えて研究計画を練ると良いですね。

 

では、次回はいよいよ最終回です!

要望も多かった傾向スコアによるマッチングを紹介します。

今回もシロート統計学講座を読んで下さり、ありがとうございました。

▼其の29に続く▼

EZRで傾向スコアマッチングを行う方法
シロート統計学講座「其の29」

>>>シロート統計学講座のTOPへ戻る

コメント