การประมาณค่าความแปรปรวนในการตรวจสอบความถูกต้องข้ามของ k-fold


27

การตรวจสอบความถูกต้องไขว้ของ K-fold สามารถใช้เพื่อประเมินความสามารถในการวางนัยทั่วไปของลักษณนามที่กำหนด ฉันสามารถ (หรือฉันควร) คำนวณความแปรปรวนแบบพูลจากการตรวจสอบความถูกต้องทั้งหมดเพื่อให้ได้การประมาณความแปรปรวนที่ดีขึ้นหรือไม่

ถ้าไม่ทำไม

ฉันได้พบเอกสารที่จะใช้ค่าเบี่ยงเบนมาตรฐาน pooled ข้ามการตรวจสอบข้ามวิ่ง ฉันยังได้พบเอกสารระบุชัดเจนมีไม่มีประมาณการสากลสำหรับการตรวจสอบความแปรปรวน อย่างไรก็ตามฉันยังพบเอกสารที่แสดงตัวประมาณค่าความแปรปรวนบางอย่างสำหรับข้อผิดพลาดทั่วไป (ฉันยังคงอ่านและพยายามเข้าใจสิ่งนี้) ผู้คนทำอะไร (หรือรายงาน) ในทางปฏิบัติจริง ๆ ?

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


คุณคำนวณความแปรปรวนโดยพิจารณาจากสองวิธีที่เป็นไปได้เพื่อดูว่ามันแตกต่างกันมากหรือไม่
zeferino

ใช่ฉันทำ. ในการทดลองบางอย่างมีการเปลี่ยนแปลงเกี่ยวกับลำดับความสำคัญระหว่างความแปรปรวนและความแปรปรวนพูสำหรับตัวอย่างการฝึกอบรม ตัวอย่างการตรวจสอบมีความแตกต่างไม่มาก การเปลี่ยนแปลงครั้งใหญ่ดูเหมือนจะเกี่ยวข้องกับโมเดลที่มีความแม่นยำน้อยกว่า
Cesar

1
@ Cesar: การสังเกตที่ดี: โมเดลของคุณไม่เสถียรมาก (ความแปรปรวนสูงระหว่างการทำซ้ำ) ในการจัดหมวดหมู่ (เว้นแต่ลักษณนามแย่กว่าการคาดเดา) การคาดคะเนที่ไม่แน่นอนจะนำไปสู่การทำนายผิด ตัวอย่างความคิดสำหรับสิ่งนั้นคือความเบี่ยงเบนจากการทำนายที่ถูกต้องมักจะเป็นไปในทิศทางที่ "ผิด" ไม่สูงเกินไปซึ่งจะยกเลิกด้วยค่าที่ต่ำเกินไป
cbeleites รองรับโมนิก้า

1
@cbeleites: มันจะไม่ถูกคาดหวังค่อนข้างจะแล้วเนื่องจากการเปลี่ยนแปลงความแปรปรวนขนาดใหญ่ส่วนใหญ่เกิดขึ้นกับรุ่นที่มีอัตราความผิดพลาดสูงขึ้น? โดยวิธีการที่ดีในการปรับปรุงคำตอบของคุณ ฉันยังคงต้องอ่านมันอย่างระมัดระวังมากขึ้น แต่ฉันซาบซึ้งมาก ขอบคุณ
Cesar

1
@Cesar: ขอบคุณ แน่ใจว่าเป็นที่คาดหวังวิธีที่แสดงให้เห็นน้อยกว่านั่นคือสูตรความแปรปรวนสำหรับสัดส่วน (ดูคำตอบของฉัน): ยิ่งอัตราความผิดพลาดที่แท้จริงยิ่งมากเท่าไรความแปรปรวนต่ำที่สุดความแปรปรวนสูงสุดจะอยู่ที่อัตราความผิดพลาด = 50%
cbeleites รองรับโมนิก้า

คำตอบ:


13

คำถามที่น่าสนใจมากฉันจะต้องอ่านเอกสารที่คุณให้ ... แต่บางทีนี่อาจจะทำให้เราได้รับคำตอบ:

ฉันมักจะจัดการกับปัญหานี้ในทางปฏิบัติ: ฉันวนซ้ำการตรวจสอบข้าม k-fold ด้วยการแยกแบบสุ่มใหม่และคำนวณประสิทธิภาพเช่นเดียวกับการทำซ้ำแต่ละครั้ง ตัวอย่างการทดสอบโดยรวมนั้นจะเหมือนกันสำหรับการวนซ้ำแต่ละครั้งและความแตกต่างนั้นมาจากการแยกข้อมูลที่แตกต่างกัน

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

หมายเหตุด้านข้าง: ฉันไม่สามารถใช้สูตรที่ต้องการขนาดตัวอย่างได้ เนื่องจากข้อมูลของฉันมีการจัดกลุ่มหรือลำดับชั้นในโครงสร้าง (การวัดที่คล้ายกัน แต่ไม่ซ้ำกันในกรณีเดียวกันหลายแห่งโดยปกติแล้ว [ร้อย] สถานที่ต่างกันของตัวอย่างเดียวกัน) ฉันไม่รู้ขนาดตัวอย่างที่มีประสิทธิภาพ

เปรียบเทียบกับ bootstrapping:

  • การวนซ้ำใช้การแยกแบบสุ่มใหม่

  • ความแตกต่างหลักคือการสุ่มใหม่ด้วย (bootstrap) หรือไม่มี (cv) แทน

  • ค่าใช้จ่ายในการคำนวณมีค่าเท่ากันเนื่องจากฉันเลือก no iterations ของ cvของ bootstrap iterations / k, นั่นคือการคำนวณจำนวนรวมทั้งหมดของแบบจำลองเดียวกัน

  • bootstrap มีข้อได้เปรียบเหนือ cv ในแง่ของคุณสมบัติทางสถิติบางอย่าง (ถูกต้องแบบ asymptotically, คุณอาจต้องทำซ้ำน้อยกว่าเพื่อให้ได้ค่าประมาณที่ดี)

  • อย่างไรก็ตามด้วย CV คุณมีข้อได้เปรียบที่คุณรับประกันได้

    • จำนวนตัวอย่างการฝึกอบรมที่แตกต่างกันจะเหมือนกันสำหรับทุกรุ่น (สำคัญหากคุณต้องการคำนวณเส้นโค้งการเรียนรู้)
    • ตัวอย่างแต่ละตัวอย่างจะถูกทดสอบเพียงครั้งเดียวในแต่ละรอบซ้ำ
  • วิธีการจำแนกบางประเภทจะยกเลิกตัวอย่างซ้ำดังนั้นการบูตเครื่องจึงไม่เหมาะสม

ความแปรปรวนของประสิทธิภาพ

คำตอบสั้น ๆ : ใช่มันสมเหตุสมผลที่จะพูดถึงความแปรปรวนในสถานการณ์ที่มีเพียง {0,1} ผลลัพธ์เท่านั้น

ดูที่การแจกแจงทวินาม (k = ความสำเร็จ, n = การทดสอบ, p = ความน่าจะเป็นที่แท้จริงสำหรับความสำเร็จ = ค่าเฉลี่ย k / n):

σ2(k)=np(1p)

ความแปรปรวนของสัดส่วน (เช่นอัตราการเข้าชมอัตราข้อผิดพลาดความไว TPR, ... ฉันจะใช้นับจากนี้และสำหรับค่าที่สังเกตได้จากการทดสอบ) เป็นหัวข้อที่เติมหนังสือทั้งเล่ม .. .พีpp^

  • Fleiss: วิธีการทางสถิติสำหรับอัตราและสัดส่วน
  • Forthofer และ Lee: ชีวสถิติมีการแนะนำที่ดี

ตอนนี้และดังนั้น:p^=kn

σ2(p^)=p(1p)n

ซึ่งหมายความว่าความไม่แน่นอนสำหรับการวัดประสิทธิภาพของตัวจําแนกขึ้นอยู่กับประสิทธิภาพที่แท้จริง p ของแบบจำลองการทดสอบและจํานวนตัวอย่างทดสอบ

ในการตรวจสอบข้ามคุณถือว่า

  1. ว่าโมเดล "ตัวแทน" มีประสิทธิภาพที่แท้จริงเช่นเดียวกับโมเดล "ของจริง" ที่คุณสร้างจากตัวอย่างทั้งหมด (รายละเอียดของข้อสันนิษฐานนี้เป็นอคติเชิงลบที่รู้จักกันดี)

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

ทำไมต้องทำซ้ำ?

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

คุณสามารถรายงานความไม่แน่นอนโดยตรงเช่นความแปรปรวนในการทำนายของกรณีทดสอบที่กำหนดโดยไม่คำนึงว่าการทำนายนั้นถูกต้องหรืออีกเล็กน้อยโดยอ้อมว่าการแปรปรวนของสำหรับการทำ cv ที่แตกต่างกันp^

และนี่คือข้อมูลที่สำคัญ

ทีนี้ถ้าแบบจำลองของคุณมีเสถียรภาพอย่างสมบูรณ์หรือจะสร้างการทำนายที่เหมือนกันสำหรับตัวอย่างที่กำหนด กล่าวอีกนัยหนึ่งการวนซ้ำทั้งหมดจะมีผลลัพธ์เหมือนกัน ความแปรปรวนของการประมาณจะไม่ถูกลดลงโดยการวนซ้ำ (สมมติว่า ) ในกรณีดังกล่าวพบว่ามีการสันนิษฐาน 2 จากด้านบนและคุณอยู่ภายใต้โดยที่ n เป็นจำนวนตัวอย่างทั้งหมดที่ทดสอบทั้งหมด k พับของพันธุ์ ในกรณีนั้นไม่จำเป็นต้องทำซ้ำ (นอกเหนือจากเพื่อแสดงความเสถียร) k n ฉันทีอีอาร์ วี n - 1 n σ 2 ( P ) = P ( 1 - P )nbootstrapkniter. cvn1nσ2(p^)=p(1p)n

จากนั้นคุณสามารถสร้างความเชื่อมั่นในการดำเนินงานที่แท้จริงจากไม่พบความสำเร็จในการทดสอบ ดังนั้นอย่างเคร่งครัดจึงไม่จำเป็นต้องรายงานความไม่แน่นอนของความแปรปรวนหากมีการรายงานและอย่างไรก็ตามในสาขาของฉันมีคนไม่กี่คนที่รู้เรื่องนี้หรือแม้กระทั่งจับถนัดมือว่าความไม่แน่นอนนั้นมีขนาดใหญ่เพียงใด ดังนั้นฉันขอแนะนำให้รายงานต่อไปk n P npknp^n

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


คุณทำซ้ำด้วยการแยกแบบสุ่มใหม่พร้อมการแทนที่เช่นใน bootstrap หรือไม่ หรือคุณทำการตรวจสอบไขว้ซ้ำ k-fold หลายครั้ง สิ่งนี้น่าสนใจเพราะมันไม่เหมือนกับ bootstrap แต่อาจใช้งานได้ แต่คุณทำซ้ำกี่ครั้ง? สิ่งนี้สามารถรับค่าใช้จ่ายได้ง่ายมาก
Cesar

@Cesar: มันคล้ายกับ bootstrap มากดูคำตอบเพิ่มเติม
cbeleites รองรับโมนิก้า

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

@probabilityislogic: ชุดข้อมูลการจำลอง CV มีขนาดเล็กกว่าชุดข้อมูลดั้งเดิม ดังนั้นจึงสามารถสร้างแบบจำลองที่แตกต่างกันได้แม้จะมีการสุ่มใหม่โดยไม่ต้องเปลี่ยนใหม่ การสุ่มใหม่พร้อมการแทนที่คุณสามารถวาดเร็กคอร์ดเดียวกันหลาย ๆ ครั้ง ดังนั้นจำนวนระเบียนที่ไม่ซ้ำกันอาจแตกต่างกันไป ใช่ฉันคิดว่าบันทึกต้นฉบับจะแตกต่างกัน เพื่อรักษาความเป็นอิสระทางสถิติซึ่งมีความสำคัญสำหรับหลาย ๆ แอปพลิเคชันควรทำการ resampling ในระดับสูงสุดของลำดับชั้นข้อมูล (เช่นฉันทำงานกับข้อมูลผู้ป่วยที่มีหลายร้อยแถวสำหรับผู้ป่วยแต่ละราย => ผู้ป่วย resample)
cbeleites รองรับ Monica

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

1

โปรดจำไว้ว่า CV เป็นเพียงการประมาณการเท่านั้นและไม่สามารถแสดงถึงข้อผิดพลาดในการวางนัยทั่วไปได้ ขึ้นอยู่กับขนาดตัวอย่างของคุณ (ซึ่งจะส่งผลกระทบต่อจำนวนการพับหรือการพับ) คุณสามารถถูก จำกัด อย่างรุนแรงในความสามารถของคุณในการคำนวณการประมาณค่าพารามิเตอร์ใด ๆ ของการกระจายของข้อผิดพลาดการวางนัยทั่วไป ในความคิดของฉัน (และฉันได้เห็นมันอ้างในหนังสือข้อความต่าง ๆ 'การค้นพบความรู้พร้อมสนับสนุน Vector Machines'-Lutz Hamel) คุณสามารถทำตัวแปร bootstrapping บางส่วนของ CV เพื่อประเมินการกระจายของข้อผิดพลาดทั่วไป แต่เป็นมาตรฐาน 10- 1 (ตัวอย่าง) เมื่อปิด CV จะไม่ให้จุดข้อมูลเพียงพอสำหรับการอ้างถึงข้อผิดพลาดที่แท้จริง การบู๊ตต้องให้คุณนำตัวอย่างหลายชิ้นมาแทนที่ด้วยการฝึกอบรม / ทดสอบ / val ของคุณอย่างมีประสิทธิภาพในการทำหลาย ๆ การทดสอบ (พูด 1,000 หรือประมาณนั้น) 10-1 (หรืออะไรก็ตาม) การทดสอบ CV จากนั้นคุณใช้การกระจายตัวอย่างของค่าเฉลี่ยสำหรับการทดสอบ CV แต่ละครั้งเป็นการประเมินการกระจายตัวตัวอย่างของค่าเฉลี่ยสำหรับประชากรของข้อผิดพลาด CV และจากนี้คุณสามารถประเมินพารามิเตอร์การกระจายตัวอย่างเช่นค่าเฉลี่ยค่ามัธยฐานค่าเฉลี่ยขั้นต่ำไตรมาสที่ 1 ไตรมาสที่ 3 ฯลฯ ... มันเป็นงานนิดหน่อยและในความเห็นของฉันจำเป็นจริงๆเท่านั้นหากใบสมัครของคุณมีความสำคัญ / เสี่ยงมากพอที่จะรับประกันการทำงานเพิ่มเติม เช่นอาจอยู่ในสภาพแวดล้อมทางการตลาดที่ธุรกิจมีความสุขที่จะดีกว่าการสุ่มดังนั้นอาจไม่จำเป็น แต่ถ้าคุณพยายามประเมินปฏิกิริยาของผู้ป่วยต่อยาที่มีความเสี่ยงสูงหรือคาดการณ์รายได้สำหรับการลงทุนขนาดใหญ่คุณอาจจะระมัดระวังในการดำเนินการ


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

บางทีฉันไม่ได้รับมัน ฉันไม่เข้าใจจริง ๆ ว่าทำไมคุณถึงทนทุกข์ทรมานกับความแปรปรวนของรอยพับเดียว?
แคลนซี

การใช้ CV 10 เท่าเดียวนั้นไม่ถูกเลยสำหรับปัญหาเฉพาะที่ฉันพยายามจะแก้ไข คุณถูกต้องฉันสามารถประมาณค่าความแปรปรวนได้โดยการสุ่มตัวอย่างหลายตัวอย่างพร้อมการเปลี่ยนเช่นเดียวกับใน bootstrap แต่การรับ CV จำนวนมากแม้สักสองสามร้อยอาจจะทำไม่ได้ในกรณีของฉัน ฉันกำลังมองหาวิธี (ถ้ามี) เพื่อรวมการประมาณค่าความแปรปรวนแบบพับเดี่ยวดังนั้นอย่างน้อยฉันก็สามารถลดจำนวนตัวอย่าง bootstrap ที่ต้องการ และนอกเหนือจากความอยากรู้
Cesar

อ่าโอเค. แล้วบางทีความแปรปรวนของแต่ละ 10 วิธีการพับจากจากค่าเฉลี่ยเท่าโดยรวมจะเป็นตัวแปรสุ่มเลือกจากการกระจายการสุ่มตัวอย่างการแปรปรวน ... (ซึ่งผมคิดว่าเป็นตารางอไคหรือ F อ)
แคลนซี

@clancy: เมื่อใช้ 10-1 หมายถึง cv แบบวันออกสำหรับ n = 10 ตัวอย่างหรือไม่ โปรดทราบว่าสำหรับการทำซ้ำแบบครั้งเดียวไม่สมเหตุสมผล
cbeleites รองรับโมนิก้า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.