ข้อมูลเบื้องต้นเกี่ยวกับเส้นโค้งการถดถอยแบบปรับตัวหลายตัวแปร


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

Y = β 0 + β 1 X + ε

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

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

Y = β 0 + β 1 X + β 2 X 2 + … + β ชั่วโมง

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

อย่างไรก็ตาม การถดถอยพหุนามมีข้อเสียบางประการ:

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

2. การถดถอยพหุนามกำหนดให้มีฟังก์ชันโกลบอลกับชุดข้อมูลทั้งหมด ซึ่งไม่ได้แม่นยำเสมอไป

อีกทางเลือกหนึ่งนอกเหนือจากการถดถอยพหุนามคือ เส้นตรงการถดถอยแบบปรับตัวหลายตัวแปร

แนวคิดพื้นฐาน

เส้นโค้งการถดถอยแบบปรับตัวได้หลายตัวแปรทำงานดังนี้:

1. แบ่งชุดข้อมูลออกเป็น k ชิ้น

ขั้นแรก เราแบ่งชุดข้อมูลออกเป็น k องค์ประกอบที่แตกต่างกัน จุดที่เราแบ่งชุดข้อมูลเรียกว่า โหนด

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

เมื่อเราระบุโหนดแรกแล้ว เราจะทำซ้ำเพื่อค้นหาโหนดเพิ่มเติม คุณสามารถค้นหาโหนดได้มากเท่าที่คุณคิดว่าสมเหตุสมผลในการเริ่มต้น

2. ติดตั้งฟังก์ชันการถดถอยให้กับแต่ละส่วนเพื่อสร้างฟังก์ชันบานพับ

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

ตัวอย่างเช่น ฟังก์ชันบานพับสำหรับโมเดลโหนดเดียวอาจเป็น:

  • y = β 0 + β 1 (4.3 – x) ถ้า x < 4.3
  • y = β 0 + β 1 (x – 4.3) ถ้า x > 4.3

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

ฟังก์ชันบานพับที่มีสองโหนดสามารถเป็นดังนี้:

  • y = β 0 + β 1 (4.3 – x) ถ้า x < 4.3
  • y = β 0 + β 1 (x – 4.3) ถ้า x > 4.3 & x < 6.7
  • y = β 0 + β 1 (6.7 – x) ถ้า x > 6.7

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

3. เลือก k ตามการตรวจสอบข้าม k-fold

ท้ายที่สุด เมื่อเราติดตั้งโมเดลที่แตกต่างกันหลายรุ่นโดยใช้จำนวนโหนดที่แตกต่างกันสำหรับแต่ละรุ่น เราก็สามารถทำการ ตรวจสอบความถูกต้องข้าม k-fold เพื่อระบุแบบจำลองที่ทำให้เกิดค่าความคลาดเคลื่อนกำลังสองเฉลี่ยในการทดสอบต่ำที่สุด (MSE)

โมเดลที่มีการทดสอบ MSE ต่ำที่สุดจะถูกเลือกให้เป็นโมเดลที่สามารถสรุปข้อมูลใหม่ได้ดีที่สุด

ข้อดีและข้อเสีย

เส้นโค้งการถดถอยแบบปรับตัวหลายตัวแปรมีข้อดีและข้อเสียดังต่อไปนี้:

ข้อดี :

  • สามารถใช้ได้ทั้งกับ ปัญหาการถดถอยและการจำแนกประเภท
  • ซึ่งทำงานได้ดีกับชุดข้อมูลขนาดใหญ่
  • มันมีการคำนวณที่รวดเร็ว
  • สิ่งนี้ไม่ต้องการให้คุณสร้างมาตรฐานให้กับตัวแปรทำนาย

ข้อเสีย:

  • มันมีแนวโน้มที่จะไม่ทำงานเช่นเดียวกับวิธีการที่ไม่ใช่เชิงเส้น เช่น Random Forests และเครื่องเพิ่มความลาดชัน

วิธีใส่โมเดล MARS ใน R & Python

บทช่วยสอนต่อไปนี้ให้ตัวอย่างทีละขั้นตอนของวิธีปรับ Splines การถดถอยแบบปรับตัวหลายตัวแปร (MARS) ใน R และ Python:

Splines การถดถอยแบบอะแดปทีฟหลายตัวแปรใน R
Splines การถดถอยแบบอะแดปทีฟหลายตัวแปรใน Python

เพิ่มความคิดเห็น

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