พฤติกรรมที่น่าประหลาดใจของพลังของการทดสอบที่แน่นอนของชาวประมง (การทดสอบการเปลี่ยนรูป)


9

ฉันพบพฤติกรรมที่ขัดแย้งกันของสิ่งที่เรียกว่า "การทดสอบที่แน่นอน" หรือ "การทดสอบการเปลี่ยนแปลง" ซึ่งเป็นต้นแบบของการทดสอบฟิชเชอร์ นี่ไง

ลองนึกภาพคุณมีสองกลุ่มจาก 400 คน (เช่น 400 control vs 400 คดี) และ covariate ที่มีสองรังสี (เช่นเปิดเผย / ไม่เปิดเผย) มีบุคคลที่เปิดเผยเพียง 5 คนเท่านั้นในกลุ่มที่สอง การทดสอบของฟิชเชอร์เป็นเช่นนี้:

> x <- matrix( c(400, 395, 0, 5) , ncol = 2)
> x
     [,1] [,2]
[1,]  400    0
[2,]  395    5
> fisher.test(x)

    Fisher's Exact Test for Count Data

data:  x
p-value = 0.06172
(...)

แต่ตอนนี้มีความหลากหลายในกลุ่มที่สอง (กรณี) เช่นรูปแบบของโรคหรือศูนย์สรรหา สามารถแบ่งออกเป็น 4 กลุ่มกลุ่มละ 100 คน สิ่งนี้มีแนวโน้มที่จะเกิดขึ้น:

> x <- matrix( c(400, 99, 99 , 99, 98, 0, 1, 1, 1, 2) , ncol = 2)
> x
     [,1] [,2]
[1,]  400    0
[2,]   99    1
[3,]   99    1
[4,]   99    1
[5,]   98    2
> fisher.test(x)

    Fisher's Exact Test for Count Data

data:  x 
p-value = 0.03319
alternative hypothesis: two.sided
(...)

ตอนนี้เรามี ...p<0.05

นี่เป็นเพียงตัวอย่างเท่านั้น แต่เราสามารถจำลองพลังของสองกลยุทธ์การวิเคราะห์โดยสมมติว่าใน 400 คนแรกความถี่ของการเปิดรับคือ 0 และนั่นคือ 0.0125 ใน 400 คนที่เหลือ

เราสามารถประเมินพลังของการวิเคราะห์กับกลุ่ม 400 คน:

> p1 <- replicate(1000, { n <- rbinom(1, 400, 0.0125); 
                          x <- matrix( c(400, 400 - n, 0, n), ncol = 2); 
                          fisher.test(x)$p.value} )
> mean(p1 < 0.05)
[1] 0.372

และกับกลุ่มหนึ่ง 400 และ 4 กลุ่มจาก 100 บุคคล:

> p2 <- replicate(1000, { n <- rbinom(4, 100, 0.0125); 
                          x <- matrix( c(400, 100 - n, 0, n), ncol = 2);
                          fisher.test(x)$p.value} )
> mean(p2 < 0.05)
[1] 0.629

มีความแตกต่างของพลัง การแบ่งเคสในกลุ่มย่อย 4 กลุ่มให้การทดสอบที่มีประสิทธิภาพยิ่งขึ้นแม้ว่าจะไม่มีความแตกต่างของการกระจายระหว่างกลุ่มย่อยเหล่านี้ แน่นอนว่าพลังงานที่เพิ่มขึ้นนี้ไม่ได้เกิดจากอัตราความผิดพลาดประเภทที่ 1 ที่เพิ่มขึ้น

ปรากฏการณ์นี้เป็นที่รู้จักกันดีหรือไม่? นั่นหมายความว่ากลยุทธ์แรกนั้นใช้พลังงานน้อยหรือไม่? ค่า p bootstrapped จะเป็นทางออกที่ดีกว่าหรือไม่ ความคิดเห็นทั้งหมดของคุณยินดีต้อนรับ

โพสต์ Scriptum

ตามที่ระบุโดย @MartijnWeterings ส่วนใหญ่ของเหตุผลของพฤติกรรมนี้ (ซึ่งไม่ใช่คำถามของฉัน!) อยู่ในความจริงข้อผิดพลาดประเภทที่แท้จริงของกลยุทธ์การวิเคราะห์พ่วงนั้นไม่เหมือนกัน อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่อธิบายทุกอย่าง ฉันพยายามเปรียบเทียบ ROC Curves สำหรับเทียบกับH0:p0=p1=0.005H1:p0=0.05p1=0.01250.0125

นี่คือรหัสของฉัน

B <- 1e5
p0 <- 0.005
p1 <- 0.0125

# simulation under H0 with p = p0 = 0.005 in all groups
# a = 2 groups 400:400, b = 5 groupe 400:100:100:100:100

p.H0.a <- replicate(B, { n <- rbinom( 2, c(400,400), p0);
                           x <- matrix( c( c(400,400) -n, n ), ncol = 2);
                          fisher.test(x)$p.value} )

p.H0.b <- replicate(B, { n <- rbinom( 5, c(400,rep(100,4)), p0);
                           x <- matrix( c( c(400,rep(100,4)) -n, n ), ncol = 2);
                          fisher.test(x)$p.value} )

# simulation under H1 with p0 = 0.005 (controls) and p1 = 0.0125 (cases)

p.H1.a <- replicate(B, { n <- rbinom( 2, c(400,400), c(p0,p1) );
                           x <- matrix( c( c(400,400) -n, n ), ncol = 2);
                          fisher.test(x)$p.value} )

p.H1.b <- replicate(B, { n <- rbinom( 5, c(400,rep(100,4)), c(p0,rep(p1,4)) );
                           x <- matrix( c( c(400,rep(100,4)) -n, n ), ncol = 2);
                          fisher.test(x)$p.value} )

# roc curve 

ROC <- function(p.H0, p.H1) {
  p.threshold <- seq(0, 1.001, length=501)
  alpha <- sapply(p.threshold, function(th) mean(p.H0 <= th) )
  power <- sapply(p.threshold, function(th) mean(p.H1 <= th) )
  list(x = alpha, y = power)
}

par(mfrow=c(1,2))
plot( ROC(p.H0.a, p.H1.a) , type="b", xlab = "alpha", ylab = "1-beta" , xlim=c(0,1), ylim=c(0,1), asp = 1)
lines( ROC(p.H0.b, p.H1.b) , col="red", type="b" )
abline(0,1)

plot( ROC(p.H0.a, p.H1.a) , type="b", xlab = "alpha", ylab = "1-beta" , xlim=c(0,.1) )
lines( ROC(p.H0.b, p.H1.b) , col="red", type="b" )
abline(0,1)

นี่คือผลลัพธ์:

เส้นโค้ง roc

ดังนั้นเราจะเห็นว่าการเปรียบเทียบในข้อผิดพลาดจริงประเภทเดียวกันกับฉันยังคงนำไปสู่ความแตกต่าง (เล็กกว่ามาก)


ฉันไม่เข้าใจ การแยกกลุ่มคดีสามารถทำให้เข้าใจได้เมื่อสงสัยว่ามีความแตกต่างกันภายใน - กล่าวว่าพวกเขามาจากศูนย์ที่แตกต่างกัน 5 แห่ง การแยกแบบ "เปิดเผย" ดูเหมือนจะไม่สมเหตุสมผลสำหรับฉัน
Elvis

1
ถ้าเราจะร่างความแตกต่างระหว่างกลยุทธ์แรกและกลยุทธ์ที่สองแบบกราฟิก จากนั้นฉันจินตนาการถึงระบบพิกัดที่มี 5 แกน (สำหรับกลุ่ม 400 100 100 100 และ 100) โดยมีจุดสำหรับค่าสมมติฐานและพื้นผิวที่แสดงระยะห่างของการเบี่ยงเบนซึ่งความน่าจะเป็นต่ำกว่าระดับที่แน่นอน ด้วยกลยุทธ์แรกพื้นผิวนี้เป็นทรงกระบอกด้วยกลยุทธ์ที่สองพื้นผิวนี้เป็นทรงกลม เช่นเดียวกับค่าที่แท้จริงและพื้นผิวรอบ ๆ สำหรับข้อผิดพลาด สิ่งที่เราต้องการคือการทับซ้อนที่จะเล็กที่สุด
Sextus Empiricus

1
ฉันได้นำคำถามท้ายคำถามของฉันไปให้ข้อมูลเชิงลึกมากขึ้นเกี่ยวกับเหตุผลว่าทำไมจึงมีความแตกต่างระหว่างสองวิธี
Sextus Empiricus

1
ฉันเชื่อว่าการทดสอบที่ถูกต้องของ Barnard นั้นจะถูกใช้เมื่อกำหนดระยะขอบเพียงหนึ่งในสองค่า แต่คุณอาจจะได้รับผลกระทบเดียวกัน
Sextus Empiricus

1
อีกสิ่งที่น่าสนใจที่ฉันอยากทำคือพลังลดลงจริง ๆ เมื่อคุณทดสอบด้วย p0> p1 ดังนั้นพลังงานจะเพิ่มขึ้นเมื่อ p1> p0 ที่ระดับอัลฟาเดียวกัน แต่พลังลดลงเมื่อ p1 <p0 (ฉันยังได้เส้นโค้งที่ต่ำกว่าเส้นทแยงมุม)
Sextus Empiricus

คำตอบ:


4

ทำไมค่า p แตกต่างกัน

มีเอฟเฟกต์สองอย่างเกิดขึ้น:

  • เนื่องจากความแตกต่างของค่าที่คุณเลือก 'น่าจะเกิดขึ้นมากที่สุด' 0 2 1 1 1 เวกเตอร์ แต่นี้จะแตกต่างจาก (เป็นไปไม่ได้) 0 1.25 1.25 1.25 1.25 ซึ่งจะมีขนาดเล็กคุ้มค่าχ2

    ผลที่ได้คือเวกเตอร์ 5 0 0 0 0 ไม่ได้ถูกนับอีกต่อไปเพราะอย่างน้อยกรณีสุดโต่ง (5 0 0 0 0 0 มีขนาดเล็กกว่ามากกว่า 0 2 1 1 1) นี่เป็นกรณีก่อน การทดสอบฟิชเชอร์สองด้านในตาราง 2x2 นับทั้งสองกรณีของการเปิดรับแสง 5 ครั้งที่อยู่ในกลุ่มแรกหรือกลุ่มที่สองอย่างสุดขั้วเท่ากันχ2

    นี่คือสาเหตุที่ค่า p แตกต่างกันเกือบเป็น 2 เท่า (ไม่ใช่เพราะจุดถัดไป)

  • ในขณะที่คุณปล่อย 5 0 0 0 0 เป็นกรณีที่รุนแรงเท่า ๆ กันคุณจะได้รับ 1 4 0 0 0 เป็นกรณีที่รุนแรงกว่า 0 2 1 1 1

ดังนั้นความแตกต่างอยู่ในขอบเขตของค่า (หรือ p-value ที่คำนวณโดยตรงที่ใช้โดยการใช้งาน R ของการทดสอบฟิชเชอร์ที่แน่นอน) หากคุณแบ่งกลุ่ม 400 ออกเป็น 4 กลุ่มจาก 100 กรณีที่แตกต่างกันจะถือเป็น 'มาก' มากกว่าหรือน้อยกว่า 5 0 0 0 0 ตอนนี้น้อยมาก 'สุดขีด' มากกว่า 0 2 1 1 1. แต่ 1 4 0 0 0 มากกว่า 'สุดขีด'χ2


ตัวอย่างรหัส:

# probability of distribution a and b exposures among 2 groups of 400
draw2 <- function(a,b) {
  choose(400,a)*choose(400,b)/choose(800,5)
}

# probability of distribution a, b, c, d and e exposures among 5 groups of resp 400, 100, 100, 100, 100
draw5 <- function(a,b,c,d,e) {
choose(400,a)*choose(100,b)*choose(100,c)*choose(100,d)*choose(100,e)/choose(800,5)
}

# looping all possible distributions of 5 exposers among 5 groups
# summing the probability when it's p-value is smaller or equal to the observed value 0 2 1 1 1
sumx <- 0
for (f in c(0:5)) {
  for(g in c(0:(5-f))) {
    for(h in c(0:(5-f-g))) {
      for(i in c(0:(5-f-g-h))) {
        j = 5-f-g-h-i
        if (draw5(f, g, h, i, j) <= draw5(0, 2, 1, 1, 1)) {
          sumx <- sumx + draw5(f, g, h, i, j)
        }
      }
    }
  } 
}
sumx  #output is 0.3318617

# the split up case (5 groups, 400 100 100 100 100) can be calculated manually
# as a sum of probabilities for cases 0 5 and 1 4 0 0 0 (0 5 includes all cases 1 a b c d with the sum of the latter four equal to 5)
fisher.test(matrix( c(400, 98, 99 , 99, 99, 0, 2, 1, 1, 1) , ncol = 2))[1]
draw2(0,5) + 4*draw(1,4,0,0,0)

# the original case of 2 groups (400 400) can be calculated manually
# as a sum of probabilities for the cases 0 5 and 5 0 
fisher.test(matrix( c(400, 395, 0, 5) , ncol = 2))[1]
draw2(0,5) + draw2(5,0)

เอาต์พุตของบิตสุดท้าย

> fisher.test(matrix( c(400, 98, 99 , 99, 99, 0, 2, 1, 1, 1) , ncol = 2))[1]
$p.value
[1] 0.03318617

> draw2(0,5) + 4*draw(1,4,0,0,0)
[1] 0.03318617

> fisher.test(matrix( c(400, 395, 0, 5) , ncol = 2))[1]
$p.value
[1] 0.06171924

> draw2(0,5) + draw2(5,0)
[1] 0.06171924

มันมีผลต่อพลังงานอย่างไรเมื่อแยกกลุ่ม

  • มีความแตกต่างบางประการเนื่องจากขั้นตอนที่ไม่ต่อเนื่องในระดับ 'พร้อมใช้' ของค่า p และการอนุรักษ์ของการทดสอบที่แน่นอนของ Fishers (และความแตกต่างเหล่านี้อาจกลายเป็นเรื่องใหญ่)

  • การทดสอบแบบฟิชเชอร์ยังสอดคล้องกับโมเดล (ไม่ทราบ) ตามข้อมูลจากนั้นใช้โมเดลนี้เพื่อคำนวณค่า p รูปแบบในตัวอย่างคือมีบุคคลที่ถูกเปิดเผย 5 คน หากคุณจำลองข้อมูลด้วยทวินามสำหรับกลุ่มที่แตกต่างกันคุณจะได้รับบุคคลมากกว่าหรือน้อยกว่า 5 คนเป็นครั้งคราว เมื่อคุณใช้การทดสอบการประมงกับสิ่งนี้ข้อผิดพลาดบางอย่างจะถูกติดตั้งและส่วนที่เหลือจะเล็กลงเมื่อเปรียบเทียบกับการทดสอบที่มีระยะขอบคงที่ ผลที่ได้คือการทดสอบนั้นค่อนข้างอนุรักษ์นิยมเกินไปไม่แน่นอน

ฉันคาดว่าผลกระทบของความน่าจะเป็นข้อผิดพลาดประเภทการทดสอบจะไม่ดีนักหากคุณแยกกลุ่มแบบสุ่ม หากสมมุติฐานว่างเป็นจริงคุณจะต้องเจอกันอย่างคร่าวๆαร้อยละของกรณีที่มีค่า p สำคัญ สำหรับตัวอย่างนี้ความแตกต่างมีขนาดใหญ่ดังภาพที่แสดง เหตุผลหลักคือเนื่องจากการเปิดรับแสงทั้งหมด 5 ครั้งมีความแตกต่างแน่นอนเพียงสามระดับเท่านั้น (5-0, 4-1, 3-2, 2-3, 1-4, 0-5) และเพียงสามจุดต่อเนื่อง ค่า (ในกรณีของสองกลุ่ม 400)

สิ่งที่น่าสนใจที่สุดคือโครงเรื่องของความน่าจะเป็นที่จะปฏิเสธ H0 ถ้า H0 เป็นจริงและถ้า Haเป็นความจริง. ในกรณีนี้ระดับอัลฟาและการแยกส่วนไม่สำคัญมาก (เราวางแผนอัตราการปฏิเสธที่มีประสิทธิภาพ) และเรายังคงเห็นความแตกต่างใหญ่

คำถามยังคงอยู่ว่าสิ่งนี้จะเป็นไปตามสถานการณ์ที่เป็นไปได้หรือไม่

การปรับรหัสสามเท่าของการวิเคราะห์พลังงานของคุณ (และ 3 ภาพ):

ใช้การ จำกัด ทวินามกับกรณีของ 5 คนสัมผัส

พล็อตของความน่าจะเป็นที่มีประสิทธิภาพที่จะปฏิเสธ H0เป็นฟังก์ชั่นของอัลฟาที่เลือก เป็นที่ทราบกันดีว่าสำหรับการทดสอบแบบฟิชเชอร์ของฟิชเชอร์นั้นค่า p-value นั้นถูกคำนวณอย่างแม่นยำ แต่มีเพียงไม่กี่ระดับ (ขั้นตอน) ที่เกิดขึ้นบ่อยครั้งที่การทดสอบอาจจะระมัดระวังเกินไป

เป็นที่น่าสนใจที่จะเห็นว่าเอฟเฟกต์นั้นแข็งแกร่งมากขึ้นสำหรับเคส 400-400 (สีแดง) เมื่อเทียบกับเคส 400-100-100-100-100 (สีฟ้า) ดังนั้นเราอาจใช้การแบ่งนี้เพื่อเพิ่มพลังทำให้มีแนวโน้มที่จะปฏิเสธ H_0 (แม้ว่าเราจะไม่สนใจมากนักเกี่ยวกับการทำให้ข้อผิดพลาดประเภทที่ 1 มีแนวโน้มมากขึ้นดังนั้นจุดที่ทำแยกนี้เพื่อเพิ่มพลังอาจไม่แข็งแกร่งเสมอไป)

ความน่าจะเป็นต่าง ๆ ที่จะปฏิเสธ H0

ใช้ทวินามโดยไม่ จำกัด บุคคลที่ได้รับสัมผัส 5 คน

หากเราใช้ทวินามแบบที่คุณทำไม่เช่นนั้นทั้งสองกรณี 400-400 (สีแดง) หรือ 400-100-100-100-100 (สีน้ำเงิน) ให้ค่า p ที่ถูกต้อง นี่เป็นเพราะการทดสอบฟิชเชอร์ที่แน่นอนถือว่าผลรวมแถวและคอลัมน์คงที่ แต่รูปแบบทวินามช่วยให้สิ่งเหล่านี้เป็นอิสระ การทดสอบของฟิชเชอร์จะทำให้พอดีกับแถวและคอลัมน์ทั้งหมดทำให้คำที่เหลือมีขนาดเล็กกว่าคำที่ผิดพลาดจริง

การทดสอบแบบฟิชเชอร์ที่เข้มงวดเกินไป

พลังงานที่เพิ่มขึ้นมีค่าใช้จ่ายอย่างไร

หากเราเปรียบเทียบความน่าจะเป็นของการปฏิเสธเมื่อ H0 เป็นจริงและเมื่อ Ha เป็นจริง (เราต้องการให้ค่าแรกต่ำและสูงกว่าค่าที่สอง) จากนั้นเราจะเห็นว่าแท้จริงอำนาจ (ปฏิเสธเมื่อใด Ha เป็นจริง) สามารถเพิ่มขึ้นได้โดยไม่ต้องเสียค่าใช้จ่ายที่เพิ่มความผิดพลาดประเภทที่ 1

เปรียบเทียบ H_0 และ H_a

# using binomial distribution for 400, 100, 100, 100, 100
# x uses separate cases
# y uses the sum of the 100 groups
p <- replicate(4000, { n <- rbinom(4, 100, 0.006125); m <- rbinom(1, 400, 0.006125); 
x <- matrix( c(400 - m, 100 - n, m, n), ncol = 2);
y <- matrix( c(400 - m, 400 - sum(n), m, sum(n)), ncol = 2);
c(sum(n,m),fisher.test(x)$p.value,fisher.test(y)$p.value)} )

# calculate hypothesis test using only tables with sum of 5 for the 1st row
ps <- c(1:1000)/1000
m1 <- sapply(ps,FUN = function(x) mean(p[2,p[1,]==5] < x))
m2 <- sapply(ps,FUN = function(x) mean(p[3,p[1,]==5] < x))

plot(ps,ps,type="l",
     xlab = "chosen alpha level",
     ylab = "p rejection")
lines(ps,m1,col=4)
lines(ps,m2,col=2)

title("due to concervative test p-value will be smaller\n leading to differences")

# using all samples also when the sum exposed individuals is not 5
ps <- c(1:1000)/1000
m1 <- sapply(ps,FUN = function(x) mean(p[2,] < x))
m2 <- sapply(ps,FUN = function(x) mean(p[3,] < x))

plot(ps,ps,type="l", 
     xlab = "chosen alpha level",
     ylab = "p rejection")
lines(ps,m1,col=4)
lines(ps,m2,col=2)

title("overly conservative, low effective p-values \n fitting marginals makes residuals smaller than real error")


#   
# Third graph comparing H_0 and H_a
#
# using binomial distribution for 400, 100, 100, 100, 100
# x uses separate cases
# y uses the sum of the 100 groups
offset <- 0.5
p <- replicate(10000, { n <- rbinom(4, 100, offset*0.0125); m <- rbinom(1, 400, (1-offset)*0.0125); 
x <- matrix( c(400 - m, 100 - n, m, n), ncol = 2);
y <- matrix( c(400 - m, 400 - sum(n), m, sum(n)), ncol = 2);
c(sum(n,m),fisher.test(x)$p.value,fisher.test(y)$p.value)} )

# calculate hypothesis test using only tables with sum of 5 for the 1st row
ps <- c(1:10000)/10000
m1 <- sapply(ps,FUN = function(x) mean(p[2,p[1,]==5] < x))
m2 <- sapply(ps,FUN = function(x) mean(p[3,p[1,]==5] < x))

offset <- 0.6
p <- replicate(10000, { n <- rbinom(4, 100, offset*0.0125); m <- rbinom(1, 400, (1-offset)*0.0125); 
x <- matrix( c(400 - m, 100 - n, m, n), ncol = 2);
y <- matrix( c(400 - m, 400 - sum(n), m, sum(n)), ncol = 2);
c(sum(n,m),fisher.test(x)$p.value,fisher.test(y)$p.value)} )

# calculate hypothesis test using only tables with sum of 5 for the 1st row
ps <- c(1:10000)/10000
m1a <- sapply(ps,FUN = function(x) mean(p[2,p[1,]==5] < x))
m2a <- sapply(ps,FUN = function(x) mean(p[3,p[1,]==5] < x))

plot(ps,ps,type="l",
     xlab = "p rejecting if H_0 true",
     ylab = "p rejecting if H_a true",log="xy")
points(m1,m1a,col=4)
points(m2,m2a,col=2)

legend(0.01,0.001,c("400-400","400-100-100-100-100"),pch=c(1,1),col=c(2,4))

title("comparing H_0:p=0.5 \n with H_a:p=0.6")

ทำไมมันส่งผลกระทบต่อพลังงาน

ฉันเชื่อว่ากุญแจของปัญหาคือความแตกต่างของค่าผลลัพธ์ที่ได้รับเลือกให้เป็น "สำคัญ" สถานการณ์เป็นบุคคลที่เปิดเผยห้าคนที่ถูกดึงออกมาจาก 5 กลุ่มขนาด 400, 100, 100, 100 และ 100 การเลือกที่แตกต่างกันสามารถทำได้ซึ่งถือเป็น 'สุดขีด' เห็นได้ชัดว่ากำลังเพิ่มขึ้น (แม้ว่าข้อผิดพลาดประเภท I ที่มีประสิทธิภาพจะเหมือนกัน) เมื่อเราใช้กลยุทธ์ที่สอง

ถ้าเราจะร่างความแตกต่างระหว่างกลยุทธ์แรกและกลยุทธ์ที่สองแบบกราฟิก จากนั้นฉันจินตนาการถึงระบบพิกัดที่มี 5 แกน (สำหรับกลุ่ม 400 100 100 100 และ 100) โดยมีจุดสำหรับค่าสมมติฐานและพื้นผิวที่แสดงระยะห่างของการเบี่ยงเบนซึ่งความน่าจะเป็นต่ำกว่าระดับที่แน่นอน ด้วยกลยุทธ์แรกพื้นผิวนี้เป็นทรงกระบอกด้วยกลยุทธ์ที่สองพื้นผิวนี้เป็นทรงกลม เช่นเดียวกับค่าที่แท้จริงและพื้นผิวรอบ ๆ สำหรับข้อผิดพลาด สิ่งที่เราต้องการคือการทับซ้อนที่จะเล็กที่สุด

เราสามารถสร้างกราฟิกที่เกิดขึ้นจริงเมื่อเราพิจารณาปัญหาที่แตกต่างกันเล็กน้อย (ด้วยมิติที่ต่ำกว่า)

ลองนึกภาพเราต้องการทดสอบกระบวนการ Bernoulli H0:p=0.5โดยทำการทดลอง 1,000 ครั้ง จากนั้นเราสามารถทำกลยุทธ์เดียวกันโดยแบ่ง 1,000 ขึ้นเป็นกลุ่มออกเป็นสองกลุ่มขนาด 500 ลักษณะนี้เป็นอย่างไร (ให้ X และ Y เป็นจำนวนในทั้งสองกลุ่ม)

ตัวอย่างของกลไก

พล็อตแสดงวิธีกระจายกลุ่ม 500 และ 500 (แทนที่จะเป็นกลุ่มเดียว 1,000)

การทดสอบสมมติฐานมาตรฐานจะประเมิน (สำหรับระดับอัลฟา 95%) ว่าผลรวมของ X และ Y มากกว่า 531 หรือเล็กกว่า 469

แต่สิ่งนี้รวมถึงการกระจาย X และ Y ที่ไม่เท่ากันอย่างไม่น่าเป็นไปได้

ลองนึกภาพการเปลี่ยนแปลงของการกระจายจาก H0 ถึง Ha. จากนั้นพื้นที่ในขอบไม่สำคัญมากนักและขอบเขตวงกลมที่มากขึ้นจะทำให้เกิดความรู้สึกมากขึ้น

อย่างไรก็ตามนี่ไม่ใช่ (จำเป็น) จริงเมื่อเราไม่เลือกการแบ่งกลุ่มแบบสุ่มและเมื่ออาจมีความหมายกับกลุ่ม


พยายามเรียกใช้รหัสของฉันสำหรับการประมาณค่าพลังงานเพียงแค่แทนที่ 0.0125 โดย 0.02 (เพื่อให้ตรงกับคำแนะนำของคุณที่มีค่าเฉลี่ยของ 8 กรณีที่เปิดเผย): การวิเคราะห์ 400 vs 400 มีพลัง 80% และการวิเคราะห์ด้วย 5 กลุ่มมีพลัง 90%
Elvis

อย่างไรก็ตามฉันยอมรับว่าสถิติสามารถใช้ค่าที่แตกต่างกันน้อยลงในสถานการณ์แรกและมันก็ไม่ได้ช่วยอะไร อย่างไรก็ตามสิ่งนี้ไม่เพียงพอที่จะอธิบายปัญหา: ข้อผิดพลาดที่เหนือกว่าของพลังงานนี้สามารถสังเกตได้สำหรับข้อผิดพลาดทุกประเภทในระดับ I ไม่ใช่แค่ 0.05 ควอนไทล์ของค่า p ที่ได้รับจากกลยุทธ์ที่สองนั้นต่ำกว่าค่าที่ได้รับจากกลยุทธ์แรกเสมอ
Elvis

ฉันคิดว่าฉันเห็นด้วยกับสิ่งที่คุณพูด แต่ข้อสรุปคืออะไร? คุณจะแนะนำให้แบ่งกลุ่มคดีแบบสุ่มในกลุ่มย่อย 4 กลุ่มเพื่อเพิ่มพลังบ้างหรือไม่? หรือคุณเห็นด้วยกับฉันว่าสิ่งนี้ไม่เป็นธรรม?
Elvis

ฉันคิดว่าปัญหาไม่ใช่ว่าการทดสอบกับเคสแยกเป็น 4 กลุ่มย่อยอาจมีคุณสมบัติไม่ดี - เราทั้งคู่เห็นด้วยกับความจริงที่ว่าอัตราความผิดพลาดประเภทที่ 1 ของฉันควรจะทำงานได้ดี ฉันคิดว่าปัญหาคือการทดสอบกับตัวควบคุม 400 ตัวเทียบกับ 400 รายนั้นไม่ได้ผล มีวิธี "สะอาด" นี้หรือไม่ bootstrap p-value ช่วยได้ไหม
Elvis

(ฉันขอโทษที่คำถามของฉันยังไม่ชัดเจน!)
Elvis
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.