รับโซ่ 10D MCMC ฉันจะกำหนดโหมดหลังได้อย่างไรใน R


10

คำถาม:ด้วยห่วงโซ่ MCMC แบบ 10 มิติสมมติว่าฉันพร้อมที่จะมอบเมทริกซ์การจับ: 100,000 ซ้ำ (แถว) โดย 10 พารามิเตอร์ (คอลัมน์) ฉันจะระบุโหมดหลังได้ดีที่สุดอย่างไร ฉันกังวลเป็นพิเศษกับหลายโหมด

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

ความกังวลเกี่ยวกับ:

  1. เราเชื่อว่าการกระจายอาจเบ้ค่อนข้าง ดังนั้นเราต้องการระบุโหมดด้านหลังไม่ใช่วิธีหลัง

  2. เรากังวลว่าอาจมีโหมดหลังหลายโหมด

  3. หากเป็นไปได้เราต้องการคำแนะนำจาก R แต่อัลกอริทึมใด ๆ ที่จะทำตราบเท่าที่มันไม่ยากอย่างไม่น่าเชื่อที่จะใช้ ฉันเดาว่าฉันไม่ต้องการใช้ตัวประมาณความหนาแน่นของเคอร์เนลด้วยการเลือกแบนด์วิดท์อัตโนมัติตั้งแต่เริ่มต้น


โปรดดูชุดรูปแบบเกี่ยวกับวิธีการประมาณค่าโหมดรวดเร็วstats.stackexchange.com/questions/33625
Pavel Ruzankin

คำตอบ:


9

คุณคิดว่าใช้วิธีเพื่อนบ้านที่ใกล้ที่สุดหรือไม่?

เช่นสร้างรายการkเพื่อนบ้านที่ใกล้ที่สุดสำหรับแต่ละ 100'000 คะแนนแล้วพิจารณาจุดข้อมูลด้วยระยะทางที่เล็กที่สุดของkthโหมดเพื่อนบ้าน ในคำอื่น ๆ : ค้นหาจุดที่มี 'ฟองที่เล็กที่สุด' ที่มีkจุดอื่น ๆ รอบจุดนี้

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


บางครั้งฉันต้องการที่จะเอาชนะตัวเองคว่ำหัว ข้อเสนอแนะที่ยอดเยี่ยม
M. Tibbits

1
ฉันแค่คิดถึงการใช้kmeansฟังก์ชั่นใน R. ฉันไม่ควรถามคำถามระหว่างเที่ยงคืนถึงตีสี่
M. Tibbits

4

นี่เป็นเพียงคำตอบบางส่วน

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


3

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


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

2

คุณคิดว่า 'PRIM / Bump Hunting' แล้วหรือยัง? (ดูเช่นมาตรา 9.3 ของ 'องค์ประกอบของการเรียนรู้ทางสถิติ' โดย Tibshirani et al. หรือถามเครื่องมือค้นหาที่คุณชื่นชอบ) ไม่แน่ใจว่าใช้งานใน R หรือไม่

[เท่าที่ฉันเข้าใจคุณกำลังพยายามหาโหมดของความหนาแน่นของความน่าจะเป็นที่จะดึงแถว 100,000 ของคุณ ดังนั้นปัญหาของคุณจะได้รับการแก้ไขเพียงบางส่วนด้วยการหาdensity estimationวิธีการที่เหมาะสม]


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