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