井出草平の研究ノート

ROC曲線のサンプルサイズの推定

ROC曲線のサンプルサイズの推定について。質問を受けたので推定方法を書いておこう。

pROCパッケージのpower.roc.test関数を利用する。

aucは目標とするACUの値。任意の値である。
sig.levelは有意水準。デフォルトでは5%となっていて書かなくてもいいし、変えたいときは別の値にするとよい。powerは検出力、つまり「1-第二種過誤」である。
KappaはKappa統計量ではなく、実験群と対照群のケースの比率のようだ。2とすると対照群の数が2倍となる。

library(pROC)
power.roc.test(auc = 0.73,
               sig.level = 0.05,
               power = 0.95,
               kappa=2)

出力は以下のようになる。

ncases = 28.15205
ncontrols = 56.3041

ncasesが実験群、ncontrolsが対照群である。
Cohenのκのことを考えると、比較的少なめのサンプルサイズでOKのようだ。

power.roc.test関数は他の値の算出もできるらしい。

有意水準の算出

power.roc.test(ncases = 28,
               ncontrols = 56,
               auc = 0.73,
               power = 0.95,
               sig.level=NULL)

sig.level = 0.05112969

AUCの算出

power.roc.test(ncases = 28,
               ncontrols = 56,
               power = 0.95)

auc = 0.7305903