ความเห็น: 0
ก้าวย่างทางเดิน ลืมเลือนคืนวัน ดั้นด้นไป: แกะกล่อง ๕ [C]
แม้ว่า boxplot จะเป็นหนึ่งในหลาย ๆ plot ที่ถูกนำมาใช้ในการแสดงการกระจายของข้อมูล โดยเฉพาะในสถิติพรรณนา (descriptive statistics) แต่ boxplot มีข้อจำกัดหลายอย่าง ที่สำคัญ เช่น การอธิบายให้คนทั่วไปที่ไม่มีพื้นฐานทางสถิติ (มากนัก) เข้าใจในบริบทของ boxplot นั้นเป็นไปได้ยากสักหน่อย เนื่องจากการแบ่งส่วนต่าง ๆ ของ boxplot นั้นเป็นการแบ่งหรือนำเสนอข้อมูลที่ต่างไปจากความคุ้นชินของคนทั่วไป
เช่นนำเสนอค่ามัธยฐานหรือการแบ่งข้อมูลออกเป็นสี่ส่วนเท่า ๆ กัน (Quartile) แทนที่จะเป็นค่าเฉลี่ย อย่างนี้เป็นต้น
แต่ข้อดีของ boxplot ก็คือการแสดงการเปรียบเทียบข้อมูลที่เป็นกลุ่ม ๆ boxplot ง่ายต่อการที่จะสร้าง box เปรียบเทียบข้อมูลกลุ่มต่าง ๆ ในกรอบเดียวกันในขณะที่ plot อื่น ๆ ทำได้ยากกว่า
เช่น
> b1 <- rnorm(250,10,2)
> b2 <- rnorm(250,5,1.5)
> boxplot(b1,b2)
จาก boxplot ข้างต้นเราจะเห็นว่าข้อมูลของกลุ่มที่ 2 ส่วนใหญ่แล้วจะมีค่าน้อยกว่าข้อมูลของกลุ่มที่ 1
แต่ในบางลักษณะของข้อมูล boxplot ไม่ได้แสดงการกระจายของข้อมูลที่แท้จริงออกมา เช่น
> b1 <- rnorm(250,10,2)
> b2 <- rnorm(250,5,1.5)
> bimodal2 <- c(b1,b2)
> boxplot(bimodal2)
boxplot ข้างต้น ไม่ได้แสดงการกระจายหรือไม่ได้แสดงลักษณะที่แท้จริงของข้อมูลออกมา ข้อมูลข้างต้น (bimodal2) เป็นลักษณะของข้อมูล ๒ ชุดข้อมูลที่ซ้อนทับกันอยู่คือ ข้อมูล b1 ที่เป็นข้อมูลที่มีการกระจายแบบ normal distribution โดยมีค่าเฉลี่ยของชุดข้อมูลเท่ากับ ๑๐ และส่วนเบี่ยงเบนมาตรฐานเท่ากับ ๒
ข้อมูลชุดที่ ๒ (b2) จะเป็นข้อมูลที่มีการกระจายแบบ normal distribution โดยมีค่าเฉลี่ยของข้อมูลเท่ากับ ๕ และส่วนเบี่ยงเบนมาตรฐานเท่ากับ ๑.๕
เมื่อใช้ boxplot ให้แสดงลักษณะของข้อมูลชุดนี้ (bomodal2) จะพบว่าข้อมูลชุดนี้มีการกระจายที่ค่อนไปทางเบ้ขวา (skewed to right)
density trace plot เป็นอีก plot หนึ่งที่ใช้สำหรับดูการกระจายของข้อมูล โดยที่แนวคิดของ density plot มาจาก histogram
histogram จะแบ่งข้อมูลออกเป็นช่วง ๆ แล้วใช้ความถี่ของข้อมูลที่อยู่ในแต่ละช่วงมาสร้างเป็นความสูงของแต่ละแท่งของ histogram
แต่การแบ่งข้อมูลออกเป็นช่วง ๆ แบบ histogram จะทำให้เกิดการสูญเสียรายละเอียดของข้อมูลที่อยู่ในแต่ละช่วง ซึ่งทำให้เกิดปัญหาว่า ในแต่ละข้อมูลเราควรจะแบ่งออกเป็นกี่ช่วงข้อมูลดีถึงจะเหมาะสมกับข้อมูลแต่ละชุด
ในแต่ละแท่งของ histogram จะแสดงถึง density ของข้อมูลที่อยู่ในช่วงนั้น ๆ ถ้า x = จุดกึ่งกลางของช่วงข้อมูลนั้น ๆ w = ช่วงห่าง/ ความกว้างของข้อมูลในแต่ละช่วง k= จำนวนข้อมูลที่ตกอยู่ในในช่าวงนั้น ๆ และ n = จำนวนข้อมูลทั้งหมด
h(x) = (k/n)*(1/w)
data density = k/w
h(x) = Histogram estimate of data density
พื้นที่ (area) ภายใต้ h(x) มีค่าเท่ากับ 1
> plot(density(b1), col="blue", lwd=2)
density plot ข้างต้นนั้นเป็น density plot ที่ผ่านการ smooth มาแล้วนะครับ คือปรับให้ดูสวยงามขึ้น (density plot ที่ไม่ผ่านการ smooth เส้นจะเป็นหยักฟันปลาครับ)
นอกจาก density plot แล้ว ก็ยังมี plot ที่เรียกว่า scatter plot ที่เป็น ๑ มิติ (1 dimension - 1d-scatter) เป็น plot ที่แสดงถึงการกระจายของข้อมูล
ปกติเราจะเห็น scatter plot ที่เป็น ๒ มิติ หรือ scatter plot ที่เป็น ๒ มิติที่เจอบ่อยที่สุดก็คือกราฟ x, y นั่นเอง
> plot(b1,col="red")
scatter plot ข้างต้นนั้นจะเป็นการ plot ระหว่างแกนตั้งที่เป็นค่าของข้อมูลแต่ละค่า ส่วนแกนนอนจะเป็นลำดับที่ของข้อมูลแต่ละค่า (index) ซึ่งแบบนี้เราจะเห็นว่าข้อมูล (b1) มีการกระจายที่เป็นแบบสุ่ม หรือกระจายไปทั่วพื้นที่ของกราฟ ไม่เกาะกลุ่มอยู่ที่ใดที่หนึ่งชัดเจน หรือหารูปทรงของการกระจายข้อมูลไม่ได้
แต่ 1d-scatter plot นั้นจะมีลักษณะคล้าย ๆ กับ barcode ครับ
> plot(density(b1), col="blue", lwd=2)
> rug(b1)
แถบที่คล้าย ๆ กับ barcode ด้านล่างแนวแกนนอนนั่นคือ 1d-scatter plot ครับ
ซึ่งจาก 1d-scatter plot เราจะเห็นการกระจายของข้อมูล ตรงไหนที่มีข้อมูลมีค่าเท่ากันหรือใกล้เคียงกันจำนวนมาก ตรงจุดนั้นจะกลายเป็นแถบสีดำ
จากข้อจำกัดของ boxplot และแนวคิดของ density plot และ 1d-scatter plot จนเป็นที่มีของ beanplot
> beanplot(bimodal2,col="magenta")
อิอิอิ
เราเอง
เพลง: ขายวัวให้ควายเรียน
ศิลปิน: สะพาน
บันทึกอื่นๆ
- เก่ากว่า « ก้าวย่างทางเดิน ลืมเลือนคืนวัน ด...
- ใหม่กว่า » ก้าวย่างทางเดิน ลืมเลือนคืนวัน ด...