เปรียบเทียบสองอัลกอริทึมทางพันธุกรรม


9

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

ฉันยังต้องการแสดงให้เห็นว่าไม่มีความแตกต่างด้านประสิทธิภาพที่สำคัญ

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

ฉันควรใช้การทดสอบแบบไหน วิธีง่าย ๆ น่าจะเป็นการเปรียบเทียบข้อผิดพลาดในรุ่นสุดท้าย (อีกครั้งฉันจะใช้แบบทดสอบแบบใด) แต่ก็อาจคิดเปรียบเทียบพฤติกรรมการคอนเวอร์เจนซ์โดยทั่วไป


เช่นเดียวกับการชี้แจง: มันเป็นกรณีที่อัลกอริทึมทางพันธุกรรมค้นหาวิธีการแก้ปัญหาแบบสุ่มหรือไม่เพื่อให้ส่วนเริ่มต้นของการทำงานใด ๆ ไม่น่าจะสร้างโซลูชันที่คุ้มค่า นอกจากนี้คุณหมายถึงอะไรโดย "ข้อผิดพลาดขั้นต่ำในประชากร"? หากคุณหมายถึงความแตกต่างขั้นต่ำระหว่างค่าจริงที่ทราบและวิธีแก้ปัญหาใด ๆ จากค่า 1,000 ค่าในการรันนั่นไม่ได้บ่งบอกถึงความเอนเอียงของผลการทดสอบ ในทางปฏิบัติแล้วคุณจะยอมรับคำตอบสุดท้ายในการวิ่งแต่ละครั้งและปฏิเสธทุกสิ่งที่นำหน้ามันใช่ไหม?
whuber

โดยทั่วไปแล้วฉันหมายถึง 1 / สมรรถภาพดังนั้นฉันกำลังพูดถึงคุณค่าของบุคคลที่ดีที่สุดในรุ่น ฉันบันทึกค่าออกกำลังกายของบุคคลที่ดีที่สุดสำหรับทุกรุ่น ดังนั้นฉันจึงมี 1,000 * 20 * 2 หมายเลขแต่ละหมายเลขสอดคล้องกับ "ความเหมาะสม" ของบุคคลที่ดีที่สุดในรุ่นเฉพาะของการวิ่งเฉพาะ
nisc

ผมคิดว่าคำถามแรกถูกไม่ดีถูกวาง, ฉันได้เพิ่มการชี้แจงบาง ..
NISC

คำตอบ:


9

การทดสอบอัลกอริธึมแบบสุ่มค่อนข้างยุ่งยาก!

ฉันทำงานในระบบชีววิทยาและมีเครื่องจำลองแบบสุ่มจำนวนมากเพื่อใช้ในการจำลองแบบ การทดสอบเครื่องจำลองเหล่านี้มีความยุ่งยากเนื่องจากการรับรู้สองแบบจากแบบจำลองเดียวจะแตกต่างกัน

ในdsmtsเราได้คำนวณ (วิเคราะห์) มูลค่าที่คาดหวังและความแปรปรวนของรูปแบบเฉพาะ จากนั้นเราทำการทดสอบสมมติฐานเพื่อตรวจสอบว่าเครื่องจำลองแตกต่างจากความจริงหรือไม่ มาตรา 3 แห่งUserGuideให้รายละเอียด โดยพื้นฐานแล้วเราทำการทดสอบแบบ t สำหรับค่าเฉลี่ยและการทดสอบไคสแควร์สำหรับความแปรปรวน

ในกรณีของคุณคุณกำลังเปรียบเทียบตัวจำลองสองตัวดังนั้นคุณควรใช้การทดสอบแบบสองตัวอย่างแทน


ฉันจะใช้ข้อมูลจากทุกรุ่นได้อย่างไร
nisc

วิธีที่ง่ายที่สุดคือทำการทดสอบหลาย ๆ ครั้งเช่นการทดสอบในทุกรุ่นจากนั้นใช้การแก้ไข Bonferroni หรือ fdr
csgillespie

เมื่อเปรียบเทียบกับทุกรุ่นฉันจะต้องทดสอบที่ระดับนัยสำคัญ 1/1000 * 0.05 หรือไม่ มันไม่รุนแรงเหรอ?
nisc

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

1
แทนที่จะใช้การแก้ไข bonferroni คุณสามารถใช้ holferroni อันทรงพลังมากขึ้นได้เสมอ ดู anyswer ของฉันที่นี่: stats.stackexchange.com/questions/575/…
Henrik

4

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

อัปเดต รายละเอียดที่เกี่ยวข้อง - คุณลักษณะใดของซีรี่ส์เวลาที่คุณสนใจนอกเหนือจากข้อผิดพลาดสุดท้าย? ฉันเดาว่าคุณมีคำถามสามข้อที่แตกต่างกันเพื่อแก้ปัญหา:

  1. อะไรที่มีความคล้ายคลึงกันสำหรับคุณเช่นคุณหมายถึงอะไรเมื่อคุณพูดว่าคุณไม่เชื่อว่าทั้งสองวิธีนั้นแตกต่างกันอย่างไร
  2. คุณคำนวณปริมาณอย่างไร - สามารถตอบได้หลังจาก 1 และ
  3. คุณจะทดสอบความแตกต่างที่สำคัญระหว่างสองวิธีได้อย่างไร

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


ฟังดูสมเหตุสมผลรายละเอียดเพิ่มเติม?
nisc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.