No.09341 Cox回帰・単変量について  【もり】 2009/02/25(Wed) 13:50

医師です。あまり分かっていないで質問しているかも知れません。
われわれが多変量解析を行って予後予測に有用な因 子を探そうとする際に,ログランク検定で単変量を行い,有意なものを持ってCox回帰で多変量解析を行う,という手順がよく採用されています。従属変数は 生存期間を想定しています。ログランク検定の際には2群に分けて有意差があるかどうか検定する,ということが多いと思います(Cox回帰の際にも結果の解 釈などで扱いやすくなるからだと思いますが)
その際に因子として,ALBやGOTなど,採血データ(連続変数)を選択する場合,どこでカットオフ値を取るか,というのがしばしば話題になります。
た だ,カットオフ値を恣意的に決めるのも問題だし,どうしたものか,と思案していたところ,独立変数が連続変数のままCox回帰で単変量解析ができる,とい う話を聞いたのですが,わかる方いらっしゃいますか?Cox回帰というと,独立変数は何種類もあってもよいけれど,そのおのおのは連続変数ではなくて,カ テゴリー(2値とか3値など)にわかれていないといけないと思っていたのですが。また,独立変数が連続変数であった場合,それで導かれたp値というのはど のような意味合いがあるのでしょうか?

No.09342 Re: Cox回帰・単変量について  【青木繁伸】 2009/02/25(Wed) 13:59

> われわれが多変量解析を行って予後予測に有用な因子を探そうとする際に,ログランク検定で単変量を行い,有意なものを持ってCox回帰で多変量解析を行う,という手順がよく採用されています

そ のようなやり方は,あまりお勧めできません。単変量解析の結果を積み上げても,多変量解析にはなりません。単変量解析で有意であったものを集めても,多変 量解析を行うと無意味なものも出てきますし,逆に単変量解析で捨てられたものが多変量解析では必要な・意味のある変数であることもあります。

> ログランク検定の際には2群に分けて有意差があるかどうか検定する,中略,どこでカットオフ値を取るか

客観的な基準がないかぎり,恣意的になるわけです。

> 独立変数が連続変数のままCox回帰で単変量解析ができる

単変量解析の意味は前述。独立変数が連続変数かカテゴリー変数かについては,後述。

> Cox回帰というと,独立変数は何種類もあってもよいけれど,そのおのおのは連続変数ではなくて,カテゴリー(2値とか3値など)にわかれていないといけないと思っていたのですが

誤解していたのですね。カテゴリー変数の場合には,ダミー変数に展開されてから分析に用いられるのです。

> 独立変数が連続変数であった場合,それで導かれたp値というのはどのような意味合いがあるのでしょうか

重回帰分析などと同じですよ。それに,カテゴリー変数の場合にダミー変数展開されてダミー変数に付与されるP値の意味というのはどういうものだと思っていましたか?(蛇足ですが,2値カテゴリー変数は,1個のダミー変数になるだけなので,連続変数と同じことになります)。

No.09343 Re: Cox回帰・単変量について  【もり】 2009/02/25(Wed) 14:12

青木先生ありがとうございます。
恣意的になってはいけないと,考え,ROCカーブを用いて,X値(統計ソ フトRで作図した場合にXとされている値のこと,カーブが一番左上に来るときのカットオフ値だと思います。)生存期間中央値以上生きる・生きないを予想す る検査データの閾値を調べる,という計算方法で閾値を求めてみようと考えました。
ただ,ROCカーブのAUCがあまりに小さい(対角線とあまり変わらない)場合,Rで無理やり閾値をはじき出してもナンセンスと思い,単変量で有意と思われる変数だけ,ROCカーブで閾値を持てめて多変量に持ち込もうと思っています。

No.09344 Re: Cox回帰・単変量について  【青木繁伸】 2009/02/25(Wed) 14:27

> OCカーブで閾値を求めて多変量に持ち込もうと思っています

少なくとも,連続変数を2値変数にしてしまうのはやめておいた方がよいでしょう。

No.09345 Re: Cox回帰・単変量について  【もり】 2009/02/25(Wed) 14:50

ありがとうございます。
勉強のために教えてください。
>重回帰分析などと同じですよ。
重回帰の時のp値の意味があまり分かっていません。
独立変数=採血データのLDH
従属変数=生存期間
Cox回帰でp<0.0001
とでて,有意水準以下だから有意,とした場合,どういった帰無仮説が棄却される,という認識をすればよいのですか?

No.09346 Re: Cox回帰・単変量について  【青木繁伸】 2009/02/25(Wed) 14:59

ハザード関数の中に出てくる,共変量Xに対する係数をβとすると,共変量Xのハザードは,exp{β(X- mean.X)} となります。βがもし0なら,ハザードはexp(0) = 1 となりますよね。ハザード1ということは,その変数は,結果に何の影響も与えないということです。Cox回帰で各変数に対して計算されるP値は,H0: β= 0 の検定に対するP値です。(Cox 回帰で 0/1 の二値変数に対して計算されるβ,P値を解釈されているのと同じですよ。二値変数だろうと連続変数だろうと同じです。)

No.09347 Re: Cox回帰・単変量について  【surg】 2009/02/25(Wed) 14:59

> 独立変数が連続変数のままCox回帰で単変量解析ができる,という話を聞いたのですが,わかる方いらっしゃいますか?

例えば,以下の文献の27ページに相対ハザードの表があります.
http://www.biomedcentral.com/content/pdf/1471-2369-10-3.pdf

こ の内,年齢とBMIの相対ハザードは連続変数を元に推定してあり,それぞれ数値が1増加するごとにハザードが何倍になるのかを示しています.このよう に,Cox回帰において(ロジスティック回帰でも一緒ですが)連続変数をそのままモデル投入する場合には,説明変数と対数ハザードとが直線関係にあるとい う仮定が必要となります.
一般的には年齢と対数死亡率とはほぼ直線関係にあるため,連続変数のまま扱っている文献が多いように思いますが,他の説明変数に関しては個別に検討が必要です.
直線関係にないものを連続変数で解析したい場合は,スプライン関数をあてはめるモデル(Rで比較的簡単にできます)や折れ線をあてはめるモデル(中村剛著,Cox比例ハザードモデル p.67)等が適切でしょう.

No.09351 Re: Cox回帰・単変量について  【もり】 2009/02/25(Wed) 17:17

青木先生,Surg様,ありがとうございました。Surg様,さらに質問させてください。

>Cox回帰において(ロジスティック回帰でも一緒ですが)連続変数をそのままモデル投入する場合には,説明変数と対数ハザードとが直線関係にあるという仮定が必要となります.

こ れは,具体的にはStatviewやSPSSではどのように解析するのでしょうか?それともRでないと解析できないのでしょうか?Rは素人には扱うのが難 しくて・・・・。Statviewでは生存分析:回帰モデルという項目に,対数累積ハザード曲線というものが選択できますが,それで共変量を選択して作図 しても,縦軸が対数累積ハザード,横軸が対数時間となってしまいます(縦軸が対数ハザード,横軸が共変量みたいなグラフができるイメージだったのです が・・・)SPSSにはログマイナスログというのがありますが,これは比例ハザード性を確認する際に有用な作図なので,これとは違うのですよね?

No.09354 Re: Cox回帰・単変量について  【sb】 2009/02/25(Wed) 20:35

横レスで失礼します。

> 恣意的になってはいけないと,考え,ROCカーブを用いて,

恣意的に決めるのではなく,臨床的経験を基本に,統計を加味しつつ決めるものと考えます。

予 後予測の例を挙げます(ご存知とは思いますが)とEuroSCOREがあります。この中で,連続量としてモデルに入れてあるのは,年齢だけです。クレアチ ニンが2値で入れてあります。腎不全の有無と云う意味でしょう。左室機能は,3群に分類されています。いずれも連続量として,モデルに入れることが出来る のに,そうしていないのは何故か?予後との関係が線形であることを疑っているのだと考えます。実際,臨床的印象からは線形のはずはありせん。

http://www.euroscore.org/calc.html

No.09361 Re: Cox回帰・単変量について  【surg】 2009/02/26(Thu) 08:15

>> Cox回帰において(ロジスティック回帰でも一緒ですが)連続変数をそのままモデル投入する場合には,説明変数と対数ハザードとが直線関係にあるという仮定が必要となります.
> これは,具体的にはStatviewやSPSSではどのように解析するのでしょうか?それともRでないと解析できないのでしょうか?

申 し訳ありませんが,Statview や SPSS で生存分析をしたことがないですし,そういったソフトも手元にないのでわかりません.連続変数をそのままモデルに組み込むのは,R や SAS の場合はダミー変数と同様にモデル式に組み込むだけなので,おそらく同じではないかと思いますが確信はありません.

スプライン関数で平滑化する方法は SAS でもできないようなので,R や S-PLUS を使うしか方法がないかもしれません.折れ線ハザードに関しては前記のテキストに具体的な方法があるので,Statview や SPSS でも可能と思います.

No.09362 Re: Cox回帰・単変量について  【もり】 2009/02/26(Thu) 08:44

Surg様
ありがとうございます。質問が悪くて申し訳ございません。
説明変数と対数ハザードが直線関係にあるかどうかを調べるには,どのようなソフトで確認すればよいか?という質問です。

No.09363 Re: Cox回帰・単変量について  【もり】 2009/02/26(Thu) 08:44

sb様
ありがとうございます。確かに臨床的意味合いがあるカットオフを使うのはひとつの適切な選択と思い ます(腎機能や肝機能であれば正常値・異常値で分けたとしても納得がいきます)。ただ,がんの患者で腫瘍マーカーを因子としてあげる場合,正常・異常の境 界は検診などで有用になるカットオフで,癌患者の中で正常なのはたまたま上がらないタイプの人だった,というだけになるので無意味です。もっと高い数値を カットオフにしないと,実際に予後に差はつかないし,でも重要な数値なので因子として残るかどうかは適切なカットオフで評価したい。ただどのカットオフに したらよいかはわからない,といった状況が結構起こり得ます。

No.09365 Re: Cox回帰・単変量について  【surg】 2009/02/26(Thu) 09:38

> 説明変数と対数ハザードが直線関係にあるかどうかを調べるには,どのようなソフトで確認すればよいか?という質問です。

大きく分けて,2つの考え方があると思います.
1つは上で sb さんも書いていますが,一般的な医学的知見と照らし合わせてみることです.たいていの場合は,これで十分ではないでしょうか.
2 つ目は手元にあるデータから推定する方法です.一般的な方法はいくつかの領域にカテゴリー化して対数ハザード比を推定し,対数線形性が保たれているかどう かチェックすることですが,十分なサンプルサイズがないと困難ですし,またカテゴリー化の区切り方により異なる結果が得られることもあり,結構面倒です.
その解決方法として,中村剛は上記の文献で折れ線ハザードモデルを提唱しているのです.
私の場合は,まずスプライン関数で平滑化したモデルを当てはめて,対数線形性が保たれているかどうかをグラフから判断するようにしています.
Crawley が著書「統計学:Rを用いた入門書」の中で,重回帰する際にまず平滑化関数を使ったモデルでチェックすることを勧めていますが,同じ考え方です.

No.09369 Re: Cox回帰・単変量について  【sb】 2009/02/26(Thu) 15:13

スクリーニングか,生命予後予測か,目的によってカットオフ値が異なると云うことには,賛同します。

モ デル(説明変数の組み合わせ)を見ないと何とも言えない面があるのですが,例えば,癌の組織形,浸潤度,リンパ節転移の有無等,これらの因子で調整しても なお,腫瘍マーカーは,有意(有意ではないにしても,小さめのp値)でしょうか。腫瘍マーカーにそれほどの情報があるとは,考えにくいと思いますが。

No.09370 Re: Cox回帰・単変量について  【もり】 2009/02/26(Thu) 16:30

皆様ありがとうございました。またいろいろと勉強してみます。

● 「統計学関連なんでもあり」の過去ログ--- 042 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る