messenger_logo
Liên hệ qua Messenger
SciEco

[BLOG 009] Tại sao không nên lạm dụng biểu đồ hộp (boxplot)

KH
Khanh Hoang
Ngày viết: 26/06/2024

1. Biểu đồ hộp là gì?

Biểu đồ hộp là một công cụ rất phổ biến trong trực quan hóa dữ liệu. Biểu đồ hộp được sử dụng rộng rãi để tổng hợp và hiển thị các đặc điểm quan trọng của dữ liệu

Để hiểu rõ về biểu đồ hộp, bạn hãy xem qua ví dụ sau. Giả sử bạn đang phân tích dữ liệu về thu nhập của nhóm đối tượng bạn đang khảo sát.

Bạn có thể quan tâm

Để biết được các thông tin trên, về cơ bản ta có thể sử dụng biểu đồ hộp.

Cụ thể với nhìn trên biểu đồ hộp, ta thấy được:

Tại hai đầu của trái phải của râu hộp (Whisker) biểu thị giá trị thấp nhất và cao nhất, trường hợp này là thu nhập thấp nhất (12.7 triệu đồng) và thu nhập cao nhất (17.6 triệu đồng).

Tại 2 đầu trái phải hộp, là mức phân vị 25 và phân vị 75 của dữ liệu, trong đó:

Tại đường thẳng ở chính giữa hộp, đây là mức phân vị 50 hay còn gọi là Trung vị (14.8 triệu đồng). Ta có thể hiểu rằng có khoảng 50% người được khảo sát có mức thu nhập nhỏ hơn hoặc bằng 14.8 triệu đồng

Ta thấy rằng biểu đồ hộp là biểu đồ rất đơn giản nhưng vẫn có thể đem lại rất nhiều thông tin quan trọng về dữ liệu. Tuy nhiên vì sự tiện dụng mà có rất nhiều phân tích đã lạm dụng biểu đồ này trong phân tích. Dưới đây là lý do tại sao bạn không bên lạm dụng biểu đồ hộp trong phân tích của mình.

2. Tại sao bạn không nên lạm dụng biểu đồ hộp?

Bạn hãy thử nghĩ về cách để vẽ được biểu đồ hộp. Thực chất việc vẽ biểu đồ này rất đơn giản:

Vị trí hay mật độ của các điểm dữ liệu khác ở giữa 5 điểm trên không quan trọng đối với biểu đồ hình hộp. Biểu đồ hộp vẫn không thay đổi miễn là các điểm dữ liệu có thể thay đổi vị trí tùy thích miễn là nó vẫn nằm trong phạm vi của hai điểm chính mà chúng nằm ở giữa.

Ví dụ ta có điểm A là điểm nằm giữa phân vị 25 và trung vị. Như vậy dù điểm A có tăng hay giảm đi miễn là vẫn nằm giữa phân vị 25 và trung vụ thì biểu đồ hộp vẫn không đổi

Theo ví dụ trên giả sử ta thu thập dữ liệu của khu vực A và B, nếu ta chỉ dùng box plot thì có thể thấy thu nhập ở hai thu vực này tương đồng với nhau.

Nhưng khi quan sát kỹ hơn, ta thấy được thực thế thu nhập ở khu vực A nhỉnh hơn so với khu vực B, do đó nếu chỉ sử dụng boxplot ta khó để có thể thấy sự khác biệt này.

Để rõ hơn ta xem hình minh hoạ sau, nguồn: Albert Rapp (2024)

Different Data, Same Boxplot (Albert Rapp, 2024)

Vì vậy, đó là lý do tại sao việc chỉ dựa vào biểu đồ hộp thường không tốt. Thay vào đó, ta có thể kết hợp thêm vào biểu đồ hộp như biểu đồ đàn violin để hiển thị chi tiết hơn sự phân bổ thay vì chỉ dựa các đại lượng chính như phân vị hay lớn nhất nhỏ nhất.

Bạn có thể tìm hiểu cách sử dụng hàm geom_violin để vẽ biểu đồ này.

Hoặc thậm chí xa hơn là kết hợp biểu đồ mưa (raincloud plot) vào biểu đồ hình hộp để hiển thị dữ liệu rõ ràng hơn.

Bạn có thể tìm hiểu hàm stat_halfeyestat_dots trong thư việt ggdist để vẽ biểu đồ này.


Bài viết khác
Dữ liệu hiện diện ở khắp mọi nơi. Các cơ quan chính phủ, tổ chức tài chính, trường đại học và nền tảng mạng xã hội thường cung cấp quyền truy cập dữ liệu của họ thông qua API. Hệ thống này đóng vai trò như một cầu nối, thường trả về khối dữ liệu được yêu cầu dưới định dạng tệp JSON. Việc nắm vững cách sử dụng Python để gửi các truy vấn API và xử lý dữ liệu JSON thu được ngay bên trong môi trường Stata là một kỹ năng cực kỳ hữu ích cho quá trình phân tích dữ liệu hiện đại. Khái quát về cấu trúc API và định dạng JSON API là một phần mềm trung gian cho phép hệ thống của bạn yêu cầu dữ liệu từ một hệ thống máy tính khác. Cú pháp truy vấn thường mang tính đặc thù tùy thuộc vào từng hệ thống cung cấp, nhưng một cấu trúc điển hình luôn bắt đầu bằng một URL theo sau là các tùy chọn tham số. Bài viết này sẽ lấy ví dụ về việc sử dụng hệ thống openFDA để truy xuất dữ liệu về các biến cố bất lợi của thuốc từ Cục Quản lý Thực phẩm và Dược phẩm Hoa Kỳ. Chúng ta hoàn toàn có thể thêm các điều kiện lọc vào lời gọi API để thu hẹp phạm vi dữ liệu trả về. Dữ liệu này hiển thị dưới dạng JSON, một định dạng lưu trữ phổ biến được cấu trúc bởi tập hợp các cặp khóa và giá trị. Khóa hoạt động tương tự như một biến số trong tập dữ liệu Stata, còn giá trị chính là dữ liệu thực tế được ghi nhận.
Trong bài phân tích trước, chúng ta đã làm quen với mô hình tuyến tính tổng quát thông qua một tập dữ liệu khá đặc biệt: số ca tử vong do ngựa đá trong quân đội Phổ. Tập dữ liệu này đếm số lượng tử vong của các quân đoàn qua từng năm. Vì đây là dữ liệu đếm, chúng ta đã điều chỉnh mô hình tuyến tính để sử dụng phân phối Poisson, đồng thời áp dụng hàm liên kết log. Tuy nhiên, có một khía cạnh mà chúng ta chưa xem xét: liệu tất cả các quân đoàn có tỷ lệ tử vong giống hệt nhau không? Khám phá dữ liệu theo từng nhóm Trước tiên, chúng ta cần thiết lập môi trường trong R.
SciEco
Science for Economics
Định hướng đào tạo phân tích dữ liệu, xây dựng chính sách, tối ưu hoá danh mục tài chính cá nhân và dự báo thị trường.
Liên hệ
Địa chỉ: Số 60, ngõ 41, Phố Thái Hà, Trung Liệt, Đống Đa, Hà Nội (Google Map)
Email: science.for.economics@gmail.com
Hotline: 03.57.94.7680 (Mrs. Hà)
Mạng xã hội