Cách tốt để biểu thị đồ họa cho một số lượng rất lớn các biểu dữ liệu được ghép nối là gì?


9

Trong lĩnh vực của tôi, cách thông thường để vẽ dữ liệu được ghép nối là một chuỗi các đoạn đường dốc mỏng, phủ nó với dải phân cách và CI của dải phân cách cho hai nhóm:

nhập mô tả hình ảnh ở đây

Tuy nhiên, loại cốt truyện này trở nên khó đọc hơn rất nhiều vì số lượng điểm dữ liệu rất lớn (trong trường hợp của tôi, tôi có thứ tự 10000 cặp):

nhập mô tả hình ảnh ở đây

Giảm alpha giúp một chút, nhưng nó vẫn không tuyệt vời. Trong khi tìm kiếm một giải pháp, tôi đã xem qua bài viết này và quyết định thử thực hiện một 'âm mưu đường song song'. Một lần nữa, nó hoạt động rất độc đáo đối với số lượng nhỏ các biểu dữ liệu:

nhập mô tả hình ảnh ở đây

N

nhập mô tả hình ảnh ở đây

Tôi cho rằng tôi có thể hiển thị riêng các bản phân phối cho hai nhóm, ví dụ như với boxplots hoặc violon và vẽ một dòng có lỗi trên đầu hiển thị hai trung vị / TCTD, nhưng tôi thực sự không thích ý tưởng đó, vì nó sẽ không truyền đạt tính chất ghép nối của dữ liệu.

Tôi cũng không quá quan tâm đến ý tưởng về một biểu đồ phân tán 2D: Tôi thích một biểu diễn nhỏ gọn hơn và lý tưởng nhất là trong đó các giá trị cho hai nhóm được vẽ dọc theo cùng một trục. Để hoàn thiện, đây là dữ liệu trông giống như một phân tán 2D:

nhập mô tả hình ảnh ở đây

Có ai biết một cách tốt hơn để biểu diễn dữ liệu được ghép nối với kích thước mẫu rất lớn không? Bạn có thể liên kết tôi với một số ví dụ?

Biên tập

Xin lỗi, tôi rõ ràng đã không làm một công việc đủ tốt để giải thích những gì tôi đang tìm kiếm. Đúng, biểu đồ phân tán 2D hoạt động và có nhiều cách để cải thiện mật độ điểm tốt hơn - Tôi có thể mã màu các chấm theo ước tính mật độ hạt nhân, tôi có thể tạo biểu đồ 2D , Tôi có thể vẽ các đường viền trên các dấu chấm, v.v.

Tuy nhiên, tôi nghĩ rằng điều này là quá mức cho thông điệp mà tôi đang cố gắng truyền tải. Tôi thực sự không quan tâm đến việc hiển thị mật độ 2D mỗi điểm - tất cả những gì tôi cần làm là chỉ ra rằng các giá trị cho 'thanh' thường lớn hơn so với 'điểm', theo cách đơn giản và rõ ràng nhất có thể và không làm mất tính chất kết hợp thiết yếu của dữ liệu. Lý tưởng nhất là tôi muốn vẽ các giá trị được ghép nối cho hai nhóm theo cùng một thay vì các trục trực giao, vì điều này giúp dễ dàng so sánh chúng một cách trực quan hơn.

Có thể không có lựa chọn nào tốt hơn cốt truyện phân tán, nhưng tôi muốn biết liệu có bất kỳ giải pháp thay thế nào có thể hoạt động không.


1
Bạn đã thử chỉ đơn giản là vẽ các giá trị tương ứng của bartrên ngang và dottrên trục dọc dưới dạng phân tán?
Till Hoffmann

@TillHoffmann Vâng, tôi đã đề cập đến điều đó ở cuối câu hỏi của tôi. Đây có lẽ là lựa chọn tốt nhất mà tôi có vào lúc này, nhưng tôi thích một đại diện nhỏ gọn hơn và lý tưởng nhất là đại diện cho các giá trị của cả hai nhóm trên cùng một trục (có lẽ tôi đang đòi hỏi vô lý ...). Tôi sẽ thêm scatterplot vào câu hỏi của tôi.
ali_m

Xin lỗi tôi đã bỏ lỡ. Làm thế nào bạn đang tạo dữ liệu tổng hợp của bạn tại thời điểm này?
Till Hoffmann

2
Bạn có thể giải thích những gì bạn có nghĩa là một đại diện "nhỏ gọn"? Scatterplot rõ ràng là vượt trội so với tất cả những thứ khác về việc hiển thị các mối quan hệ cũng như dữ liệu bất thường riêng lẻ trong một khu vực nhỏ; nó chỉ phát triển tốt hơn khi kích thước tập dữ liệu tăng lên. (10.000 không phải là lớn đối với một biểu đồ phân tán.) Bạn đề cập đến rất nhiều đồ họa khác nhau đến mức không thể suy ra những gì bạn thực sự cần. Xin vui lòng cho chúng tôi biết mục đích hình dung của bạn: chính xác loại thông tin nào bạn hy vọng sẽ tìm hiểu hoặc truyền đạt cho người khác? Làm thế nào chính xác và nhanh chóng bạn có ý định nó được nhận thức và hiểu?
whuber

1
@whuber Xin lỗi vì không rõ ràng. Điều tôi đã hy vọng là một cách để biểu diễn dữ liệu sao cho các giá trị cho cả hai nhóm được vẽ dọc theo nhau, thay vì các trục trực giao (vì chúng nằm trong các ô 'đường dốc' và 'đường thẳng song song'). Thông điệp rất đơn giản - rằng các giá trị cho 'thanh' thường cao hơn giá trị cho 'dấu chấm'. Ngoài ra, tôi không quan tâm lắm đến việc thể hiện mật độ phân phối, mặc dù tôi muốn truyền đạt rằng có một số lượng lớn các cặp trong mẫu.
ali_m

Câu trả lời:


7

Dựa vào cách tôi hiểu mục tiêu của bạn, tôi chỉ cần tính toán các khác biệt được ghép nối ( bars - dots), sau đó vẽ các khác biệt này trong biểu đồ ước tính mật độ hạt nhân hoặc biểu đồ. Bạn cũng có thể thêm bất kỳ kết hợp nào của (1) một đường thẳng đứng tương ứng với chênh lệch 0 (2) cho bất kỳ sự lựa chọn nào về phần trăm.

Điều này sẽ làm nổi bật phần nào của dữ liệu đã barsvượt quá dots, và nói chung những khác biệt quan sát được là gì.

(Tôi đã giả định rằng bạn không quan tâm đến việc hiển thị các giá trị thực, thô của barsdotstrong cùng một âm mưu.)

Người ta cũng có thể biểu thị khoảng tin cậy hoặc khoảng tin cậy sau để cho biết liệu những khác biệt này có ý nghĩa hay không. (H / T @MrMeritology!)


Thêm vào câu trả lời này: bạn cũng có thể vẽ các khoảng tin cậy cho các khác biệt được ghép nối sẽ cho biết trực quan xem sự khác biệt đó có đáng kể hay không.
MrMeritology

yB=μ+offset(yA)+Δ(yAy¯A

2

yByAyA

yB=μ+offset(yA)+Δ(yAy¯A)+ϵ
+Δ2(yAy¯A)2

Về mặt đồ họa, bạn có thể hiển thị các dòng như bạn đã hiển thị, với hệ số alpha giảm (*), có thể giảm hơn nữa bằng cách chỉ hiển thị một mẫu các dòng ngẫu nhiên. Sau đó, bạn có thể tô màu các đường theo độ dốc ...

Đối với các lô Bland-Altman, được đề cập trong một nhận xét của Nick Cox, hãy xem ví dụ về một ví dụ Thỏa thuận giữa các phương pháp với nhiều quan sát cho mỗi cá nhân hoặc xem qua thẻ .

(*) hệ số alpha ở đây là một tham số đồ họa làm cho các điểm trong biểu đồ trở nên trong suốt, do đó, các điểm được vẽ đầu tiên không hoàn toàn bị che khuất bởi sự quá mức sau này.


1

1

Tôi thích cốt truyện phân tán 2D. Tôi sẽ vẽ đường tham chiếu bằng màu xám nhạt để có độ tương phản cao hơn trong khu vực đông đúc. Để giảm bớt sự đông đúc, hãy vẽ các điểm đánh dấu không có viền, giảm thêm alpha, giảm kích thước điểm đánh dấu.

Điều đó nói rằng, nếu bạn quan tâm đến các cặp điển hình hơn là các cánh của phân phối, hãy thử vẽ biểu đồ tổng số tích lũy của tổng dotsso với tổng tích lũy của bars. Cốt truyện vẫn là 2D nhưng ít mực hơn nhiều. Để tiết kiệm diện tích vẽ, bạn có thể xoay dấu vết 45 ° để khung đóng vai trò là hướng tham chiếu.

Âm mưu đó cũng sẽ cho thấy bất kỳ xu hướng trong dữ liệu. Nếu quá trình được biết là đứng yên, hãy sắp xếp các cặp theo, ví dụ, ý nghĩa hình học của chúng , sqrt(bars*dots).


0

Tôi sẽ khuyên bạn nên vẽ các đường khi bạn có chúng cho trung vị và các phần tư, hoặc bao nhiêu phần trăm như bạn muốn cho vấn đề đó. Trung vị có thể vẫn dày hơn / rõ hơn so với các dòng phần trăm khác. Điều này sẽ giúp duy trì khả năng xem cách dữ liệu hoạt động trên toàn bộ phân phối mà không ảnh hưởng đến tính đơn giản và quen thuộc của cốt truyện hiện đang được sử dụng trong lĩnh vực của bạn.

Ngoài ra, với kích thước mẫu cao như vậy, xu hướng trung bình hoặc trung bình với các thanh lỗi có thể là đủ vì bạn hoàn toàn có thể tận hưởng định lý giới hạn trung tâm. Trường y sinh cũng dựa vào các ô dòng được ghép nối đó, nhưng điều này thường xảy ra vì kích thước mẫu có thể theo thứ tự 10-20, vì vậy điều quan trọng là phải hình dung các điểm đòn bẩy tiềm năng.


0

Đề nghị đầu tiên của tôi là một âm mưu phân tán.

Nếu 10000 điểm trải đều không đều trong cốt truyện của bạn vẫn là một đám mây mơ hồ, hãy xem xét bản đồ nhiệt. Màu của pixel tại x = 10,5, y = 11,5 sẽ cho biết số lần giá trị từ 10,45 đến 10,55 được ánh xạ lên một giá trị trong khoảng từ 11,45 đến 11,55: 0 = trắng = RGB (255,255,255), 1 = xanh = RGB (0, 0,255), 2 = RGB (1,0.254), ... 256 trở lên = RGB (255,0,0) = đỏ


Điều đó về cơ bản mang lại cho tôi loại đại diện tương tự như phân tán 2D, ngoại trừ với độ phân giải ít hơn. Cuối cùng tôi có thể làm một cái gì đó như thế này, nhưng tôi lý tưởng hy vọng cho một biểu diễn nhỏ gọn hơn, vẽ các giá trị cho cả hai nhóm dọc theo cùng một trục, thay vì các trục trực giao.
ali_m

1
Nhìn vào âm mưu phân tán của bạn, tôi thấy bạn đang mất rất nhiều thông tin ở trung tâm của "điểm mực" của bạn. Bạn cần phải làm một cái gì đó, bằng cách áp dụng một phép biến đổi (logarit?) Hoặc với bản đồ bá đạo mà tôi đề xuất.
Dirk Horsten

Lấy làm tiếc! Đề xuất của bạn là một điều hoàn toàn hợp lý - Tôi chỉ chưa thực hiện một công việc đủ tốt để giải thích những gì tôi đang tìm kiếm. Đúng, một biểu đồ hai chiều (phân tán, sơ đồ nhiệt, biểu đồ đường viền, v.v.) sẽ làm tốt công việc biểu thị mật độ của các điểm mẫu, nhưng tôi nghĩ đó là thông tin nhiều hơn tôi thực sự cần hiển thị. Tất cả những gì tôi cần làm là chỉ ra rằng các giá trị cho 'thanh' thường cao hơn giá trị cho 'dấu chấm'. Tôi đang tìm cách đơn giản nhất có thể để hiển thị điều này trong khi vẫn giữ được tính chất được ghép nối của dữ liệu.
ali_m

Liệu đường chéo trên biểu đồ catter không chỉ ra hướng đủ tốt?
Dirk Horsten

Không, nhưng có lẽ tôi có những kỳ vọng không hợp lý :-)
ali_m
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.