Chiều rộng thùng tối ưu cho biểu đồ hai chiều


8

Có rất nhiều quy tắc để chọn chiều rộng thùng tối ưu trong biểu đồ 1D (xem ví dụ )

Tôi đang tìm một quy tắc áp dụng lựa chọn chiều rộng thùng bằng nhau tối ưu trên biểu đồ hai chiều .

Có quy định như vậy? Có lẽ một trong những quy tắc nổi tiếng về biểu đồ 1D có thể dễ dàng điều chỉnh, nếu vậy, bạn có thể cung cấp một số chi tiết tối thiểu về cách thực hiện không?


Tối ưu cho mục đích gì? Cũng xin lưu ý rằng biểu đồ 2D sẽ gặp phải các vấn đề tương tự như trong biểu đồ thông thường, do đó bạn có thể muốn chuyển sự chú ý của mình sang các lựa chọn thay thế như ước tính mật độ hạt nhân.
whuber

1
Có lý do nào khiến bạn không thích ứng một cái gì đó đơn giản như quy tắc hoặc công thức của Sturges cho vấn đề của bạn không? Dọc theo mỗi chiều bạn có cùng số lần đọc. Nếu bạn muốn một cái gì đó tinh vi hơn một chút (ví dụ: quy tắc Freedman-Diaconis), bạn có thể "ngây thơ" lấy tối đa giữa số lượng thùng trả lại cho mỗi chiều một cách độc lập. Về cơ bản, bạn đang xem xét một KDE rời rạc (2d) vì vậy có lẽ đó là lựa chọn tốt nhất của bạn. (n)
usεr11852

Vì mục đích không phải chọn chiều rộng thùng bằng tay do đó chủ quan? Để chọn một chiều rộng sẽ mô tả dữ liệu cơ bản với không quá nhiều tiếng ồn và không quá mịn? Tôi không chắc là tôi hiểu câu hỏi của bạn. Là "tối ưu" là một từ quá mơ hồ? Những cách giải thích khác bạn có thể thấy ở đây? Làm thế nào khác tôi có thể đặt câu hỏi? Vâng, tôi biết về KDE nhưng tôi cần một biểu đồ 2D.
Gabriel

@ usεr11852 Bạn có thể mở rộng nhận xét của mình trong câu trả lời, có thể với một số chi tiết khác không?
Gabriel

@Glen_b bạn có thể đặt nó dưới dạng câu trả lời không? Kiến thức về thống kê của tôi khá hạn chế và nhiều điều bạn nói ngay trên đầu tôi, vì vậy càng nhiều chi tiết càng tốt sẽ được đánh giá cao.
Gabriel

Câu trả lời:


4

Lời khuyên của tôi nói chung là nó thậm chí còn quan trọng hơn trong 1-D để làm trơn tru mọi nơi có thể, ví dụ như thực hiện một số thứ như ước tính mật độ hạt nhân (hoặc một số phương pháp khác, như ước tính log-spline), có xu hướng hiệu quả hơn so với sử dụng biểu đồ. Như whuber chỉ ra, hoàn toàn có thể bị đánh lừa bởi sự xuất hiện của biểu đồ, đặc biệt là với một vài thùng và cỡ mẫu nhỏ đến trung bình.

Nếu bạn đang cố gắng tối ưu hóa lỗi bình phương tích hợp (MISE), có nghĩa là có các quy tắc áp dụng ở các kích thước cao hơn (số lượng thùng phụ thuộc vào số lượng quan sát, phương sai, kích thước và "hình dạng"), cho cả ước tính mật độ hạt nhân và biểu đồ.

[Trên thực tế nhiều vấn đề cho người ta cũng là những vấn đề cho người khác, vì vậy một số thông tin trong này bài viết wikipedia sẽ có liên quan.]

Sự phụ thuộc vào hình dạng này dường như ngụ ý rằng để chọn tối ưu, bạn đã cần phải biết những gì bạn đang âm mưu. Tuy nhiên, nếu bạn chuẩn bị đưa ra một số giả định hợp lý, bạn có thể sử dụng những giả định đó (ví dụ: một số người có thể nói "xấp xỉ Gaussian") hoặc cách khác, bạn có thể sử dụng một số công cụ ước tính "trình cắm" phù hợp chức năng.

Wand, 1997 bao gồm trường hợp 1-D. Nếu bạn có thể có được bài viết đó, hãy xem càng nhiều những gì cũng có liên quan đến tình huống ở các chiều cao hơn (cho đến khi các loại phân tích được thực hiện). (Nó tồn tại ở dạng giấy làm việc trên internet nếu bạn không có quyền truy cập vào tạp chí.)[1]

Phân tích ở các kích thước cao hơn có phần phức tạp hơn (theo cách tương tự như cách tiến hành từ 1-D đến các kích thước r để ước tính mật độ hạt nhân), nhưng có một thuật ngữ theo chiều hướng đi vào sức mạnh của n.

Sec 3,4 Eqn 3,61 (p83) của Scott, 1992 mang lại cho băng thông tối ưu không có triệu chứng:[2]

h=R(fk)1/2(6i=1dR(fi)1/2)1/(2+d)n1/(2+d)

Trong đó là một thuật ngữ thô (không phải là duy nhất có thể) và tôi tin rằng là đạo hàm của đối với hạn trong .R(f)=Rdf(x)2dxfifithx

Vì vậy, đối với 2D, đề xuất các băng thông co lại là .n1/4

Trong trường hợp các biến thông thường độc lập, quy tắc gần đúng là , trong đó là độ rộng theo chiều , chỉ ra giá trị tối ưu không có triệu chứng, và là độ lệch chuẩn dân số theo chiều .hk3.5σkn1/(2+d)hkkσkk

Đối với bivariate bình thường với tương quan , băng thông làρ

hi=3.504σi(1ρ2)3/8n1/4

Khi phân phối bị lệch, hoặc đuôi nặng, hoặc đa phương thức, thường có kết quả là băng thông nhỏ hơn nhiều; do đó, kết quả bình thường thường sẽ ở giới hạn trên tốt nhất trên bindwith.

Tất nhiên, hoàn toàn có thể bạn không quan tâm đến lỗi bình phương tích hợp có nghĩa, nhưng trong một số tiêu chí khác.

[1]: Wand, MP (1997),
"Lựa chọn dựa trên dữ liệu về chiều rộng của biểu đồ",
Thống kê người Mỹ 51 , 59-64

[2]: Scott, DW (1992),
Ước tính mật độ đa biến: Lý thuyết, thực hành và trực quan hóa ,
John Wiley & Sons, Inc., Hoboken, NJ, USA.


Glen, tham số trong câu trả lời của bạn là gì? σk
Gabriel

1
Lời xin lỗi của tôi; Tôi đã thêm ý nghĩa khi tôi hiểu nó - sd dân số theo chiều . (Tôi đã có một liên kết đến pdf trong một bình luận trước đó, nhưng sau đó nhận ra đó là một chương từ một cuốn sách - tài liệu tham khảo Scott trong câu trả lời của tôi - Tôi đã xóa liên kết.)k
Glen_b -Reinstate Monica

4

Cho rằng bạn có số cố định của dữ liệu (nghĩa là bạn có số lần đọc bằng nhau trên cả hai chiều), bạn có thể sử dụng ngay:N

  1. Quy tắc căn bậc hai được làm tròn xuống ( ), (tức là cách Excel :))N
  2. Quy tắc của Sturges ( ),log2N+1
  3. Một số quy tắc khác chỉ dựa trên số lượng điểm dữ liệu khả dụng (ví dụ: quy tắc của Rick).

Để tìm số lượng thùng phổ biến trên mỗi chiều.M

Mặt khác, bạn có thể muốn thử một cái gì đó mạnh mẽ hơn như quy tắc Freedman âm Diaconis , về cơ bản xác định băng thông bằng:h

h=2IQR(x)N1/3 ,

Trong đó IQR là phạm vi liên dữ liệu của dữ liệu của bạn . Sau đó, bạn tính số lượng thùng dọc theo mỗi chiều bằng:MxM

M=(max(x)min(x))/h .

Bạn làm điều này trên cả hai chiều của dữ liệu của bạn ; việc này cung cấp cho bạn hai, có thể khác nhau, số lượng thùng "nên" được sử dụng trên mỗi chiều. Bạn ngây thơ lấy cái lớn hơn để bạn không "mất" thông tin.x

Tuy nhiên, một lựa chọn thứ tư sẽ là cố gắng coi mẫu của bạn là hai chiều, tính toán định mức cho từng điểm mẫu và sau đó thực hiện quy tắc Freedman Thẻ Diaconis theo định mức của mẫu. I E.:

xnew=x12+x22

OK, đây là một số mã và một âm mưu cho các thủ tục tôi mô tả:

rng(123,'twister');     % Fix random seed for reproducibility
N = 250;                % Number of points in our sample

A = random('normal',0,1,[N,2]);  % Generate a N-by-2 matrix with N(0,1)
A(:,2) = A(:,2) * 5;             % Make the second dimension more variable


% The sqrt(N) rule:    
nbins_sqrtN = floor(sqrt(N));

% The Sturges formula:    
nbins_str = ceil(log2(N) +1);

% The Freedman–Diaconis-like choice:    
IQRs = iqr(A);              % Get the IQ ranges across each dimension
Hs = 2* IQRs* N^(-1/3);     % Get the bandwidths across each dimension
Ranges = range(A);          % Get the range of values across each dimension
% Get the suggested number of bins along each dimension
nbins_dim1 = ceil(Ranges(1)/Hs(1)); % 12 here
nbins_dim2 = ceil(Ranges(2)/Hs(2)); % 15 here
% Get the maximum of the two
nbins_fd_1 = max( [nbins_dim1, nbins_dim2]);


% The Freedman–Diaconis choice on the norms

Norms = sqrt(sum(A.^2,2));        % Get the norm of each point in th 2-D sample
H_norms = 2* iqr(Norms)* N^(-1/3);% Get the "norm" bandwidth
nbins_fd_2 = ceil(range(Norms)/ H_norms);   % Get number of bins 

[nbins_sqrtN nbins_str nbins_fd_1 nbins_fd_2]

% Plot the results / Make bivariate histograms
% I use the hist3 function from MATLAB
figure(1);
subplot(2,2,1);
hist3(A,[ nbins_sqrtN nbins_sqrtN] );
title('Square Root rule');

subplot(2,2,2);
hist3(A,[ nbins_str nbins_str] );
title('Sturges formula rule');

subplot(2,2,3);
hist3(A,[ nbins_fd_1 nbins_fd_1]);
title('Freedman–Diaconis-like rule');

subplot(2,2,4);
hist3(A,[ nbins_fd_2 nbins_fd_2]);
title('Freedman–Diaconis rule on the norms');

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

Như những người khác đã lưu ý làm mịn hầu như chắc chắn phù hợp hơn cho trường hợp này (ví dụ: lấy KDE). Tôi hy vọng điều này mang đến cho bạn một ý tưởng về những gì tôi đã mô tả trong nhận xét của mình về việc khái quát hóa trực tiếp (với tất cả các vấn đề có thể xảy ra) của các quy tắc mẫu 1-D đối với quy tắc mẫu 2-D. Đáng chú ý, hầu hết các thủ tục đều giả định một số mức độ "bình thường" trong mẫu. Nếu bạn có một mẫu rõ ràng không được phân phối bình thường (ví dụ: đó là leptokurtotic), quy trình này (ngay cả trong 1-D) sẽ thất bại khá nặng.


1
Tôi rất vui vì bạn thấy nó hữu ích với Gabriel nhưng tôi sẽ đề nghị chấp nhận câu trả lời của Glen_b. Mặc dù thuận tiện, các phương pháp được mô tả trong câu trả lời của tôi là phương pháp phỏng đoán tổng quát từ trường hợp 1-D; Tôi đã thêm chúng để minh họa những điểm tôi đã đưa ra trong nhận xét của mình. Tôi thực sự đánh giá cao ngón tay cái (vì vậy bạn vẫn có thể bình chọn cho tôi là đưa ra câu trả lời hữu ích nếu bạn chưa có :)) nhưng câu trả lời đúng là của Glen_b.
usεr11852
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.