การทดสอบทวินามสองตัวอย่างในสัดส่วนที่แน่นอนใน R (และค่า p แปลก ๆ )


23

ฉันพยายามที่จะแก้ปัญหาคำถามต่อไปนี้:

ผู้เล่น A ชนะ 17 จาก 25 เกมในขณะที่ผู้เล่น B ชนะ 8 จาก 20 - มีความแตกต่างอย่างมีนัยสำคัญระหว่างอัตราส่วนทั้งสองหรือไม่?

สิ่งที่ต้องทำใน R ที่อยู่ในใจคือต่อไปนี้:

> prop.test(c(17,8),c(25,20),correct=FALSE)

    2-sample test for equality of proportions without continuity correction

data:  c(17, 8) out of c(25, 20)
X-squared = 3.528, df = 1, p-value = 0.06034
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.002016956  0.562016956
sample estimates:
prop 1 prop 2 
  0.68   0.40 

ดังนั้นการทดสอบนี้บอกว่าความแตกต่างไม่สำคัญที่ระดับความเชื่อมั่น 95%

เพราะเรารู้ว่าprop.test()ใช้การประมาณเท่านั้นฉันต้องการทำให้สิ่งที่แน่นอนมากขึ้นโดยใช้การทดสอบทวินามที่แน่นอน - และฉันทำมันทั้งสองวิธี:

> binom.test(x=17,n=25,p=8/20)

    Exact binomial test

data:  17 and 25
number of successes = 17, number of trials = 25, p-value = 0.006693
alternative hypothesis: true probability of success is not equal to 0.4
95 percent confidence interval:
 0.4649993 0.8505046
sample estimates:
probability of success 
                  0.68 

> binom.test(x=8,n=20,p=17/25)

    Exact binomial test

data:  8 and 20
number of successes = 8, number of trials = 20, p-value = 0.01377
alternative hypothesis: true probability of success is not equal to 0.68
95 percent confidence interval:
 0.1911901 0.6394574
sample estimates:
probability of success 
                   0.4 

ตอนนี้มันแปลกใช่ไหม? ค่า p จะแตกต่างกันโดยสิ้นเชิงในแต่ละครั้ง! ในทั้งสองกรณีตอนนี้ผลลัพธ์มีความสำคัญ (สูง) แต่ค่า p-ดูเหมือนจะกระโดดไปรอบ ๆ ค่อนข้างส่งเดช

คำถามของฉัน

  1. ทำไมค่า p ที่แตกต่างกันในแต่ละครั้ง
  2. วิธีดำเนินการทดสอบทวินามสองส่วนที่แน่นอนใน R อย่างถูกต้อง

3
แม้ว่าฟังก์ชั่น R จะแตกต่างกัน ( prop.testvs chisq.test) แนวคิดพื้นฐานที่เหมือนกันอยู่ในคำถามนี้ คุณใช้การทดสอบสามแบบที่แตกต่างกันโดยมี "สมมติฐานว่าง" ที่แตกต่างกันในแต่ละตัวอย่างของคุณ
เลียนแบบ

คำตอบ:


26

หากคุณกำลังมองหาการทดสอบ 'แน่นอน' สองสัดส่วนทวินามผมเชื่อว่าคุณกำลังมองหาการทดสอบที่แน่นอนฟิชเชอร์ ใน R มันถูกใช้เช่น:

> fisher.test(matrix(c(17, 25-17, 8, 20-8), ncol=2))
    Fisher's Exact Test for Count Data
data:  matrix(c(17, 25 - 17, 8, 20 - 8), ncol = 2)
p-value = 0.07671
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
  0.7990888 13.0020065
sample estimates:
odds ratio 
  3.101466 

fisher.testฟังก์ชั่นรับวัตถุเมทริกซ์ของ 'ความสำเร็จ' และ 'ล้มเหลว' สองสัดส่วนทวินาม อย่างไรก็ตามอย่างที่คุณเห็นสมมุติฐานสองด้านยังคงไม่สำคัญขอโทษที่จะพูด อย่างไรก็ตามการทดสอบที่แน่นอนของฟิชเชอร์โดยทั่วไปแล้วจะใช้เฉพาะเมื่อจำนวนเซลล์ต่ำ (โดยทั่วไปหมายถึง 5 หรือน้อยกว่า แต่บางคนบอกว่า 10) ดังนั้นการใช้งานครั้งแรกของคุณprop.testจะเหมาะสมกว่า

เกี่ยวกับbinom.testสายของคุณคุณเข้าใจผิดสาย เมื่อคุณเรียกbinom.test(x=17,n=25,p=8/20)คุณกำลังทดสอบว่าสัดส่วนที่มีนัยสำคัญที่แตกต่างจากประชากรที่มีความน่าจะเป็นของความสำเร็จคือ 8/20 ในทำนองเดียวกันกับbinom.test(x=8,n=20,p=17/25)กล่าวว่าน่าจะเป็นของความสำเร็จคือ 17/25ซึ่งเป็นเหตุผลเหล่านี้ P-ค่าแตกต่างกัน ดังนั้นคุณไม่ได้เปรียบเทียบทั้งสองสัดส่วนเลย


2
ขอบคุณฉันยอมรับคำตอบของคุณ เมื่อคุณพูดว่า prop.test "เหมาะสมกว่า" คุณหมายถึงอะไรกันแน่? ผลลัพธ์ที่แน่นอนมากขึ้นคือ (ตามตัวอักษร) ที่กำหนดโดยการทดสอบที่แน่นอนของฟิชเชอร์ใช่ไหม?
vonjd

4
นี่คือสิ่งที่ถกเถียงกันในหมู่นักสถิติและฉันไม่มีคำตอบที่แน่นอน ในอดีตคุณหลีกเลี่ยงการใช้ฟิชเชอร์เพราะมันมีความซับซ้อนในการคำนวณมาก อย่างไรก็ตามโดยทั่วไปการทดสอบที่แน่นอนของฟิชเชอร์นั้นค่อนข้างอนุรักษ์นิยมและหากตัวเลขของคุณมีขนาดใหญ่เพียงพอสถิติไคสแควร์ (ซึ่งเป็นสิ่งที่prop.testคำนวณได้) มีแนวโน้มที่จะไม่ยอมรับข้อผิดพลาดประเภท II
cdeterman

จุดสำคัญสำหรับฉันคือความหมายที่แตกต่างกันของprop.testและfisher.test: อดีตเรียกว่าprop.test(matrix(c(17, 8, 25, 20), ncol=2))(ให้จำนวนความสำเร็จในคอลัมน์แรกและจำนวนการทดลองในคอลัมน์ที่สอง) ในขณะที่หลังเรียกว่าชอบfisher.test(matrix(c(17, 25-17, 8, 20-8), ncol=2))(ให้จำนวนของความสำเร็จ และความล้มเหลว ); สำหรับการfisher.testขนย้ายดูเหมือนจะไม่เปลี่ยนผลลัพธ์เช่นกัน
krlmlr

ทางเลือกที่ทรงพลังยิ่งกว่านั้นยังมีให้สำหรับการทดสอบ 2x2 - en.wikipedia.org/wiki/Barnard%27s_test
Hamy

4

มีความแตกต่างระหว่างสองตัวอย่างและตัวอย่างเมื่อเปรียบเทียบกับสมมติฐานที่รู้จัก ดังนั้นหากใครบางคนโยนเหรียญ 100 ครั้งและได้รับหัว 55 ครั้งและสมมุติฐานเป็นเหรียญที่ยุติธรรมเมื่อเทียบกับคนสองคนกำลังโยนเหรียญที่ไม่รู้จักความเป็นธรรมและคนหนึ่งได้รับเหรียญ 55 ครั้งและอีก 45 ครั้ง ในกรณีก่อนหน้านี้คุณเพียงแค่พยายามระบุว่าฟลิปเปอร์ดูเหมือนจะพลิกเหรียญที่ยุติธรรมหรือไม่ ในตอนหลังคุณต้องการดูว่าพวกเขาพลิกเหรียญที่มีความยุติธรรมเท่ากันหรือไม่ คุณสามารถดูว่าคุณกำลังดูผู้เล่นแต่ละคนกับความน่าจะเป็นที่รู้จัก (45 กับ 50 และ 55 กับ 50) แตกต่างจากการเปรียบเทียบกับผู้เล่นแต่ละคน (45 กับ 55) อย่างไร


2

ไวยากรณ์ของbinom.testเป็นความสำเร็จของคุณภายในจำนวนของการทดลองเมื่อเทียบกับประชากรประมาณการจุด แม้ว่าคุณจะป้อนเป็น p = 8/20 การคำนวณก็เหมือนกับว่ามันเป็นความจริงสัมบูรณ์ที่ได้รับจากพระเจ้าโดยมีค่าความแปรปรวนรอบตัวเป็นศูนย์ หรือมันเหมือนกับว่าคุณกำลังเปรียบเทียบผู้เล่น A 17 คนที่ชนะจาก 25 คนกับผู้เล่น B ที่สมมุติว่า 8 พันล้านคนชนะจาก 20 พันล้านเกม อย่างไรก็ตามprop.testเปรียบเทียบสัดส่วน 17/25 กับความแปรปรวนทั้งหมดที่อาจเกิดขึ้นกับสัดส่วน 8/20 กับความแปรปรวนทั้งหมดของตัวเอง กล่าวอีกนัยหนึ่งความแปรปรวนรอบ 0.7 (ค่าประมาณ 17/25) และค่าความแปรปรวนประมาณ 0.4 อาจมีเลือดออกด้วยกันโดยมีผลลัพธ์เป็น p = 0.06


นี่ก็หมายความว่าวิธีที่ถูกต้องในการแก้ปัญหาเดิมคือprop.test(c(17,8),c(25,20),correct=FALSE)ใช่มั้ย
vonjd

1
ใช่ถูกต้องแล้ว หากคุณต้องการคำแนะนำเกี่ยวกับว่าคุณควรมีcorrect = FALSEvs หรือไม่correct = TRUEฉันขอแนะนำให้คุณอ่านstats.stackexchange.com/questions/185433/…
Farrel

2

อันดับแรกฉันขอแนะนำให้คุณต้องการแก้ไขความต่อเนื่องเนื่องจากคุณประเมินการกระจายแบบไม่ต่อเนื่องที่มีการแจกแจงแบบต่อเนื่อง (ไคสแควร์)

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

ในกรณีที่สองการทดสอบไคสแควร์ (หรือสิ่งเดียวกันการทดสอบ z ของความแตกต่างในสัดส่วน) มีความเหมาะสม แต่ในกรณีเดิมมันไม่ได้ ในกรณีแรกคุณจำเป็นต้องคำนวณผลลัพธ์ที่แน่นอนของผลลัพธ์ทวินามที่เป็นไปได้สำหรับผู้เล่นแต่ละคนและรวมความน่าจะเป็นเหล่านี้สำหรับเหตุการณ์ทั้งหมดที่มีค่าเท่ากับหรือน้อยกว่าความน่าจะเป็นทวินามร่วมของผลลัพธ์ที่สังเกตได้ ผลิตภัณฑ์ของ 2 binomials เพราะผลลัพธ์ของผู้เล่นแต่ละคนนั้นไม่ขึ้นอยู่กับผลลัพธ์ของผู้เล่นคนอื่น)

รับรู้ก่อนว่าจุดประสงค์หลักของการทดสอบสมมติฐานใด ๆ คือการคำนวณว่าผลลัพธ์ที่คุณสังเกตเห็นนั้นหายากหรือผิดปกติอย่างไรเมื่อเปรียบเทียบกับผลลัพธ์ที่เป็นไปได้อื่น ๆ ทั้งหมด สิ่งนี้คำนวณโดยการคำนวณความน่าจะเป็นของผลลัพธ์ที่คุณได้สังเกต - เนื่องจากสมมติฐานว่าสมมติฐานว่างเป็นจริง - รวมกับผลลัพธ์ที่เป็นไปได้อื่น ๆ ที่มีความน่าจะเป็นเท่ากับหรือต่ำกว่า

ตอนนี้มันก็ย้ำว่าสิ่งที่เราหมายถึงโดย "วิธีที่หายาก" คือ "ความน่าจะเป็นในการสังเกตผลที่ได้ต่ำเมื่อเทียบกับผลลัพธ์ที่เป็นไปได้อื่น ๆ " ความน่าจะเป็นของผลลัพธ์เฉพาะที่เราสังเกตคือ 0.0679 * 0.0793 = 0.005115 พิจารณาผลลัพธ์อื่นโดยเฉพาะ: เป็นไปได้อย่างแน่นอนว่าผู้เล่น A สามารถชนะ 7 ใน 20 เกมของเขาและผู้เล่น B สามารถชนะ 13 จาก 25 เกมของเขา ความน่าจะเป็นของผลลัพธ์นี้คือ 0.004959 โปรดทราบว่านี่คือ LOWER มากกว่าความน่าจะเป็นของผลลัพธ์ที่เราสังเกตดังนั้นควรรวมอยู่ในค่า p แต่ดูอีกครั้ง: หากคุณกำลังตัดสินใจว่าผลลัพธ์ใดที่จะรวมไว้ในผลรวมของคุณโดยพิจารณาว่าความแตกต่างในสัดส่วนเกินกว่าความแตกต่างของสัดส่วนในผลลัพธ์ที่เราสังเกตได้หรือไม่ความน่าจะเป็นนี้จะถูกแยกออก! ทำไม? เนื่องจากความแตกต่างของสัดส่วนสำหรับผลลัพธ์เฉพาะนี้น้อยกว่าความแตกต่างของสัดส่วนสำหรับผลลัพธ์ที่เราสังเกต แต่นี่ไม่ใช่จุดเน้นที่เหมาะสม - เราต้องคำนึงถึงความน่าจะเป็นของผลลัพธ์เฉพาะนี้และไม่ว่ามันจะเท่ากับหรือน้อยกว่าความน่าจะเป็นของผลลัพธ์ที่เราสังเกต!

คำอธิบายอย่างเป็นทางการที่ดีของสิ่งนี้สามารถพบได้ที่นี่:

http://data.princeton.edu/wws509/notes/c5.pdf

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


รหัส R ที่คำนวณผลรวมของความน่าจะเป็นทวินามร่วมทุนที่มีความน่าจะเป็นที่เท่ากันหรือต่ำกว่าที่เกิดขึ้นเมื่อเทียบกับความน่าจะเป็นของผลที่สังเกตให้ดูคำตอบโพสต์ที่เกี่ยวข้องต่อไปนี้: stats.stackexchange.com/questions/213295/...
221943
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.