ANOVA คือ อะไร
ANOVA ย่อจาก Analysis of Variance เป็นวิธีการทางสถิติ ถูกนำมาใช้ในการวิเคราะห์ความแตกต่างระหว่างกลุ่มของ Means (ค่าเฉลี่ย) ในกลุ่มตัวอย่าง โดยจะตรวจสอบค่าของ Variance ของแต่ละกลุ่ม
ทำไมต้องใช้ ANOVA
- Feature Selection สามารถใช้ในกระบวนการเลือก Feature เพื่อระบุว่า Feature ใดมีความสำคัญในเชิงสถิติ และใช้ในการทำนายค่า Output
- Model Assumptions ในหลายๆ Machine Learning Algorithms มีสมมติฐานว่าเป็น Homogeneity of Variances เราสามารถใช้ ANOVA ในการยืนยันสมมติฐานนี้
✅ ข้อดี
- เปรียบเทียบระหว่างหลายกลุ่มได้ ไม่เหมือนกับ t-test ที่สามารถเปรียบเทียบได้แค่ระหว่าง 2 Means (ค่าเฉลี่ย)
- ลดค่า Type I Error โดยการวิเคราะห์หลายกลุ่มร่วมกัน (แทนที่จะเป็นคู่) ทำให้ ANOVA ลดความเสี่ยงในการเกิด Type I Error
- ความหลากหลาย สามารถขยายไปเป็นการทดลองที่ซับซ้อน เช่น 2 ways ANOVA
❌ ข้อเสีย
- สมมติฐานที่เป็นอิสระต่อกัน มีสมมติฐานที่เป็น Normal Distribution และ Variances เท่ากันระหว่างกลุ่ม
- ความไวต่อ Outliers การมี Outliers มีผลกระทบต่อ Sum of squares และนำไปสู่ข้อสรุปที่ผิดพลาดได้
- ไม่ได้ระบุความแตกต่างระหว่างกลุ่ม ต้องทำการทดสอบเพิ่มเติม เพื่อระบุว่าเป็นกลุ่มใดที่แตกต่างกัน หากผลของ ANOVA แสดงความแตกต่างอย่างมีนัยยะสำคัญ
(One-Way) ANOVA โดยใช้ Python
มี Null Hypothesis และ Alternative Hypothesis ดังนี้
- H0 (Null Hypothesis): μ1 = μ2 = μ3 = … = μk (หมายความว่าค่าเฉลี่ยของประชากรทั้งหมดเท่ากัน)
- H1 (Alternative Hypothesis): ระบุว่าจะมีค่าเฉลี่ยประชากรอย่างน้อยหนึ่งรายการที่แตกต่างจากที่เหลือ
🚙 การทดลองได้นำรถยนต์จำนวน 20 คัน โดยรถยนต์เหล่านี้สุ่มฉีดด้วยน้ำมันเครื่องอันใดอันหนึ่งในสี่อัน และให้วิ่งอย่างอิสระเป็นระยะทาง 100 กิโลเมตรต่อคัน เมื่อจบการเดินทาง สมรรถนะของรถแต่ละคันจะถูกบันทึกไว้
# ประสิทธิภาพ เมื่่อใช้น้ำมันเครื่องที่แตกต่างกัน
perform1 = [89, 89, 88, 78, 79]
perform2 = [93, 92, 94, 89, 88]
perform3 = [89, 88, 89, 93, 90]
perform4 = [81, 78, 81, 92, 82]
# เรียกใช้ f_oneway() Function ใน scipy.stats
f_stat, p_value = f_oneway(perform1, perform2, perform3, perform4)
print ("F statistics: ", f_stat)
print ("p-value: ", p_value)
F statistic และ p-value กลายเป็นเท่ากับ 4.625 และ 0.0163 ตามลำดับ เนื่องจาก p-value น้อยกว่า 0.05 ดังนั้น เราจึงปฏิเสธ Null Hypothesis หมายความว่า เรามีหลักฐานเพียงพอที่จะบอกว่าสมรรถนะของน้ำมันเครื่องที่แตกต่างกันสี่ชนิด มีความแตกต่างกัน
ข้อมูลอ้างอิง
- Analytics Vidhya - ANOVA
- Geeks for Geeks - How to perform One-Way ANOVA in Python