統計ER

R, EZR, SPSS, KH Coder を使ったデータ分析方法を紹介するブログ。ニッチな内容が多め

EZR で時間依存型 ROC 曲線 を比較する方法

EZR では、時間依存型 ROC 曲線の曲線下面積を求めることができる

では、2 つの時間依存型 ROC 曲線の曲線下面積を比較することはできるだろうか?

>>もう統計で悩むのを終わりにしませんか?


↑1万人以上の医療従事者が購読中

時間依存型 ROC 曲線とは

時間依存型 ROC 曲線とは、生存時間イベントデータを予測する連続データのカットオフを求めたり予測性能を示す曲線である

EZR では、統計解析 → 検査の正確度の評価 → 生存期間に対する ROC 曲線解析 で実行できる

以下のように、変数を設定して、解析する

生存率を評価するポイントが必要になる(例では、365 日としている)

結果として、以下のような出力とグラフが得られる

2 つの検査値などの連続データがあって、どちらが優れているか比較したい場合は、どのようにすればよいか?

2 つの時間依存型 ROC 曲線を比較するための準備

EZR のメニューからは、できないが、timeROC パッケージをインストールして、timeROC と compare という関数を使うと比較できる

まずは、timeROC パッケージをインストールする

R スクリプト枠に以下を書いて、実行ボタンをクリックする

install.packages("timeROC")

すると、以下のような細長いウィンドが出てくるので、Japan (Yonezawa) を選択して、OK をクリックするとインストールが完了する

このインストールは今回だけ 1 回だけでよい

次に、timeROC パッケージを呼び出すために、以下の一行を実行する

library(timeROC)

これで準備が整った

>>もう統計で悩むのを終わりにしませんか?


↑1万人以上の医療従事者が購読中

2 つの時間依存型 ROC 曲線を比較する方法

まず、データを用意する

使用する連続データや生存時間データに欠損があると計算できないため、欠損がある症例を削除する

アクティブデータセット → 欠損値の操作 → 欠損値をひとつでも含む行を削除する を使うと削除できる

次に、時間依存型 ROC 曲線を計算する

データセットの名前が Dataset だとする

このとき、以下のように R スクリプト枠に書いて、実行する

T が時間、delta がイベント変数、marker が予測変数、cause がイベント変数のカテゴリのうちどの数値がイベントを表しているか、times は ROC 曲線を書く時点、iid は 2 つの ROC 曲線を比較する場合は TRUE にする

timeROC1 <- timeROC(T = Dataset$time, delta = Dataset$status01, marker = Dataset$wt.loss, cause = 1, times = 365, iid=TRUE)
plot(timeROC1, time=365)

この 2 行を実行すると、以下のような図が描ける

先ほどの図と同じになる(計算式が違うのか若干違うように見える)

2 つ目の ROC 曲線も同様なスクリプトを書いて実行する

timeROC2 <- timeROC(T = Dataset$time, delta = Dataset$status01, marker = Dataset$meal.cal, cause = 1, times = 365, iid=TRUE)
plot(timeROC2, time=365)

グラフ以外の結果は、以下のように、結果を格納したオブジェクト名 timeROC1, timeROC2 をそれぞれ実行すると表示される

timeROC1
timeROC2

timeROC1 は、AUC が、50.96 % であることがわかる

timeROC2 は、AUC が、47.48 % であることがわかる

比較するには、以下のように compare 関数を使う

compare(timeROC1, timeROC2)

結果は、p 値は統計学的有意ではなく(p = 0.672)、timeROC1 と timeROC2 が異なるとは言えなかった

confint を使うと、95 % 信頼区間も計算できる

confint(timeROC1)
confint(timeROC2)

CI_AUC が、通常の 95 % 信頼区間

CB_AUC は、ブートストラップ法で求めた信頼区間

C.alpha は、ヘルプ(下記)によると、「(ブートストラップ)シミュレーションによって推定された、同時信頼区間幅計算のために必要な値」とのこと(理解するには、timeROC の論文を読む必要があるのかもしれない)

C.alpha : a numeric value corresponding to the quantile required for simultaneous confidence band computation (estimated by simulations).

まとめ

生存時間データを検査値などの連続データで予測する時間依存型 ROC 曲線分析結果を比較したい場合、どのようにするか紹介した

timeROC パッケージを追加でインストールすることで、EZR で解析可能である

参考になれば

参考サイト

時間依存性ROC曲線法 - データサイエンティスト上がりのDX参謀・起業家

参考文献

時間依存型 ROC 曲線とその応用

timeROC の引用文献

Estimating and comparing time-dependent areas under receiver operating characteristic curves for censored event times with competing risks