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_halfeye và stat_dots trong thư việt ggdist để vẽ biểu đồ này.


Bài viết khác
Gói deltatest vừa phát hành phiên bản 0.2.0 với hai cập nhật quan trọng: phương thức tidy() cho đối tượng deltatest và sửa lỗi tính giá trị p cho kiểm định một phía. Trước khi đi vào chi tiết, hãy nhắc lại nhanh mục đích của gói này. deltatest giải quyết bài toán gì deltatest cung cấp hàm deltatest() để thực hiện kiểm định Z hai mẫu dựa trên phương pháp Delta. Gói này thiết kế cho bối cảnh phổ biến trong thử nghiệm A/B trực tuyến: ngẫu nhiên hóa ở mức người dùng nhưng chỉ số đo lường ở đơn vị tốt hơn như lượt xem trang hoặc phiên làm việc. Trong thiết lập này, các kiểm định ngây thơ (Z-test chuẩn, kiểm định chi-bình phương, kiểm định hiệu tỷ lệ) thường thấp 추정 độ không chắc chắn vì các quan sát trong cùng một người dùng không độc lập. deltatest() khắc phục vấn đề này bằng bộ ước lượng phương sai dựa trên phương pháp Delta.
Trong bối cảnh các tổ chức chính phủ và tổ chức phi lợi nhuận ngày càng cần công cụ trực quan hóa dữ liệu minh bạch, mở và bền vững, việc lựa chọn công cụ phù hợp không chỉ ảnh hưởng đến chất lượng báo cáo mà còn quyết định tính khả thi trong dài hạn. D3po và Tabler – hai dự án mã nguồn mở được phát triển bởi pacha.dev – chính là giải pháp lý tưởng cho những ai cần biểu đồ tương tác mà không lo rủi ro pháp lý từ giấy phép GPL. D3po là một gói R thay thế miễn phí cho Highcharter, với thiết kế hướng đến sự đơn giản và hiệu suất cao. Thay vì bao gồm hàng trăm tùy chọn phức tạp, D3po tập trung vào các tính năng cốt lõi: biểu đồ dạng cây (treemap), biểu đồ đường, biểu đồ cột – tất cả đều được xây dựng trên nền tảng JavaScript mạnh mẽ nhưng không yêu cầu giấy phép trả phí cho mục đích tổ chức. Điều này đặc biệt quan trọng khi các cơ quan nhà nước hoặc NGO phải tuân thủ nghiêm ngặt về nguồn gốc phần mềm. Một trong những câu hỏi thường gặp sau khi giới thiệu D3po là: Liệu có thể tạo biểu đồ treemap lồng ghép (nested treemap) không? Câu trả lời là có. Trong gói demo được cung cấp, người dùng có thể khám phá cách xây dựng cấu trúc phân cấp rõ ràng, từ cấp quốc gia đến tỉnh thành, thể hiện dữ liệu phân bổ ngân sách hoặc dân số theo từng tầng. Sự linh hoạt này giúp người dùng truyền tải thông tin phức tạp một cách trực quan mà không cần đến các công cụ thương mại đắt đỏ.
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: [email protected]
Hotline: 03.57.94.7680 (Mrs. Hà)
Mạng xã hội