MENU

R で ROC 曲線を書く方法

ROC 曲線を R で書く方法をわかりやすく解説

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

↑期間・数量限定で無料プレゼント中!

目次

ROC 曲線とは?

ROC曲線は、病気の診断のための検査を分析するために使われる。

真実の分類と、真実の分類を見分ける検査結果を使って、どのレベルより上だと病気とするか?を決める分析ツール。

胃がんや大腸がんを見つけるには、内視鏡をしないと見つけられないが、簡単な血液検査で見つけたいとする。

血液検査の値がいくつのときに、がんとがんではないかを一番クリアに分けることができるか?

こういう問題に答えられる。

ROC 曲線を R で書いてみるためのサンプルデータ

データは、KTSND という検査の点数(連続データとして扱う)と、SMK が正解の分類(二値のカテゴリカルデータ)。

KTSND のカットオフ値としていくつがもっとも SMK を予測するかという分析になる。

> str(dat)
'data.frame':   484 obs. of  2 variables:
$ KTSND: int  15 13 16 4 18 29 15 15 11 6 ...
$ SMK  : int  1 1 1 1 1 1 1 1 1 0 ...

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

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

ROC 曲線を R で書くためのパッケージのインストール

Epi というパッケージをインストールする。

install.packages("Epi")

そのあと呼び出して使えるようにする。

library(Epi)

ROC 曲線を R で書いてみる

データをdatという名前で読み込む。

dat <- read.table("ROC-curve-sample-data.txt")

plot=”ROC”でROC曲線分析を指定。

ROC(test=dat$KTSND, stat=dat$SMK, plot="ROC")

test= で検査値、stat= で正解の分類を指定する。

そうすると、以下のグラフ(黒い太めの実線)が描ける。

ガタガタしていてあまりなめらかでないが、一応曲線に見えなくもない。

これが ROC 曲線である。

KTSNDが11点のときが、一番うまくわけている分岐点であると、示している。

このカットオフ値としたときの以下の 4 つの指標が表示されている。

  • Sens (感度)71.8%
  • Spec(特異度)74.5%
  • PV+(陽性反応的中率)27.3%
  • PV-(陰性反応的中率)26.4%

AUCは0.798で、この検査自体性能がいい証拠だ。

AUCがなるべく1に近いほうがいい。

正方形の面積が1だ。

右下をかなめとみて、扇形がAUCで今回は約0.8だ。

ROC 曲線以外にも感度・特異度・的中率のグラフも書ける

先ほど plot=”ROC” と指定したところを plot=”sp” とする。

plot=”sp”は感度、特異度、的中率を表示する指定。

ROC(test=dat$KTSND, stat=dat$SMK, plot="sp")

Sensitivity(感度)とSpecificity(特異度)が交わるところが11点だ。

陽性反応的中率は最大でも49.8%までしか到達しないことがわかる。

まとめ

Rで、ROC曲線を書くには、Epi パッケージの ROC() 関数を使うのが便利だ。

とてもきれいな図が簡単に描ける。

参考リンク

Epi: A package for statistical analysis in epidemiology

参考書籍

Rによる保健医療データ解析演習 (Computer in Education and Research)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

リサーチクエスチョン探し?データ分析?論文投稿?、、、で、もう悩まない!

第1章臨床研究ではなぜ統計が必要なのか?計画することの重要性
  • 推定ってどんなことをしているの?
  • 臨床研究を計画するってどういうこと?
  • どうにかして標本平均を母平均に近づけられないか?
第2章:研究目的をどれだけ明確にできるのかが重要
  • データさえあれば解析でどうにかなる、という考え方は間違い
  • 何を明らかにしたいのか? という研究目的が重要
  • 研究目的は4種類に分けられる
  • 統計専門家に相談する上でも研究目的とPICOを明確化しておく
第3章:p値で結果が左右される時代は終わりました
  • アメリカ統計協会(ASA)のp値に関する声明で指摘されていること
  • そうは言っても、本当に有意差がなくてもいいの…?
  • なぜ統計専門家はp値を重要視していないのか
  • 有意差がない時に「有意な傾向があった」といってもいい?
  • 統計を放置してしまうと非常にまずい
第4章:多くの人が統計を苦手にする理由
  • 残念ながら、セミナー受講だけで統計は使えません。
  • インプットだけで統計が使えない理由
  • どうやったら統計の判断力が鍛えられるか?
  • 統計は手段なので正解がないため、最適解を判断する力が必要
第5章:統計を使えるようになるために今日から何をすれば良いか?
  • 論文を読んで統計が使えるようになるための5ステップ
第6章:統計を学ぶために重要な環境
  • 統計の3つの力をバランスよく構築する環境

以下のボタンをクリックして、画面に出てくる指示に従って、必要事項を記入してください。

この記事を書いた人

統計 ER ブログ執筆者

元疫学研究者

統計解析が趣味

コメント

コメント一覧 (1件)

コメントする

目次