วิธีอ่าน box plot ด้วย outliers (พร้อมตัวอย่าง)
พล็อตกล่อง คือประเภทของพล็อตที่แสดงข้อมูลสรุปห้าหลักของชุดข้อมูล ซึ่งประกอบด้วย:
- ค่าต่ำสุด
- ควอร์ไทล์ที่หนึ่ง (เปอร์เซ็นไทล์ที่ 25)
- ค่ามัธยฐาน
- ควอไทล์ที่สาม (เปอร์เซ็นไทล์ที่ 75)
- ค่าสูงสุด
ในการสร้างพล็อตกล่อง อันดับแรกเราวาดกล่องจากควอไทล์ที่หนึ่งถึงควอไทล์ที่สาม
ต่อไปเราวาดเส้นแนวตั้งที่ค่ามัธยฐาน
สุดท้าย เราวาด “หนวด” ของควอไทล์จนถึงค่าต่ำสุดและสูงสุด

ในซอฟต์แวร์ทางสถิติส่วนใหญ่ การสังเกต จะถูกกำหนดให้เป็นค่าผิดปกติหากเป็นไปตามข้อกำหนดข้อใดข้อหนึ่งต่อไปนี้:
- การสังเกตคือ 1.5 เท่าของพิสัยระหว่างควอไทล์ที่ต่ำกว่าควอร์ไทล์ที่ 1 (Q1)
- การสังเกตคือ 1.5 เท่าของพิสัยระหว่างควอไทล์เหนือควอร์ไทล์ที่สาม (Q3)
หากมีค่าผิดปกติอยู่ในชุดข้อมูล โดยปกติจะมีป้ายกำกับด้วยจุดเล็กๆ นอกช่วงมัสสุในกล่องพล็อต:

เมื่อสิ่งนี้เกิดขึ้น ค่า “ขั้นต่ำ” และ “สูงสุด” ใน boxplot จะถูกกำหนดค่าเพียง Q1 – 1.5*IQR และ Q3 + 1.5*IQR ตามลำดับ
ตัวอย่างต่อไปนี้แสดงวิธีตีความแปลงกล่องที่มีและไม่มีค่าผิดปกติ
ตัวอย่าง: การตีความ Box Plot ด้วยค่าผิดปกติ
สมมติว่าเราสร้างกล่องแปลงสองกล่องต่อไปนี้เพื่อแสดงภาพการกระจายคะแนนของผู้เล่นบาสเก็ตบอลจากสองทีมที่แตกต่างกัน:

แผนด้านซ้ายของทีม A ไม่มีค่าผิดปกติ เนื่องจากไม่มีจุดเล็กๆ ที่อยู่นอกเส้นหนวดขั้นต่ำหรือสูงสุด
อย่างไรก็ตาม บ็อกซ์พล็อตที่ถูกต้องสำหรับทีม B มีค่าผิดปกติหนึ่งค่าที่สูงกว่าค่า “สูงสุด” และอีกหนึ่งค่าผิดปกติต่ำกว่าค่า “ขั้นต่ำ”
ต่อไปนี้เป็นข้อมูลสรุปห้าหลักในปัจจุบันสำหรับการแจกแจงตัวแปร “คะแนน” สำหรับทีม B:
- ค่าต่ำสุด: 1.1
- ควอไทล์ที่หนึ่ง: 10.5
- มัธยฐาน: 12.7
- ควอไทล์ที่สาม: 15.6
- ค่าสูงสุด: 23.5
ต่อไปนี้เป็นวิธีคำนวณขีดจำกัดของค่าผิดปกติที่อาจเกิดขึ้น:
สเกลระหว่างควอไทล์ : ควอร์ไทล์ที่สาม – ควอไทล์ที่หนึ่ง = 15.6 – 10.5 = 5.1
ขีดจำกัดล่าง : Q1 – 1.5*IQR = 10.5 – 1.5*5.1 = 2.85
ขีดจำกัดบน : Q3 + 1.5*IQR = 15.6 + 1.5*5.1 = 23.25
หนวดสำหรับค่าต่ำสุดและสูงสุดใน boxplot จะอยู่ที่ 2.85 และ 23.25 .
ดังนั้นการสังเกตที่มีค่า 1.1 และ 23.5 ทั้งคู่จึงเข้าข่ายเป็นค่าผิดปกติใน boxplot เนื่องจากอยู่นอกขอบเขตล่างและบน
โบนัส : นี่คือโค้ดที่เราใช้ในการสร้าง Boxplot ทั้งสองนี้ในภาษาโปรแกรม R:
library (ggplot2) #make this example reproducible set. seeds (2) #create data frame df <- data. frame (Team = factor(rep(c("A", "B"), each = 200)), Points = c(rnorm(200, mean = 15, sd = 3), rnorm(200, mean = 12, sd = 4))) #create box plots ggplot(df, aes(x = Team, y = Points)) + stat_boxplot(geom = " errorbar ", width = 0.5) + geom_boxplot() #calculate summary statistics for each team tapply(df$Points, df$Team, summary)
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับแปลงกล่อง:
วิธีเปรียบเทียบแปลงกล่อง
วิธีการระบุความไม่สมมาตรในแปลงกล่อง
วิธีค้นหาพิสัยระหว่างควอไทล์ของ Boxplot