Розрахунки потужності / розмір вибірки для дослідження біомаркерів


13

У нас є потенційний біомаркер для прогнозування того, хворий на рак чи ні. Результатом тесту на біомаркер є двійкові позитивні чи негативні. Ми хочемо зрозуміти кількість пацієнтів, які потребують тестування, щоб визначити, чи є цей біомаркер хорошим прогнозом чи ні.

Якщо читати в Інтернеті, то, схоже, слід поглянути на чутливість (на кількість випадків) та специфіку (на кількість елементів контролю). Пропонується розглянути цю ситуацію як тест на одноразову пропорцію, але залишається незрозумілим, як слід робити оцінку чутливості та діапазону, до якого ти готовий. Якщо я скажу, що я вважаю, що будь-який біомаркер із чутливістю понад 0,8 є "хорошим", як би ви встановили дві змінні? Я хотів би, щоб моя нульова гіпотеза бути біомаркером - це не краще, ніж випадкове призначення, тобто чутливість 0,5. Чи може хтось навести приклад найкращого способу зробити це (особливо, якщо він є в R).


Ви хочете сказати, що ви будете починати з набору відомих випадків, наступним чином виконайте тест на біомаркер (збирайте дані) та оцініть чутливість? І ви почнете з набору відомих елементів управління, збирати дані та оцінювати специфіку?

Для цього розрахунку фактично так. Насправді ми не будемо знати до призову пацієнтів, але будемо продовжувати вербувати, поки у нас не буде достатньої кількості справ та контролю. Крім того, у нас є прогнозований показник того, що пацієнт буде випадок, і ми можемо використовувати його для оцінки загальної кількості, яку нам потрібно буде набрати,
danielsbrewer

Якщо біомаркер дає лише відповідь "так / ні", тоді ви можете піти з чутливістю / специфічністю і робити планування в контексті тестів на пропорції. Якщо значення для одного з них "добре" чи "погано", залежить від реальних життєвих наслідків помилкового рішення. Якщо біомаркер спочатку дає безперервне вимірювання, то ROC-криві та AUC-статистика та відповідні методи планування розміру вибірки можуть бути більш підходящими. Але все це лише дряпає поверхню методів, пов’язаних з діагностичним тестуванням ...
psj

Відповіді:


11

p

nxxppp^=x/np^p

np=0.5np=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.568p[0.527,1]

EDIT: Якщо вам більше подобається симуляційний підхід, ви можете зробити це так: встановіть

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.