Расчеты мощности / размер выборки для исследования биомаркеров

13

У нас есть потенциальный биомаркер для предсказания, есть ли у пациента рак или нет. Результат теста биомаркера - бинарный, положительный или отрицательный. Мы хотим получить представление о количестве пациентов, которые необходимо протестировать, чтобы определить, является ли этот биомаркер хорошим предиктором или нет.

Из чтения в интернете кажется, что нужно искать чувствительность (по количеству случаев) и специфичность (по количеству контролей). Предполагается, что вы должны рассматривать эту ситуацию как тест пропорции одной выборки, но остается неясным, как вам следует оценивать чувствительность и диапазон, к которому вы готовы, за исключением. Если, скажем, я считаю любой биомаркер с чувствительностью выше 0,8 «хорошим», как бы вы установили две переменные? Я хотел бы, чтобы моя нулевая гипотеза была биомаркером не лучше, чем случайное назначение, то есть чувствительность 0,5. Может ли кто-нибудь привести пример наилучшего способа сделать это (особенно если это в R).

danielsbrewer
источник
Вы говорите, что собираетесь начать с набора известных случаев, затем выполнить тест биомаркера (собрать данные) и оценить чувствительность? И вы начнете с набора известных элементов управления, сбора данных и оценки специфичности?
Для этого расчета в действительности да. На самом деле мы не узнаем об этом до набора пациентов, но будем продолжать набор до тех пор, пока у нас не будет достаточно случаев и средств контроля. Кроме того, у нас есть приблизительный показатель заболеваемости пациента, поэтому мы можем использовать его для оценки общего количества, которое нам нужно набрать,
danielsbrewer
Если биомаркер дает только ответ «да / нет», то вы можете пойти с чувствительностью / специфичностью и планировать в контексте тесты на пропорции. Если значение для одного из них «хорошее» или «плохое», зависит от реальных последствий ложного решения. Если биомаркер первоначально дает непрерывное измерение, тогда ROC-кривые и AUC-статистика и соответствующие методы планирования размера выборки могут быть более подходящими. Но все это только царапает поверхность методов, связанных с диагностическим тестированием ...
psj

Ответы:

11

п

Nxxппп^знак равноΣИкс/Nп^п

Nпзнак равно0,5Nпзнак равно0,57αзнак равно0,05

Существует как минимум два подхода - аналитический и имитационный. pwrПакет в Rуже существует , чтобы помочь с этой конструкцией - вам необходимо установить его первым. Далее вам понадобится размер эффекта, затем функция, которую вы хотите pwr.p.test.

library(pwr)
h1 <- ES.h(0.57, 0.5)
pwr.p.test(h = h1, n = NULL, sig.level = 0.05, power = 0.9, alt = "greater")

     proportion power calculation for binomial distribution (arc... 

              h = 0.1404614
              n = 434.0651
      sig.level = 0.05
          power = 0.9
    alternative = greater

4350,570,900,050,57

Когда у вас есть данные, вы можете запустить тест (я буду имитировать данные для аргументации).

n <- 435
sens <- 0.57
x <- rbinom(n, size = 1, prob = sens)
binom.test(sum(x), n, p = 0.5, alt = "greater")

    Exact binomial test

data:  sum(x) and n 
number of successes = 247, number of trials = 435,
p-value = 0.002681
alternative hypothesis: true probability of success is greater than 0.5 
95 percent confidence interval:
 0.527342 1.000000 
sample estimates:
probability of success 
             0.5678161 

0,568п[0,527,1]

РЕДАКТИРОВАТЬ: Если вам больше нравится подход моделирования, то вы можете сделать это следующим образом: установить

n <- 435
sens <- 0.57
nSim <- 1000

и разреши runTest будет

runTest <- function(){
  x <- rbinom(1, size = n, prob = sens)
  tmp <- binom.test(x, n, p = 0.5, alt = "greater")
  tmp$p.value < 0.05
}

поэтому оценка мощности

mean(replicate(nSim, runTest()))
[1] 0.887

источник