ความรู้เบื้องต้นเกี่ยวกับการวิเคราะห์จำแนกเชิงเส้น
เมื่อเรามีชุดตัวแปรทำนายและเราต้องการจัด ประเภทตัวแปรตอบสนอง เป็นหนึ่งในสองคลาส โดยทั่วไปเราจะใช้ การถดถอยโลจิสติก
ตัวอย่างเช่น เราสามารถใช้การถดถอยโลจิสติกในสถานการณ์ต่อไปนี้:
- เราต้องการใช้ คะแนนเครดิต และ ยอดคงเหลือในธนาคาร เพื่อคาดการณ์ว่าลูกค้ารายนั้นจะผิดนัดชำระหนี้หรือไม่ (ตัวแปรการตอบสนอง = “ค่าเริ่มต้น” หรือ “ไม่มีค่าเริ่มต้น”)
อย่างไรก็ตาม เมื่อตัวแปรตอบสนองมีคลาสที่เป็นไปได้มากกว่าสองคลาส โดยทั่วไปเราชอบใช้วิธีการที่เรียกว่า การวิเคราะห์จำแนกเชิงเส้น ซึ่งมักเรียกว่า LDA
ตัวอย่างเช่น เราสามารถใช้ LDA ในสถานการณ์ต่อไปนี้:
- เราต้องการใช้ คะแนนต่อเกม และ รีบาวด์ต่อเกม เพื่อคาดการณ์ว่านักบาสเกตบอลระดับมัธยมศึกษาตอนปลายจะได้รับการยอมรับให้เป็นหนึ่งในสามโรงเรียนหรือไม่: ดิวิชั่น 1, ดิวิชั่น 2 หรือดิวิชั่น 3
แม้ว่าทั้งแบบจำลอง LDA และแบบจำลองการถดถอยโลจิสติกจะถูกใช้สำหรับ การจำแนกประเภท แต่กลับกลายเป็นว่า LDA มีความเสถียรมากกว่าการถดถอยโลจิสติกมาก เมื่อพูดถึงการคาดการณ์สำหรับหลายคลาส ดังนั้นจึงเป็นอัลกอริทึมที่ต้องการใช้เมื่อตัวแปรตอบสนองสามารถรับมากกว่าสองคลาสได้ ชั้นเรียน
LDA ยังทำงานได้ดีที่สุดเมื่อขนาดตัวอย่างมีขนาดเล็กเมื่อเทียบกับการถดถอยลอจิสติกส์ ทำให้เป็นวิธีที่นิยมใช้เมื่อคุณไม่สามารถรวบรวมตัวอย่างขนาดใหญ่ได้
วิธีสร้างโมเดล LDA
LDA ตั้งสมมติฐานต่อไปนี้กับชุดข้อมูลที่กำหนด:
(1) ค่าของตัวแปรทำนายแต่ละตัวมี การกระจายตามปกติ นั่นคือถ้าเราสร้างฮิสโตแกรมเพื่อแสดงภาพการกระจายตัวของค่าสำหรับตัวทำนายที่กำหนด มันจะมีลักษณะเป็น “รูประฆัง” โดยประมาณ
(2) ตัวแปรทำนายแต่ละตัวมี ความแปรปรวน เท่ากัน ข้อมูลในโลกแห่งความเป็นจริงแทบจะไม่เคยเป็นเช่นนั้น ซึ่งเป็นเหตุผลว่าทำไมเราจึงปรับขนาดตัวแปรแต่ละตัวให้มีค่าเฉลี่ยและความแปรปรวนเท่ากันก่อนที่จะปรับโมเดล LDA ให้เหมาะสม
เมื่อสมมติฐานเหล่านี้ได้รับการตรวจสอบแล้ว LDA จะประมาณค่าต่อไปนี้:
- μ k : ค่าเฉลี่ยของการสังเกตการฝึกทั้งหมดของคลาส k
- σ 2 : ค่าเฉลี่ยถ่วงน้ำหนักของความแปรปรวนตัวอย่างสำหรับแต่ละคลาส k
- π k : สัดส่วนของการสังเกตการฝึกที่อยู่ในคลาส k
จากนั้น LDA จะเสียบตัวเลขเหล่านี้ลงในสูตรต่อไปนี้ และกำหนดการสังเกต X = x แต่ละรายการให้กับคลาสที่สูตรให้ค่ามากที่สุด:
d k (x) = x * (μ k /σ 2 ) – (μ k 2 /2σ 2 ) + บันทึก(π k )
โปรดทราบว่า LDA มีชื่อเป็น เส้นตรง เนื่องจากค่าที่สร้างโดยฟังก์ชันด้านบนมาจากผลลัพธ์ของ ฟังก์ชันเชิงเส้น ของ x
วิธีเตรียมข้อมูลสำหรับ LDA
ตรวจสอบให้แน่ใจว่าข้อมูลของคุณตรงตามข้อกำหนดต่อไปนี้ก่อนที่จะใช้โมเดล LDA กับข้อมูล:
1. ตัวแปรตอบสนองเป็นแบบหมวดหมู่ โมเดล LDA ได้รับการออกแบบมาเพื่อใช้สำหรับปัญหาการจำแนกประเภท กล่าวคือ โดยที่ตัวแปรการตอบสนองสามารถจัดวางเป็นคลาสหรือหมวดหมู่ได้
2. ตัวแปรทำนายเป็นไปตามการแจกแจงแบบปกติ ขั้นแรก ตรวจสอบว่าตัวแปรทำนายแต่ละตัวมีการแจกแจงแบบปกติโดยประมาณ ถ้าไม่เช่นนั้น คุณสามารถเลือก แปลงข้อมูลก่อน เพื่อให้การกระจายเป็นปกติมากขึ้นได้
3. ตัวแปรทำนายแต่ละตัวมีความแปรปรวนเท่ากัน ตามที่กล่าวไว้ข้างต้น LDA ถือว่าตัวแปรทำนายแต่ละตัวมีความแปรปรวนเท่ากัน เนื่องจากในทางปฏิบัติไม่ค่อยเป็นเช่นนั้น จึงเป็นความคิดที่ดีที่จะปรับขนาดตัวแปรแต่ละตัวในชุดข้อมูลให้มีค่าเฉลี่ยเป็น 0 และค่าเบี่ยงเบนมาตรฐานเป็น 1
4. คำนึงถึงค่าผิดปกติที่รุนแรง อย่าลืมตรวจสอบค่าผิดปกติที่รุนแรงในชุดข้อมูลก่อนที่จะใช้ LDA โดยทั่วไป คุณสามารถตรวจสอบค่าผิดปกติด้วยสายตาได้เพียงใช้ Box Plot หรือ Scatterplots
ตัวอย่างการใช้การวิเคราะห์จำแนกเชิงเส้น
โมเดล LDA นำไปใช้ในโดเมนที่หลากหลายในชีวิตจริง นี่คือตัวอย่างบางส่วน:
1. การตลาด . บริษัทค้าปลีกมักใช้ LDA เพื่อจัดประเภทผู้ซื้อให้เป็นหนึ่งในหลายประเภท ตัวอย่างเช่น พวกเขาสามารถสร้างแบบจำลอง LDA เพื่อคาดการณ์ว่าผู้ซื้อรายหนึ่งจะเป็นผู้ซื้อที่ต่ำ ปานกลาง หรือสูงหรือไม่ โดยใช้ตัวแปรทำนาย เช่น รายได้ การใช้จ่ายรายปีทั้งหมด และ ขนาดครัวเรือน
2.การแพทย์ โรงพยาบาลและทีมวิจัยทางการแพทย์มักใช้ LDA เพื่อคาดการณ์ว่ากลุ่มของเซลล์ผิดปกติที่กำหนดมีแนวโน้มที่จะนำไปสู่โรคที่ไม่รุนแรง ปานกลาง หรือรุนแรงหรือไม่
3. การพัฒนาผลิตภัณฑ์ บริษัทสามารถสร้างแบบจำลอง LDA เพื่อคาดการณ์ว่าผู้บริโภคบางรายจะใช้ผลิตภัณฑ์ของตนเป็นรายวัน รายสัปดาห์ รายเดือน หรือรายปี โดยพิจารณาจากตัวแปรทำนายต่างๆ เช่น เพศ รายได้ต่อปี และ ความถี่ในการใช้ผลิตภัณฑ์ที่คล้ายคลึงกัน
4. นิเวศวิทยา. นักวิจัยสามารถสร้างแบบจำลอง LDA เพื่อทำนายว่าแนวปะการังหนึ่งๆ จะมีสุขภาพโดยรวมที่ดี ปานกลาง แย่ หรือใกล้สูญพันธุ์หรือไม่ โดยพิจารณาจากตัวแปรทำนายที่หลากหลาย เช่น ขนาด การปนเปื้อนประจำปี และ การสูญเสีย อายุ
LDA ใน R และ Python
บทช่วยสอนต่อไปนี้ให้ตัวอย่างทีละขั้นตอนเกี่ยวกับวิธีการวิเคราะห์จำแนกเชิงเส้นใน R และ Python:
การวิเคราะห์จำแนกเชิงเส้นใน R (ทีละขั้นตอน)
การวิเคราะห์จำแนกเชิงเส้นใน Python (ทีละขั้นตอน)