การคำนวณกำลังไฟ / ขนาดตัวอย่างสำหรับการศึกษาไบโอมาร์คเกอร์


13

เรามีไบโอมาร์คเกอร์ที่มีศักยภาพในการทำนายว่าผู้ป่วยจะเป็นมะเร็งหรือไม่ ผลการทดสอบไบโอมาร์คเกอร์คือเลขฐานสองเป็นบวกหรือลบ เราต้องการทราบถึงจำนวนผู้ป่วยที่ต้องทดสอบเพื่อตรวจสอบว่าไบโอมาร์คเกอร์นี้เป็นตัวทำนายที่ดีหรือไม่

จากการอ่านบนอินเทอร์เน็ตดูเหมือนว่าวิธีที่จะไปคือดูความไว (สำหรับจำนวนเคส) และความเฉพาะเจาะจง (สำหรับจำนวนของการควบคุม) ขอแนะนำว่าคุณควรปฏิบัติต่อสถานการณ์นี้เป็นการทดสอบสัดส่วนตัวอย่างเดียว แต่ก็ยังไม่ชัดเจนว่าคุณควรประเมินความไวและช่วงที่คุณเตรียมไว้อย่างไร ถ้าพูดว่าฉันพิจารณาผู้ใช้ไบโอมาร์คเกอร์ที่มีความไวมากกว่า 0.8 ถึง "ดี" คุณจะตั้งค่าตัวแปรทั้งสองอย่างไร ฉันต้องการสมมติฐานว่างเปล่าของฉันที่จะเป็นไบโอมาร์คเกอร์ไม่ได้ดีไปกว่าการสุ่มเลือกเช่นความไว 0.5 ทุกคนสามารถให้ตัวอย่างของวิธีที่ดีที่สุดในการทำเช่นนี้ (โดยเฉพาะถ้ามันอยู่ใน R)


คุณกำลังบอกว่าคุณกำลังจะเริ่มด้วยชุดกรณีที่รู้จักกันแล้วทำการทดสอบไบโอมาร์คเกอร์ของคุณ (รวบรวมข้อมูล) และประเมินความไว และคุณจะเริ่มต้นด้วยชุดควบคุมที่รู้จักรวบรวมข้อมูลและประมาณค่าเฉพาะ?

สำหรับการคำนวณนี้มีผลใช่ ในความเป็นจริงเราจะไม่ทราบก่อนการสรรหาผู้ป่วย แต่จะทำการสรรหาจนกว่าเราจะมีกรณีและการควบคุมที่เพียงพอ นอกจากนี้เรายังมีอัตราโดยประมาณที่ผู้ป่วยจะเป็นกรณีดังนั้นเราจึงสามารถใช้เพื่อประเมินจำนวนรวมที่เราจะต้องรับสมัคร
danielsbrewer

หากไบโอมาร์คเกอร์ให้คำตอบว่าใช่ / ไม่ใช่คำตอบคุณอาจมีความอ่อนไหว / เจาะจงและวางแผนในบริบทสำหรับการทดสอบตามสัดส่วน หากค่าสำหรับหนึ่งในนั้นคือ "ดี" หรือ "ไม่ดี" ขึ้นอยู่กับผลกระทบในชีวิตจริงของการตัดสินใจที่ผิดพลาด หากในตอนแรกผู้ตรวจวัดทางชีวภาพให้การวัดอย่างต่อเนื่องแสดงว่า ROC-curves และ AUC-Statistics และวิธีการวางแผนขนาดตัวอย่างที่สอดคล้องกันอาจเหมาะสมกว่า แต่ทั้งหมดนี้เป็นเพียงแค่รอยขีดข่วนพื้นผิวของวิธีการที่เชื่อมโยงกับการทดสอบการวินิจฉัย ...
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]

แก้ไข:ถ้าคุณชอบวิธีการจำลองที่ดีกว่าคุณสามารถทำได้ด้วยวิธีนี้: ตั้งค่า

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.