7 การแสดงการแจกแจง : ฮิสโตแกรมและ density plots

แปล Data Visualization ขั้นพื้นฐาน Claus O. Wilke

NUTHDANAI WANGPRATHAM
3 min readOct 3, 2019

บ่อยครั้งเราอาจอยากเข้าใจว่าข้อมูลมีการกระจายตัวอย่างไร ตัวอย่างเช่น ชุดข้อมูลไททานิคที่เป็นชุดข้อมูลที่เราพูดถึงในบทที่ 6 มีประมาณ 1300 คน บน Titanic (ไม่นับลูกเรือ) และเราได้รับรายงานอายุของ 756 คนที่เราต้องการทราบจำนวนที่มีอยู่บนไททานิคว่ามีหลาย ๆ คนที่เป็นผู้ใหญ่ เราเรียกเปอร์เซ็นต์ที่แตกต่างกันหลายครั้งในหลายประเทศ

7.1 การแสดงค่ามิติเดี่ยว

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

ตารางที่ 7.1: จำนวนผู้โดยสารที่มีอายุเท่าที่ทราบในไททานิค

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

Figure 7.1: Histogram of the ages of Titanic passengers.

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

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

รูปที่ 7.2: ฮิสโทแกรมขึ้นอยู่กับความกว้างของช่วงที่เลือก ที่นี่การกระจายอายุแบบเดียวกันของผู้โดยสารไททานิคแสดงด้วยความกว้างของถังขยะสี่แบบ: (a) หนึ่งปี; (b) สามปี © ห้าปี (d) สิบห้าปี

เมื่อสร้างฮิสโตแกรมสำรวจความกว้างของช่วงหลาย ๆ ครั้งเสมอ

ฮิสโทแกรมเป็นตัวเลือกในการแสดงข้อมูลที่ได้รับความนิยมตั้งแต่ต้นศตวรรษที่ 18 ส่วนหนึ่งเป็นเพราะฮิสโทแกรมสร้างขึ้นได้ง่ายด้วยมือ ในปัจจุบันเนื่องจากพลังการประมวลผลที่กว้างขวางได้กลายเป็นอุปกรณ์ที่มีอยู่ในชีวิตประจำวันเช่นแล็ปท็อปและโทรศัพท์มือถือเราเห็นว่ามันถูกแทนที่ด้วยค่ามิติเดี่ยว ในพล็อตตัวแปลมิติเดียว เราพยายามที่จะเห็นภาพการกระจายความน่าจะเป็นพื้นฐานของข้อมูลโดยการวาดเส้นโค้งต่อเนื่องที่เหมาะสม (รูปที่ 7.3) เส้นโค้งนี้จะต้องมีการประมาณจากข้อมูลและวิธีการที่ใช้กันมากที่สุดสำหรับขั้นตอนการประเมินนี้เรียกว่าการประมาณ kernel density ในการประมาณkernel densityเราวาดเส้นโค้งอย่างต่อเนื่อง (เคอร์เนล) ที่มีความกว้างขนาดเล็ก (ควบคุมโดยพารามิเตอร์ที่เรียกว่าแบนด์วิดท์) ที่ตำแหน่งของจุดข้อมูลแต่ละจุดจากนั้นเราจะเพิ่มเส้นโค้งเหล่านี้ทั้งหมด เคอร์เนลที่ใช้กันอย่างแพร่หลายที่สุดคือเคอร์เนลเกาส์เซียน (เช่น Gaussian bell curve) แต่มีตัวเลือกอื่น ๆ อีกมากมาย

รูปที่ 7.3: การประมาณคKernel densityของการกระจายอายุของผู้โดยสารบนไททานิค ความสูงของเส้นโค้งถูกปรับสัดส่วนเพื่อให้พื้นที่ใต้เส้นโค้งเท่ากับหนึ่ง การประมาณความหนาแน่นถูกดำเนินการกับเคอร์เนล Gaussian และแบนด์วิดท์ที่ 2

เช่นเดียวกับกรณีที่มีฮิสโตแกรมลักษณะที่ปรากฏทางภาพที่แน่นอนของ density plot ขึ้นอยู่กับตัวเลือก kernel และ bandwidth(รูปที่ 7.4) พารามิเตอร์แบนด์วิดธ์ทำงานคล้ายกับความกว้างของช่องเก็บในฮิสโทแกรม หากแบนด์วิดท์เล็กเกินไปการประมาณความหนาแน่นอาจสูงเกินไปและยุ่งมากจนมองเห็นไม่ได้และแนวโน้มหลักในข้อมูลอาจถูกบดบัง ในทางกลับกันถ้าแบนด์วิดท์มีขนาดใหญ่เกินไปคุณสมบัติที่เล็กลงในการกระจายข้อมูลอาจหายไป นอกจากนี้การเลือกเคอร์เนลมีผลต่อรูปร่างของเส้นโค้งความหนาแน่น ตัวอย่างเช่นเคอร์เนลแบบเกาส์เซียนจะมีแนวโน้มที่จะสร้างการประมาณความหนาแน่นที่มีลักษณะแบบเกาส์เซียนพร้อมด้วยคุณสมบัติที่นุ่มนวลและก้อย ในทางตรงกันข้ามเคอร์เนลรูปสี่เหลี่ยมผืนผ้าสามารถสร้างลักษณะที่ปรากฏของขั้นตอนในกราฟเส้นโค้งความหนาแน่น (รูปที่ 7.4d) โดยทั่วไปยิ่งมีจุดข้อมูลอยู่ในชุดข้อมูลมากเท่าใดการเลือกเคอร์เนลก็ยิ่งน้อยลงเท่านั้น ดังนั้นพล็อตความหนาแน่นจึงค่อนข้างน่าเชื่อถือและให้ข้อมูลสำหรับชุดข้อมูลขนาดใหญ่ แต่อาจทำให้เข้าใจผิดสำหรับชุดข้อมูลเพียงไม่กี่จุด

รูปที่ 7.4: การประมาณ Kernel densityขึ้นอยู่กับเคอร์เนลและแบนด์วิดท์ที่เลือก ที่นี่การกระจายอายุแบบเดียวกันของผู้โดยสารไททานิคแสดงให้เห็นถึงการรวมกันของพารามิเตอร์เหล่านี้สี่แบบ: (a) เคอร์เนลเสียนแบนด์วิดท์ = 0.5; (b) เคอร์เนลเสียนแบนด์วิดท์ = 2; © เคอร์เนลเสียนแบนด์วิดท์ = 5; (d) เคอร์เนลรูปสี่เหลี่ยมผืนผ้าแบนด์วิดท์ = 2

การประเมิน Kernel density มีหนึ่งหลุมพรางที่เราต้องระวัง: มีแนวโน้มที่จะสร้างลักษณะของข้อมูลที่ไม่มีอยู่โดยเฉพาะในส่วนท้าย ผลที่ตามมาคือการใช้การประมาณความหนาแน่นแบบไม่ประมาทสามารถนำไปสู่ตัวเลขที่สร้างข้อความไร้สาระได้อย่างง่ายดาย ตัวอย่างเช่นหากเราไม่ใส่ใจเราอาจสร้างภาพข้อมูลการกระจายอายุที่มีอายุเชิงลบ (รูปที่ 7.5)

ตรวจสอบเสมอว่าการประเมิน density ของคุณไม่ได้คาดการณ์การมีอยู่ของค่าข้อมูลไร้สาระ

ดังนั้นคุณควรใช้ฮิสโตแกรมหรือ density plot เพื่อแสดงภาพการแจกแจงหรือไม่? การอภิปรายในหัวข้อนี้ บางคนไม่ชอบ density plot และเชื่อว่ามักทำให้เข้าใจผิด คนอื่น ๆ ตระหนักว่าฮิสโทแกรมนั้นสามารถสร้างความเข้าใจผิดและทำให้เข้าใจผิดได้ ฉันคิดว่าตัวเลือกส่วนใหญ่เป็นเรื่องของรสนิยม แต่บางครั้งตัวเลือกตัวเลือกหนึ่งอย่างอื่นอาจสะท้อนถึงคุณลักษณะเฉพาะที่น่าสนใจของข้อมูลในมือ นอกจากนี้ยังมีความเป็นไปได้ที่จะไม่ใช้และแทนที่จะเลือกฟังก์ชัน density สะสมเชิงประจักษ์หรือแปลง q-q (บทที่ 8) ในที่สุดฉันเชื่อว่าการประเมิน density มีข้อได้เปรียบเหนือฮิสโทแกรมทันทีที่เราต้องการเห็นภาพการกระจายมากกว่าหนึ่งครั้งในแต่ละครั้ง (ดูหัวข้อถัดไป)

7.2 การแสดงข้อมูลหลายมิติและข้อมูลอนุกรมเวลา

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

รูปที่ 7.6: ฮิสโตแกรมของอายุของผู้โดยสารไททานิคแบ่งตามเพศ รูปนี้มีป้ายกำกับว่า “ไม่ดี” เนื่องจากฮิสโทแกรมซ้อนกันจะสับสนกับฮิสโทแกรมที่ทับซ้อนกันได้ง่าย (ดูรูปที่ 7.7) นอกจากนี้ความสูงของบาร์ที่เป็นตัวแทนของผู้โดยสารหญิงนั้นไม่สามารถเปรียบเทียบกันได้อย่างง่ายดาย

ในความคิดของฉันควรหลีกเลี่ยงการสร้างภาพข้อมูลประเภทนี้ มีปัญหาสำคัญสองประการที่นี่: ประการแรกจากการดูที่รูปมันไม่ชัดเจนเลยว่าบาร์เริ่มต้นตรงไหน มันเริ่มต้นที่การเปลี่ยนสีหรือพวกเขาตั้งใจที่จะเริ่มต้นที่ศูนย์? กล่าวอีกนัยหนึ่งมีผู้หญิงอายุ 25–20 ปีประมาณ 25–20 คนหรือเกือบ 80 คน (อดีตคือกรณี) ประการที่สองความสูงของบาร์สำหรับการนับเพศหญิงไม่สามารถเปรียบเทียบได้โดยตรงกับแต่ละอื่น ๆ เพราะแท่งทั้งหมดเริ่มต้นที่ความสูงที่แตกต่างกัน ตัวอย่างเช่นผู้ชายมีอายุมากกว่าผู้หญิงโดยเฉลี่ยและความจริงข้อนี้ไม่ปรากฏในภาพที่ 7.6

เราสามารถพยายามแก้ไขปัญหาเหล่านี้โดยเริ่มต้นที่บาร์ทั้งหมดที่ศูนย์และทำให้บาร์โปร่งใสบางส่วน (รูปที่ 7.7)

รูปที่ 7.7: การแจกแจงอายุของผู้โดยสารไททานิคเพศชายและเพศหญิงแสดงเป็นฮิสโตแกรมซ้อนกันสองภาพ รูปนี้มีป้ายกำกับว่า “ไม่ดี” เนื่องจากไม่มีสิ่งบ่งชี้ทางภาพที่ชัดเจนว่าแถบสีน้ำเงินทั้งหมดเริ่มต้นที่ 0

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

density plots ที่ทับซ้อนกันโดยทั่วไปจะไม่มีปัญหาที่ฮิสโทแกรมที่ทับซ้อนกันมีเนื่องจากเส้นความหนาแน่นต่อเนื่องช่วยให้การกระจายของดวงตาแยกกัน อย่างไรก็ตามสำหรับชุดข้อมูลนี้การแจกแจงอายุสำหรับผู้โดยสารชายและหญิงเกือบจะเหมือนกันจนถึงอายุ 17 แล้วแยกออกเพื่อให้การสร้างภาพข้อมูลยังไม่สมบูรณ์ (รูปที่ 7.8)

Figure 7.8: Density estimates of the ages of male and female Titanic passengers. To highlight that there were more male than female passengers, the density curves were scaled such that the area under each curve corresponds to the total number of male and female passengers with known age (468 and 288, respectively).

วิธีการแก้ปัญหาที่ใช้งานได้ดีสำหรับชุดข้อมูลนี้คือการแสดงการกระจายอายุของผู้โดยสารชายและหญิงแยกกันโดยแต่ละสัดส่วนจะเป็นสัดส่วนของการกระจายอายุโดยรวม (รูปที่ 7.9) การสร้างภาพข้อมูลนี้แสดงให้เห็นอย่างชัดเจนและชัดเจนว่ามีผู้หญิงน้อยกว่าผู้ชายในช่วงอายุ 20–50 ปีบนไททานิค

Figure 7.9: Age distributions of male and female Titanic passengers, shown as proportion of the passenger total. The colored areas show the density estimates of the ages of male and female passengers, respectively, and the gray areas show the overall passenger age distribution.

ในที่สุดเมื่อเราต้องการเห็นภาพการแจกแจงสองแบบเราก็สามารถสร้างฮิสโตแกรมแยกกันสองอันหมุนพวกมัน 90 องศาและมีแท่งในจุดฮิสโตแกรมหนึ่งจุดในทิศทางตรงกันข้ามของอีกอัน เคล็ดลับนี้ถูกใช้โดยทั่วไปเมื่อมองเห็นการแจกแจงอายุและพล็อตที่เกิดขึ้นมักเรียกว่าปิรามิดอายุ (รูปที่ 7.10)

Figure 7.10: The age distributions of male and female Titanic passengers visualized as an age pyramid.

ที่สำคัญเคล็ดลับนี้ใช้ไม่ได้เมื่อมีการแจกแจงมากกว่าสองรายการที่เราต้องการให้เห็นในเวลาเดียวกัน สำหรับการแจกแจงแบบหลายฮิสโทแกรมมีแนวโน้มที่จะเกิดความสับสนอย่างมากในขณะที่แผนการความหนาแน่นทำงานได้ดีตราบใดที่การแจกแจงค่อนข้างชัดเจน ตัวอย่างเช่นเมื่อต้องการให้เห็นภาพการกระจายตัวของเปอร์เซ็นต์ butterfat ระหว่างวัวจากวัวสี่สายพันธุ์ต่าง ๆ แปลงความหนาแน่นเป็นเรื่องปกติ (รูปที่ 7.11)

รูปที่ 7.11: การประมาณความหนาแน่นของเปอร์เซ็นต์ butterfat ในนมของวัวสี่ตัว แหล่งข้อมูล: บันทึกการปฏิบัติงานของแคนาดาสำหรับโคนมพันธุ์แท้

เพื่อให้เห็นภาพการกระจายหลาย ๆ ครั้งพร้อมกันkernel density plotsโดยทั่วไปจะทำงานได้ดีกว่าฮิสโตแกรม

อ่านบทอื่นๆได้ที่

1. บทนำ​Data Visualization

2 .Visualizing data: การเเสดงข้อมูลอย่างมีศิลปะ

3 การแสดงข้อมูลในรูปพิกัดและแกน

4. การใช้สีเพื่อแสดงข้อมูล

5 Directory of visualizations

6. การแสดงค่าข้อมูล

7 การแสดงการแจกแจง: ฮิสโตแกรมและ density plots

8 การแสดงภาพการแจกแจง: ฟังก์ชันการแจกแปล แจงสะสมเชิงประจักษ์และq-q Plots

9 -การแสดงข้อมูลหลายตัวแปลในรูปเดี่ยว

10 การแสดงข้อมูลในรูปสัดส่วน

11 การแสดงสัดส่วนข้อมูลที่ซ้อนกัน

12 การแสดงข้อมูลโดยเชื่อมโยงระหว่างตัวแปรเชิงปริมาณตั้งแต่สองตัวขึ้นไป

13 การแสดงข้อมูลอนุกรมเวลาและฟังก์ชั่นของตัวแปรอิสระ

14 การแสดงแนวโน้ม

15 การแสดงข้อมูลเชิงภูมิศาสตร์

16 การแสดงการกระจายของข้อมูล

17 หลักการแสดงข้อมูลที่เป็นสัดส่วน

18 การจัดการข้อมูลที่ซ้อนกันในการแสดงข้อมูล

19 ข้อผิดพลาดที่พบได้บ่อยเมื่อใช้สีแสดงข้อมูล

20 การแสดงข้อมูลที่ซ้อนกัน

21 การแสดงข้อมูลหลายกราฟในรูปเดียว

22 ชื่อเรื่อง Captions และตาราง

23 การสร้างสมดุลระหว่างข้อมูลและบริบทแวดล้อมในการแสดงข้อมูล

24 การใช้ labels ที่มีขนาดใหญ่

25 หลีกเลียงการใช้เส้นในการสร้างกราฟ

26 อย่าใช้กราฟ 3 มิติ

27 ทำความเข้าใจกับชนิดไฟล์ที่ใช้บ่อยในงานแสดงข้อมูล

28. การเลือกซอฟต์แวร์สร้างภาพข้อมูลที่ถูกต้อง

--

--

NUTHDANAI WANGPRATHAM
NUTHDANAI WANGPRATHAM

Written by NUTHDANAI WANGPRATHAM

I am a learner and have a multipotential life. You can contact me at nutdnuy@gmail.com

No responses yet