Đánh giá phân phối dữ liệu gần đúng dựa trên biểu đồ


111

Giả sử tôi muốn xem liệu dữ liệu của mình có theo cấp số nhân hay không dựa trên biểu đồ (nghĩa là lệch sang phải).

Tùy thuộc vào cách tôi nhóm hoặc bin dữ liệu, tôi có thể nhận được các biểu đồ khác nhau.

Một bộ biểu đồ sẽ tạo ra dường như dữ liệu theo cấp số nhân. Một bộ khác sẽ làm cho có vẻ như dữ liệu không theo cấp số nhân. Làm cách nào để xác định phân phối từ biểu đồ được xác định rõ?


20
Tại sao không quên về biểu đồ, bởi vì các vấn đề bạn mô tả đã được thiết lập tốt, và xem xét các công cụ thay thế như lô qq và mức độ tốt của các bài kiểm tra phù hợp?
whuber

Câu trả lời:


163

Khó khăn trong việc sử dụng biểu đồ để suy ra hình dạng

Trong khi biểu đồ thường tiện dụng và đôi khi hữu ích, chúng có thể gây hiểu nhầm. Sự xuất hiện của chúng có thể thay đổi khá nhiều với những thay đổi về vị trí của ranh giới bin.

Vấn đề này đã được biết đến từ lâu *, mặc dù có lẽ không rộng rãi như vậy - bạn hiếm khi thấy nó được đề cập trong các cuộc thảo luận cấp tiểu học (mặc dù có những trường hợp ngoại lệ).

* ví dụ, Paul Rubin [1] đã nói theo cách này: " ai cũng biết rằng việc thay đổi các điểm cuối trong biểu đồ có thể thay đổi đáng kể diện mạo của nó ". .

Tôi nghĩ đó là một vấn đề nên được thảo luận rộng rãi hơn khi giới thiệu biểu đồ. Tôi sẽ đưa ra một số ví dụ và thảo luận.

Tại sao bạn nên cảnh giác khi dựa vào một biểu đồ duy nhất của tập dữ liệu

Hãy xem bốn biểu đồ này:

Bốn biểu đồ

Đó là bốn biểu đồ trông rất khác nhau.

Nếu bạn dán dữ liệu sau vào (Tôi đang sử dụng R ở đây):

Annie <- c(3.15,5.46,3.28,4.2,1.98,2.28,3.12,4.1,3.42,3.91,2.06,5.53,
5.19,2.39,1.88,3.43,5.51,2.54,3.64,4.33,4.85,5.56,1.89,4.84,5.74,3.22,
5.52,1.84,4.31,2.01,4.01,5.31,2.56,5.11,2.58,4.43,4.96,1.9,5.6,1.92)
Brian <- c(2.9, 5.21, 3.03, 3.95, 1.73, 2.03, 2.87, 3.85, 3.17, 3.66, 
1.81, 5.28, 4.94, 2.14, 1.63, 3.18, 5.26, 2.29, 3.39, 4.08, 4.6, 
5.31, 1.64, 4.59, 5.49, 2.97, 5.27, 1.59, 4.06, 1.76, 3.76, 5.06, 
2.31, 4.86, 2.33, 4.18, 4.71, 1.65, 5.35, 1.67)
Chris <- c(2.65, 4.96, 2.78, 3.7, 1.48, 1.78, 2.62, 3.6, 2.92, 3.41, 1.56, 
5.03, 4.69, 1.89, 1.38, 2.93, 5.01, 2.04, 3.14, 3.83, 4.35, 5.06, 
1.39, 4.34, 5.24, 2.72, 5.02, 1.34, 3.81, 1.51, 3.51, 4.81, 2.06, 
4.61, 2.08, 3.93, 4.46, 1.4, 5.1, 1.42)
Zoe <- c(2.4, 4.71, 2.53, 3.45, 1.23, 1.53, 2.37, 3.35, 2.67, 3.16, 
1.31, 4.78, 4.44, 1.64, 1.13, 2.68, 4.76, 1.79, 2.89, 3.58, 4.1, 
4.81, 1.14, 4.09, 4.99, 2.47, 4.77, 1.09, 3.56, 1.26, 3.26, 4.56, 
1.81, 4.36, 1.83, 3.68, 4.21, 1.15, 4.85, 1.17)

Sau đó, bạn có thể tự tạo chúng:

opar<-par()
par(mfrow=c(2,2))
hist(Annie,breaks=1:6,main="Annie",xlab="V1",col="lightblue")
hist(Brian,breaks=1:6,main="Brian",xlab="V2",col="lightblue")
hist(Chris,breaks=1:6,main="Chris",xlab="V3",col="lightblue")
hist(Zoe,breaks=1:6,main="Zoe",xlab="V4",col="lightblue")
par(opar)

Bây giờ hãy nhìn vào biểu đồ dải này:

x<-c(Annie,Brian,Chris,Zoe)
g<-rep(c('A','B','C','Z'),each=40)
stripchart(x~g,pch='|')
abline(v=(5:23)/4,col=8,lty=3)
abline(v=(2:5),col=6,lty=3)

Biểu đồ 4 dải

(Nếu vẫn chưa rõ ràng, hãy xem điều gì xảy ra khi bạn trừ dữ liệu của Annie khỏi mỗi bộ head(matrix(x-Annie,nrow=40)):)

Dữ liệu đơn giản đã được dịch chuyển sang trái mỗi lần 0,25.

Tuy nhiên, những ấn tượng chúng ta có được từ biểu đồ - xiên phải, đồng phục, xiên trái và lưỡng kim - hoàn toàn khác nhau. Ấn tượng của chúng tôi hoàn toàn bị chi phối bởi vị trí của thùng rác đầu tiên so với mức tối thiểu.

Vì vậy, không chỉ là 'số mũ' so với 'không thực sự theo cấp số nhân' mà là 'lệch phải' so với 'lệch trái' hoặc 'lưỡng kim' so với 'đồng phục' chỉ bằng cách di chuyển nơi các thùng của bạn bắt đầu.


Chỉnh sửa: Nếu bạn thay đổi băng thông, bạn có thể nhận được những thứ như thế này xảy ra:

Skew vs chuông

Đó là 34 quan sát giống nhau trong cả hai trường hợp, chỉ là các điểm dừng khác nhau, một điểm dừng có độ rộng và điểm khác có độ rộng .0,810.8

x <- c(1.03, 1.24, 1.47, 1.52, 1.92, 1.93, 1.94, 1.95, 1.96, 1.97, 1.98, 
  1.99, 2.72, 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99, 3.6, 
  3.64, 3.66, 3.72, 3.77, 3.88, 3.91, 4.14, 4.54, 4.77, 4.81, 5.62)
hist(x,breaks=seq(0.3,6.7,by=0.8),xlim=c(0,6.7),col="green3",freq=FALSE)
hist(x,breaks=0:8,col="aquamarine",freq=FALSE)

Tiện lợi hả?

Đúng, những dữ liệu đó được tạo ra một cách có chủ ý để làm điều đó ... nhưng bài học rất rõ ràng - những gì bạn nghĩ bạn nhìn thấy trong biểu đồ có thể không phải là một ấn tượng đặc biệt chính xác về dữ liệu.

Chúng ta có thể làm gì?

Biểu đồ được sử dụng rộng rãi, thường xuyên thuận tiện để có được và đôi khi dự kiến. Chúng ta có thể làm gì để tránh hoặc giảm thiểu những vấn đề như vậy?

Như Nick Cox đã chỉ ra trong một bình luận cho một câu hỏi liên quan : Quy tắc ngón tay cái luôn luôn phải là các chi tiết mạnh mẽ cho các biến thể về chiều rộng của thùng và nguồn gốc bin có thể là chính hãng; chi tiết mong manh như vậy có khả năng là giả hoặc tầm thường .

Ít nhất, bạn phải luôn luôn tạo biểu đồ ở một số mức độ băng thông hoặc nguồn gốc khác nhau, hoặc tốt nhất là cả hai.

Ngoài ra, kiểm tra ước tính mật độ hạt nhân ở băng thông không quá rộng.

Một cách tiếp cận khác làm giảm tính tùy tiện của biểu đồ là biểu đồ thay đổi trung bình ,

Biểu đồ chuyển dịch trung bình

(đó là một trong bộ dữ liệu gần đây nhất) nhưng nếu bạn nỗ lực, tôi nghĩ bạn cũng có thể sử dụng ước tính mật độ hạt nhân.

Nếu tôi đang làm một biểu đồ (tôi sử dụng chúng mặc dù nhận thức sâu sắc về vấn đề này), tôi hầu như luôn thích sử dụng nhiều thùng hơn so với các mặc định chương trình thông thường có xu hướng đưa ra và tôi thường thích làm một số biểu đồ với độ rộng thùng khác nhau (và, đôi khi, nguồn gốc). Nếu chúng hợp lý về ấn tượng, bạn có thể không gặp phải vấn đề này và nếu chúng không nhất quán, bạn biết xem xét kỹ hơn, có thể thử ước tính mật độ hạt nhân, CDF theo kinh nghiệm, cốt truyện QQ hoặc một cái gì đó giống.

Trong khi biểu đồ đôi khi có thể gây hiểu nhầm, các ô vuông thậm chí còn dễ bị các vấn đề như vậy hơn; với một boxplot, bạn thậm chí không có khả năng nói "sử dụng nhiều thùng hơn". Xem bốn bộ dữ liệu rất khác nhau trong bài đăng này , tất cả đều có các ô vuông đối xứng giống hệt nhau, mặc dù một trong các bộ dữ liệu khá sai lệch.

[1]: Rubin, Paul (2014) "Lạm dụng biểu đồ!",
Bài đăng trên blog, HOẶC trong thế giới OB ,
liên kết ngày 23 tháng 1 năm 2014 ... (liên kết thay thế)


1
Thực tế mọi đồ thị cần thiết đều chứa dữ liệu như thế này. Các thùng chỉ đủ nhỏ (chiều rộng của một pixel dọc theo trục) mà không thành vấn đề?
AJMansfield

1
@AJMansfield Điều này hơi giống như nói "mọi phân phối đều rời rạc" - trong khi theo đúng nghĩa đen, nó che khuất vấn đề liên quan. Số lượng thùng thông thường trong công cụ ước tính bị đánh cắp nhỏ hơn rất nhiều so với số pixel thông thường ... và với bất kỳ đồ họa nào sử dụng khử răng cưa, số lượng pixel 'hiệu quả' sẽ lớn hơn (trong đó có khả năng phân biệt sự khác biệt về vị trí giữa các pixel)
Glen_b

2
Vấn đề cơ bản là biểu đồ phụ thuộc rất nhiều vào kích thước thùng. Thật khó để xác định đây là một tiên nghiệm.

29

Mật độ hạt nhân hoặc biểu đồ logspline có thể là một lựa chọn tốt hơn so với biểu đồ. Vẫn còn một số tùy chọn có thể được đặt bằng các phương thức này, nhưng chúng ít thay đổi hơn so với biểu đồ. Có qqplots là tốt. Một công cụ tuyệt vời để xem liệu dữ liệu có đủ gần với phân phối lý thuyết hay không được trình bày chi tiết trong:

 Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne,
 D.F and Wickham, H. (2009) Statistical Inference for exploratory
 data analysis and model diagnostics Phil. Trans. R. Soc. A 2009
 367, 4361-4383 doi: 10.1098/rsta.2009.0120

Phiên bản ngắn của ý tưởng (vẫn đọc bài viết để biết chi tiết) là bạn tạo dữ liệu từ phân phối null và tạo một số lô trong đó là dữ liệu gốc / dữ liệu thực và phần còn lại được mô phỏng từ phân phối lý thuyết. Sau đó, bạn trình bày các lô cho ai đó (có thể là chính bạn) chưa xem dữ liệu gốc và xem liệu họ có thể chọn ra dữ liệu thực hay không. Nếu họ không thể xác định dữ liệu thực thì bạn không có bằng chứng chống lại null.

Các vis.testchức năng trong gói TeachingDemos cho R giúp thực hiện một hình thức kiểm tra này.

Đây là một ví dụ nhanh. Một trong các ô bên dưới là 25 điểm được tạo từ phân phối với 10 bậc tự do, 8 điểm còn lại được tạo từ phân phối bình thường có cùng giá trị trung bình và phương sai.

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

Các vis.testchức năng tạo ra âm mưu này và sau đó sẽ nhắc người dùng chọn đó của thửa họ nghĩ là khác nhau, sau đó lặp lại quá trình hơn 2 lần (3 tổng số).


@ScottStafford, tôi đã thêm một bản sao của cốt truyện ở trên. Cái này sử dụng qqplots nhưng hàm cũng sẽ tạo ra biểu đồ hoặc biểu đồ mật độ có thể được lập trình.
Greg Snow

28

Các biểu đồ phân phối tích lũy [ MATLAB , R ] - trong đó bạn vẽ biểu đồ tỷ lệ các giá trị dữ liệu nhỏ hơn hoặc bằng một phạm vi các giá trị - cho đến nay là cách tốt nhất để xem xét phân phối dữ liệu theo kinh nghiệm. Ví dụ, đây là các ECDF của dữ liệu này , được tạo ra trong R:

Âm mưu ECDF của Alice, Brian, Chris và Zoe

Điều này có thể được tạo ra với đầu vào R sau (với dữ liệu trên):

plot(ecdf(Annie),xlim=c(min(Zoe),max(Annie)),col="red",main="ECDFs")
lines(ecdf(Brian),col="blue")
lines(ecdf(Chris),col="green")
lines(ecdf(Zoe),col="orange")

Như bạn có thể thấy, rõ ràng là bốn bản phân phối này chỉ đơn giản là bản dịch của nhau. Nói chung, lợi ích của ECDF đối với việc hiển thị phân phối dữ liệu theo kinh nghiệm là:

  1. Họ chỉ đơn giản trình bày dữ liệu vì nó thực sự xảy ra mà không có biến đổi nào ngoài tích lũy, do đó không có khả năng vô tình lừa dối chính bạn, như có biểu đồ và ước tính mật độ hạt nhân, vì cách bạn xử lý dữ liệu.
  2. Chúng cho một cảm giác trực quan rõ ràng về sự phân phối dữ liệu vì mỗi điểm được đệm bởi tất cả dữ liệu trước và sau nó. So sánh điều này với trực quan hóa mật độ không tích lũy, trong đó độ chính xác của từng mật độ tự nhiên không bị xáo trộn, và do đó phải được ước tính bằng cách ghép (biểu đồ) hoặc làm mịn (KDEs).
  3. Chúng hoạt động tốt như nhau bất kể dữ liệu tuân theo phân phối tham số tốt, một số hỗn hợp hoặc phân phối không tham số lộn xộn.

Bí quyết duy nhất là học cách đọc ECDF đúng cách: khu vực dốc nông có nghĩa là phân bố thưa thớt, khu vực dốc dốc có nghĩa là phân bố dày đặc. Tuy nhiên, khi bạn cảm thấy thoải mái khi đọc chúng, chúng là một công cụ tuyệt vời để xem xét phân phối dữ liệu theo kinh nghiệm.


Có tài liệu nào có sẵn để đọc CDF không? ví dụ: nếu phân phối cdf của tôi như bạn đã trình bày ở trên thì làm cách nào chúng tôi có thể phân loại \ guesstimate nó thành chisapes, bình thường hoặc phân phối khác dựa trên ngoại hình
thống kê 101

2

Gợi ý: Biểu đồ thường chỉ gán dữ liệu trục x đã xảy ra tại điểm giữa của thùng và bỏ qua các biện pháp trục x của vị trí có độ chính xác cao hơn. Hiệu ứng này có trên các dẫn xuất của sự phù hợp có thể khá lớn. Hãy để chúng tôi lấy một ví dụ tầm thường. Giả sử chúng ta lấy đạo hàm cổ điển của một đồng bằng Dirac nhưng sửa đổi nó để chúng ta bắt đầu với phân phối Cauchy tại một số vị trí trung bình tùy ý với tỷ lệ hữu hạn (tối đa nửa chiều rộng). Sau đó, chúng tôi lấy giới hạn khi thang đo về không. Nếu chúng tôi sử dụng định nghĩa cổ điển của biểu đồ và không thay đổi kích thước bin, chúng tôi sẽ không nắm bắt được vị trí hoặc tỷ lệ. Tuy nhiên, nếu chúng tôi sử dụng vị trí trung bình trong các thùng có chiều rộng cố định, chúng tôi sẽ luôn nắm bắt vị trí, nếu không phải là tỷ lệ khi tỷ lệ nhỏ so với chiều rộng của thùng.

Đối với các giá trị phù hợp trong đó dữ liệu bị lệch, sử dụng điểm giữa bin cố định sẽ trục x thay đổi toàn bộ đoạn đường cong trong khu vực đó, mà tôi tin rằng có liên quan đến câu hỏi ở trên.

BƯỚC 1 vui vẻĐây là một giải pháp gần như. Tôi đã sử dụngn=8trong mỗi loại biểu đồ và chỉ hiển thị những giá trị này dưới dạng giá trị trục x trung bình từ mỗi thùng. Vì mỗi thùng biểu đồ có giá trị là 8, tất cả các bản phân phối đều trông đồng nhất và tôi phải bù chúng theo chiều dọc để hiển thị chúng. Màn hình không phải là câu trả lời chính xác, nhưng nó không phải là không có thông tin. Nó cho chúng ta biết chính xác rằng có một trục x giữa các nhóm. Nó cũng cho chúng ta biết rằng phân phối thực tế dường như có hình chữ U. Tại sao? Lưu ý rằng khoảng cách giữa các giá trị trung bình cách xa nhau ở trung tâm và gần hơn ở các cạnh. Vì vậy, để làm cho điều này trở thành một đại diện tốt hơn, chúng ta nên mượn toàn bộ các mẫu và số lượng phân số của từng mẫu ranh giới bin để tạo ra tất cả các giá trị bin trung bình trên phương trình tương đương trục x. Sửa lỗi này và hiển thị nó đúng cách sẽ cần một chút lập trình. Nhưng, nó có thể chỉ là một cách để tạo ra biểu đồ để chúng thực sự hiển thị dữ liệu cơ bản ở một số định dạng logic. Hình dạng vẫn sẽ thay đổi nếu chúng ta thay đổi tổng số thùng chứa phạm vi dữ liệu, nhưng ý tưởng là để giải quyết một số vấn đề được tạo ra bằng cách tùy ý tạo thùng.

BƯỚC 2 Vì vậy, hãy bắt đầu vay giữa các thùng để cố gắng làm cho phương tiện cách đều nhau hơn.nhập mô tả hình ảnh ở đây

Bây giờ, chúng ta có thể thấy hình dạng của biểu đồ bắt đầu xuất hiện. Nhưng sự khác biệt giữa các phương tiện là không hoàn hảo vì chúng tôi chỉ có toàn bộ số lượng mẫu để trao đổi giữa các thùng. Để loại bỏ giới hạn của các giá trị nguyên trên trục y và hoàn thành quá trình tạo giá trị trung bình trục x tương đương, chúng ta phải bắt đầu chia sẻ phân số của một mẫu giữa các thùng.

Bước 3 Việc chia sẻ các giá trị và các phần của các giá trị. histo3

Như người ta có thể thấy, việc chia sẻ các phần của một giá trị tại một thùng rác có thể cải thiện tính đồng nhất của khoảng cách giữa các giá trị trung bình. Tôi quản lý để làm điều này đến ba vị trí thập phân với dữ liệu được cung cấp. Tuy nhiên, người ta không thể nghĩ rằng làm cho khoảng cách giữa các giá trị trung bình nói chung chính xác bằng nhau, vì độ thô của dữ liệu sẽ không cho phép điều đó.

Tuy nhiên, người ta có thể làm những việc khác như sử dụng ước tính mật độ hạt nhân .

Ở đây, chúng ta thấy dữ liệu của Annie là mật độ hạt nhân giới hạn sử dụng độ mịn Gaussian là 0,1, 0,2 và 0,4. Các đối tượng khác sẽ có các chức năng thay đổi cùng loại, với điều kiện một người làm điều tương tự như tôi đã làm, cụ thể là sử dụng giới hạn dưới và trên của mỗi bộ dữ liệu. Vì vậy, đây không còn là biểu đồ, mà là PDF và nó đóng vai trò tương tự như biểu đồ mà không có một số mụn cóc.

hạt nhân

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.