การถดถอยแบบใดที่ใช้ในการคำนวณผลการเลือกตั้งในระบบหลายส่วน?


11

ฉันต้องการทำนายผลการเลือกตั้งรัฐสภา ผลลัพธ์ของฉันจะเป็น% ที่แต่ละฝ่ายได้รับ มีมากกว่า 2 ฝ่ายดังนั้นการถดถอยโลจิสติกจึงไม่ใช่ตัวเลือกที่เหมาะสม ฉันสามารถสร้างความถดถอยแยกกันสำหรับแต่ละฝ่าย แต่ในกรณีนั้นผลลัพธ์จะเป็นไปอย่างอิสระจากกัน มันจะไม่แน่ใจว่าผลรวมของผลลัพธ์จะเป็น 100%

ฉันควรใช้การถดถอยแบบใด (หรือวิธีการอื่น) เป็นไปได้หรือไม่ที่จะใช้วิธีนี้ใน R หรือ Python ผ่านไลบรารี่เฉพาะ


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

คำตอบ:


5

Robert ถูกต้องการถดถอยโลจิสติกพหุนามเป็นเครื่องมือที่ดีที่สุดในการใช้ แม้ว่าคุณจะต้องมีค่าจำนวนเต็มที่แทนปาร์ตี้เป็นตัวแปรตามเช่น:

1 = กลุ่มอนุรักษ์นิยม 2 = แรงงานส่วนใหญ่ 3 = กลุ่มเสรีนิยม .... (และอื่น ๆ )

คุณสามารถทำได้ใน R โดยใช้แพ็คเกจ nnet ที่นี่เป็นสถานที่ที่ดีในการทำงานได้อย่างรวดเร็วผ่านวิธีการใช้งาน


3

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


2

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

prob_1, prob_2, prob_3,..., prob_k

ที่ prob_i หมายถึงความน่าจะเป็นของคลาส i-th (ในกรณีที่คุณเป็น i-th party) โดยสมมติว่ามีคลาส k ในตัวแปรตอบกลับ โปรดสังเกตว่าผลรวมของความน่าจะเป็น k เหล่านี้จะเป็น 1 การทำนายคลาสในกรณีนี้จะเป็นคลาสที่มีความน่าจะเป็นสูงสุด

มีตัวจําแนกมากมายใน R ที่ทําการจําแนกหลายคลาส คุณสามารถใช้การถดถอยโลจิสติกกับการสนับสนุนหลายคลาสผ่านแพคเกจnnetใน R และเรียกใช้multinomคำสั่ง

คุณสามารถใช้แพ็คเกจgbmใน R และเรียกใช้gbmคำสั่งได้ หากต้องการสร้างตัวแยกประเภทหลายคลาสให้ใช้distribution="multinomial" while using theฟังก์ชัน gbm`

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