Perhitungan daya / ukuran sampel untuk studi biomarker

13

Kami memiliki biomarker potensial untuk memprediksi apakah pasien menderita kanker atau tidak. Hasil tes biomarker adalah biner yang positif atau negatif. Kami ingin mengetahui jumlah pasien yang perlu diuji untuk menentukan apakah biomarker ini merupakan prediktor yang baik atau tidak.

Dari membaca di internet tampaknya cara untuk pergi adalah dengan melihat sensitivitas (untuk jumlah kasus) dan spesifisitas (untuk jumlah kontrol). Disarankan bahwa Anda harus memperlakukan situasi ini sebagai uji proporsi satu sampel, tetapi masih belum jelas bagaimana Anda harus memperkirakan apa sensitivitasnya dan kisaran yang Anda siapkan kecuali. Jika saya menganggap biomarker dengan sensitivitas lebih dari 0,8 sebagai "baik", bagaimana Anda mengatur dua variabel? Saya ingin hipotesis nol saya menjadi biomarker tidak lebih baik dari penugasan acak yaitu sensitivitas 0,5. Adakah yang bisa memberikan contoh cara terbaik untuk melakukan ini (terutama jika itu dalam R).

danielsbrewer
sumber
Apakah Anda mengatakan bahwa Anda akan mulai dengan satu set kasus yang diketahui, selanjutnya melakukan tes biomarker Anda (mengumpulkan data), dan memperkirakan sensitivitasnya? Dan Anda akan mulai dengan satu set kontrol yang dikenal, mengumpulkan data, dan memperkirakan spesifisitas?
Untuk perhitungan ini berlaku ya. Pada kenyataannya kita tidak akan tahu sebelum perekrutan pasien, tetapi akan tetap merekrut sampai kita memiliki cukup kasus dan kontrol. Kami juga memiliki taksiran rata-rata bahwa seorang pasien akan menjadi
kasing
Jika biomarker hanya memberikan jawaban ya / tidak, maka Anda mungkin akan pergi dengan sensitivitas / spesifisitas dan melakukan perencanaan dalam konteks untuk pengujian proporsi. Jika nilai untuk salah satu dari mereka adalah "baik" atau "buruk" tergantung pada konsekuensi kehidupan nyata dari keputusan yang salah. Jika biomarker awalnya memberikan pengukuran kontinu maka statistik ROC-kurva dan AUC dan metode perencanaan ukuran sampel yang sesuai mungkin lebih tepat. Tetapi semua ini hanya menggores permukaan metode yang terhubung dengan pengujian diagnostik ...
psj

Jawaban:

11

Mari kita bicara tentang sensitivitas (yang akan kita tunjukkan dengan ), spesifisitasnya mirip. Berikut ini adalah pendekatan yang sering dilakukan; alangkah baiknya jika salah seorang Bayesian di sini dapat menambahkan jawaban lain untuk membahas cara alternatif untuk melakukannya.hal

nxxhalhalhal^=x/nhal^hal

nhal=0,5nhal=0,57α=0,05

Setidaknya ada dua pendekatan - analitis dan simulasi. The pwrpaket di Rsudah ada untuk membantu dengan desain ini - Anda perlu menginstalnya terlebih dahulu. Selanjutnya Anda akan memerlukan ukuran efek, maka fungsi yang Anda inginkan adalah 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

Setelah Anda mendapatkan data Anda, cara untuk menjalankan tes adalah (saya akan mensimulasikan data demi argumen).

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,568hal[0,527,1]

EDIT: Jika Anda menyukai pendekatan simulasi yang lebih baik, maka Anda dapat melakukannya dengan cara ini: set

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

dan biarkan runTestmenjadi

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

jadi estimasi daya adalah

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

sumber