สิ่งที่สองที่ดูเหมือนว่ามันเป็นประมาณเพื่อการคำนวณที่ถูกใช้สำหรับx+y < 20
กรณี แต่ตามออกประมาณสเตอร์ลิง
โดยปกติเมื่อมันถูกใช้สำหรับการประมาณแบบนี้ผู้คนจะใช้คำเพิ่มเติมเพิ่มเติมอย่างน้อย (ปัจจัยของในการประมาณค่าสำหรับ ) ซึ่งจะปรับปรุงการประมาณสัมพัทธ์อย่างมากสำหรับขนาดเล็ก.2πn−−−√n!n
ตัวอย่างเช่นถ้าและทั้ง 10 การคำนวณครั้งแรกให้ประมาณ 0.088 ในขณะที่การประมาณเมื่อปัจจัยของรวมอยู่ในเงื่อนไขทั้งหมดประมาณ 0.089 ใกล้เพียงพอสำหรับจุดประสงค์ส่วนใหญ่ ... แต่การละเว้นคำนั้นในการประมาณจะให้ 0.5 - ซึ่งไม่ใกล้พอจริง ๆ ! ผู้เขียนของฟังก์ชั่นนั้นอย่างชัดเจนไม่ได้ใส่ใจที่จะตรวจสอบความถูกต้องของการประมาณค่าของเขาในกรณีขอบเขตxy2πn−−−√
เพื่อจุดประสงค์นี้ผู้เขียนอาจเรียกง่ายๆว่าlgamma
ฟังก์ชั่นบิวด์อินโดยเฉพาะโดยใช้สิ่งนี้แทนสิ่งที่เขามีเพื่อlog_p1
:
log_p1 <- lgamma(x+y+1)-lgamma(x+1)-lgamma(y+1)-(x+y+1)*log(2)
ซึ่งส่งผลให้คำตอบที่เขาพยายามประมาณ (เนื่องจากlgamma(x+1)
จริง ๆ แล้วคืนสิ่งที่เขาพยายามที่จะประมาณ - ไม่ดี - ผ่านการประมาณ Stirling)log(x!)
ในทำนองเดียวกันฉันไม่แน่ใจว่าทำไมผู้เขียนไม่ได้ใช้choose
ฟังก์ชั่นในตัวในส่วนแรกฟังก์ชั่นที่มาในการกระจายมาตรฐานของอาร์สำหรับเรื่องนั้นฟังก์ชั่นการกระจายที่เกี่ยวข้องอาจมีอยู่ในตัวด้วย
คุณไม่จำเป็นต้องแยกเป็นสองกรณีจริงๆ lgamma
หนึ่งทำงานลงเพียงแค่ปรับสิทธิที่จะได้ค่าที่เล็กที่สุด ในทางกลับกันchoose
ฟังก์ชั่นใช้งานได้กับค่าที่ค่อนข้างใหญ่ (เช่นใช้choose(1000,500)
งานได้ดี) ปลอดภัยมากขึ้นตัวเลือกที่น่าจะเป็นlgamma
แต่คุณจะต้องมีขนาดค่อนข้างใหญ่และก่อนที่มันจะเป็นปัญหาxy
หากมีข้อมูลเพิ่มเติมควรระบุแหล่งที่มาของการทดสอบ ฉันเดาว่านักเขียนนำมันมาจากที่ไหนสักแห่งดังนั้นมันควรจะเป็นไปได้ที่จะติดตามมัน คุณมีบริบทสำหรับสิ่งนี้หรือไม่?
เมื่อคุณพูดว่า 'เพิ่มประสิทธิภาพ' คุณหมายถึงทำให้เร็วขึ้นสั้นลงบำรุงรักษาได้มากขึ้นหรืออย่างอื่น
แก้ไขหลังจากอ่านกระดาษอย่างรวดเร็ว:
ผู้เขียนดูเหมือนจะผิดในหลายจุด การทดสอบที่แน่นอนของฟิชเชอร์ไม่ได้คาดว่าระยะขอบจะคงที่ แต่เป็นเงื่อนไขกับพวกมันซึ่งไม่ใช่สิ่งเดียวกันเลยตามที่กล่าวไว้ตัวอย่างเช่นที่นี่ด้วยการอ้างอิง ที่จริงแล้วพวกเขาดูเหมือนจะเพิกเฉยต่อการถกเถียงเรื่องการกำหนดขอบเขตและทำไมมันถึงเกิดขึ้น ลิงก์มีมูลค่าการอ่าน
[พวกเขาดำเนินการต่อจาก 'การทดสอบฟิชเชอร์อยู่เสมออนุรักษ์นิยมมากขึ้นว่าเรา' เพื่อยืนยันว่าการทดสอบฟิชเชอร์เป็นอนุรักษ์นิยมเกินไป ... ซึ่งไม่จำเป็นต้องทำตามเว้นแต่จะเป็นสิ่งที่ผิดเงื่อนไข พวกเขาต้องสร้างมันขึ้นมา แต่เนื่องจากนักสถิติบางคนโต้เถียงกันมาประมาณ 80 ปีแล้วและผู้เขียนเหล่านี้ดูเหมือนจะไม่รู้ว่าทำไมการปรับสภาพผมจึงไม่คิดว่าพวกเขาจะต้องอยู่ด้านล่างสุดของปัญหานั้น .]
อย่างน้อยผู้เขียนบทความก็ดูเหมือนจะเข้าใจว่าความน่าจะเป็นที่พวกเขาให้ต้องถูกสะสมเพื่อให้ค่า p; ตัวอย่างเช่นใกล้กึ่งกลางของคอลัมน์แรกของหน้า 5 (การเน้นของฉัน):
นัยสำคัญทางสถิติตามการทดสอบที่แม่นยำของฟิชเชอร์สำหรับผลดังกล่าวคือ 4.6% (ค่า P สองหางกล่าวคือความน่าจะเป็นสำหรับตารางดังกล่าวที่จะเกิดขึ้นในสมมติฐานที่ความถี่ actin EST เป็นอิสระจากห้องสมุด cDNA) ในการเปรียบเทียบค่า P- คำนวณจากรูปแบบสะสม
(สมการที่ 9 ดูวิธีการ) ของสมการที่ 2 (เช่นสำหรับความถี่สัมพัทธ์ของ actin ESTs จะเท่ากันในห้องสมุดทั้งสองเนื่องจากอย่างน้อย 11 cognate ESTs ใน ห้องสมุดตับหลังจากที่ทั้งสองถูกพบในห้องสมุดสมอง) คือ 1.6%
(แม้ว่าฉันไม่แน่ใจว่าฉันเห็นด้วยกับการคำนวณค่าของพวกเขาที่นั่นฉันต้องตรวจสอบอย่างรอบคอบเพื่อดูว่าพวกเขากำลังทำอะไรกับหางอีกอัน)
ฉันไม่คิดว่าโปรแกรมทำเช่นนั้น
อย่างไรก็ตามระวังว่าการวิเคราะห์ของพวกเขาไม่ใช่การทดสอบทวินามมาตรฐาน พวกเขาใช้อาร์กิวเมนต์ Bayesian เพื่อรับค่า p ในการทดสอบเป็นประจำ พวกเขายังดูเหมือน - ค่อนข้างแปลกใจของฉัน - เงื่อนไขในมากกว่า y ที่ ซึ่งหมายความว่าพวกเขาจะต้องจบลงด้วยบางสิ่งบางอย่างเช่นลบทวินามแทนที่จะเป็นทวินาม แต่ฉันพบว่ากระดาษมีการจัดระเบียบอย่างไม่ดีและอธิบายได้แย่มาก (และฉันคุ้นเคยกับสิ่งที่เกิดขึ้นในเอกสารสถิติ) ดังนั้นฉันจึง จะไม่มั่นใจถ้าฉันผ่านไปอย่างระมัดระวังxx+y
ฉันไม่เชื่อด้วยซ้ำว่าผลรวมของความน่าจะเป็นที่ 1 ณ จุดนี้
มีอะไรอีกมากมายที่จะพูดที่นี่ แต่คำถามไม่ได้เกี่ยวกับกระดาษมันเกี่ยวกับการใช้งานในโปรแกรม
-
อย่างไรก็ตามผลที่สุดก็คืออย่างน้อยกระดาษอย่างถูกต้องระบุว่าค่า P-ประกอบด้วยผลรวมของความน่าจะเป็นเช่นเดียวกับที่ในสมการ 2 แต่โปรแกรมไม่ได้ (ดู eqn 9a และ 9b ในส่วนวิธีการของกระดาษ)
รหัสนั้นผิดปกติ
[คุณสามารถใช้pbinom
เนื่องจากความเห็นของ @ whuber จะบ่งบอกถึงการคำนวณความน่าจะเป็นของแต่ละบุคคล (แต่ไม่ใช่หางเนื่องจากมันไม่ใช่การทดสอบแบบทวินามในขณะที่มันจัดโครงสร้าง) แต่แล้วก็มี 1/2 ปัจจัยพิเศษในสมการที่ 2 ดังนั้น หากคุณต้องการทำซ้ำผลลัพธ์ในกระดาษคุณต้องแก้ไข]
คุณสามารถรับมันได้ด้วยการเล่นซอจากpnbinom
-
รูปแบบปกติของการลบทวินามมีทั้งจำนวนของการทดลองเพื่อที่สำเร็จหรือจำนวนของความล้มเหลวกับความสำเร็จ ทั้งสองมีความเท่าเทียมกัน วิกิพีเดียช่วยให้รูปแบบที่สองที่นี่ ฟังก์ชันความน่าจะเป็นคือ:kthkth
(k+r−1k)⋅(1−p)rpk,
สมการ 2 P4 (และอื่น ๆ นอกจากนี้ยังมีสมการที่ 1 p3) เป็นทวินามลบ แต่ขยับโดย 1. Let ,และ 1p=N1/(N1+N2)k=xr=y+1
สิ่งนี้ทำให้ฉันกังวลว่าเนื่องจากข้อ จำกัด ของไม่ได้เปลี่ยนไปในทำนองเดียวกันความน่าจะเป็นของพวกเขาอาจไม่เพิ่มแม้แต่ 1y
นั่นจะไม่ดี
p2
เลย ขนาดเล็กp1
และp2
สอดคล้องกับขนาดเล็กx
และy
ตามลำดับ - นั่นคือความไร้ประสิทธิภาพ ข้อผิดพลาดที่เป็นไปได้ที่สาขาที่สองของเงื่อนไขล้มเหลวในการคำนวณที่ทั้งหมดและใช้เพียงp2
p1
ฉันยังสงสัยว่ารหัสอาจผิดพลาดทั้งหมดเพราะมันไม่ได้คำนวณค่า p: มันเป็นเพียงครึ่งหนึ่งของความน่าจะเป็นทวินามและบางทีน่าจะเป็นความน่าจะเป็นหาง ทำไมไม่ใช้เพียงpbinom
/dbinom
และทำได้ด้วย?