Làm thế nào để hình dung được chiều thực của dữ liệu?


8

Tôi có một bộ dữ liệu trên danh nghĩa 16 chiều. Tôi có khoảng 100 mẫu trong một trường hợp và khoảng 20.000 mẫu khác. Dựa trên các phân tích khám phá khác nhau mà tôi đã thực hiện bằng PCA và bản đồ nhiệt, tôi tin rằng chiều thực sự (nghĩa là số lượng kích thước cần thiết để thu được hầu hết "tín hiệu") là khoảng 4. Tôi muốn tạo một slide hiệu ứng đó cho một bài thuyết trình. "Sự khôn ngoan thông thường" về dữ liệu này, mà tôi đang tìm cách bác bỏ, là chiều hướng thực sự là một hoặc hai.

Hình ảnh đơn giản, tốt để hiển thị chiều thực của bộ dữ liệu là gì? Tốt nhất nên hiểu những người có một số nền tảng về thống kê nhưng không phải là thống kê "thực sự".


1
Xác định "đúng", xin vui lòng.
Đức Hồng Y

@cardinal: Không thể tránh khỏi sự chủ quan. Tôi muốn số lượng kích thước thu được "phần lớn" của phương sai.
dsimcha

1
Tốt rồi. Tôi chỉ muốn biết chắc chắn những gì bạn sẽ làm. Có một số ví dụ thú vị trong thống kê đa biến trong đó, ví dụ: nếu bạn muốn tìm số thuật ngữ tốt nhất để giữ ý nghĩa bình phương nhỏ nhất cho PCA, bạn nên chọn một thứ hạng nhỏ hơn thứ hạng thực, nghĩa là thứ hạng thực tế cấu trúc cơ bản từ đó dữ liệu được tạo ra.
Đức Hồng Y

Tôi sẽ tìm thấy một trường hợp cụ thể trong đó sử dụng 2 chiều dẫn đến một câu trả lời xấu, trong khi sử dụng 4 chiều dẫn đến một câu trả lời tốt. Điều này sẽ giúp nhận được quan điểm của bạn - mọi người hiểu các ví dụ. Thêm phần này vào một số nội dung tổng quát hơn được đưa ra dưới đây - "eblow" trong âm mưu scree, v.v.
xác suất

"ví dụ" sẽ là những trường hợp có điểm số lớn trên các thành phần thứ ba và thứ ba
xác suất

Câu trả lời:


6

Một cách tiếp cận tiêu chuẩn sẽ là làm PCA và sau đó hiển thị một âm mưu scree mà bạn phải có thể đưa nó ra khỏi bất kỳ phần mềm nào bạn có thể chọn. Một chút mày mò và bạn có thể làm cho nó dễ hiểu hơn đối với khán giả cụ thể của bạn nếu cần thiết. Đôi khi chúng có thể thuyết phục, nhưng thường thì chúng mơ hồ và luôn có chỗ để ngụy biện về cách đọc chúng để một âm mưu scree có thể (chỉnh sửa: không!) Là lý tưởng. Đáng xem


3
@JMS, (+1) đặc biệt là lưu ý thận trọng đối với các lô scree. Tôi sẽ gọi chúng là "tiêu chuẩn", nhưng cũng là "một ý tưởng tồi" (nói chung). Đây là một câu chuyện cảnh báo và cũng là một cách để chọn thứ hạng an toàn hơn, đặc biệt nếu MSE là số liệu của bạn. Điều này cũng cung cấp một ví dụ, nếu tôi nhớ lại, trong đó thứ hạng thực sự là thứ sai để chọn để giảm thiểu MSE.
Đức Hồng Y

@cardinal (+1) Thx cho liên kết đến bài viết của Owen & Perry.
chl

Tôi rõ ràng đã phát minh lại âm mưu scree tại một thời điểm nhưng không nhận ra chúng được gọi là bất cứ điều gì. Cảm ơn đã nhắc nhở tôi về họ và cho tôi biết rằng họ là "tiêu chuẩn". Vì mục tiêu của tôi là tạo ra một hình ảnh đẹp, đơn giản, tiêu chuẩn và đủ tốt sẽ chiến thắng những điều phức tạp nhưng tối ưu hơn.
dsimcha

2
@dsimcha, tôi đã thực hiện một tìm kiếm nhanh trên Google và rõ ràng có một gói R thực hiện cách tiếp cận trong liên kết tôi cung cấp. Có một bài báo hay từ khoảng 20 năm trước (có thể là 30), tôi tin vào The American Statistician , trong đó thể hiện rõ những sai sót của suy luận bằng cách sử dụng các âm mưu "tiêu chuẩn". Tôi sẽ xem nếu tôi có thể nhớ lại tiêu đề và sẽ đăng một liên kết hoặc tài liệu tham khảo. Mặc dù tiêu chuẩn, nhưng (khá) thiếu sót, là một cách tiếp cận hấp dẫn, đặc biệt là trong thời gian hạn chế, tôi sẽ nhẹ nhàng thận trọng chống lại một suy nghĩ như vậy. Chúc mừng.
Đức Hồng Y

1
@JMS Có một bài báo của Zwick & Velicer (1986) lập luận về việc sử dụng phân tích song song (lấy lại giá trị bản địa để kiểm tra xem các giá trị quan sát có lớn hơn dự kiến ​​hay không) hoặc tiêu chí MAP của chúng đối với các biểu đồ scree hoặc quy tắc gốc. Trong các mô phỏng của họ, hai phương pháp đầu tiên vượt trội hơn nhiều so với các phương pháp khác (ví dụ độ chính xác 92% so với 22%) trong việc xác định # thành phần thực sự. Gói R psychthực hiện cả hai với đồ họa giống như scree đi kèm (xem fa.parallel()VSS()). Bài viết là "So sánh năm quy tắc để xác định số lượng thành phần cần giữ lại."
khóa

4

Một cách để hình dung điều này sẽ như sau:

  1. Thực hiện PCA trên dữ liệu.
  2. VV
  3. xiVVxi=vi+ci
  4. ||ci||||vi||

2

Trong Matlab (vịt từ tất cả những đôi giày bị ném):

lat_d = 2;   %the latent dimension of the generating process
vis_d = 16;  %manifest dimension
n = 10000;   %number of samples
x = randn(n,lat_d) * randn(lat_d,vis_d) + 0.1 * randn(n,vis_d); %add some noise
xmu = mean(x,1);
xc = bsxfun(@minus,x,xmu);    %Matlab syntax for element recycling: ugly, weird.
[U,S,V] = svd(xc);  %this will be slow;
prev = U(:,1:2) * S(1:2,1:2);
prec = U(:,3:end) * S(3:end,3:end);
normv = sqrt(sum(prev .^2,2));
normc = sqrt(sum(prec .^2,2));
scatter(normv,normc);
axis equal;  %to illlustrate the differences in scaling, make axis 'square'

Điều này tạo ra âm mưu phân tán sau:

âm mưu phân tán được thực hiện bởi mã

Nếu bạn thay đổi lat_dthành 4, dòng sẽ ít phẳng hơn.


@shabbychef, điều này dường như giả định rằng (a) cấu trúc thực sự là một đa tạp tuyến tính và (b) các hướng phương sai cao là những hướng quan trọng.
Đức Hồng Y

1
@cardinal Bạn có thể nhầm lẫn giả định và hiệu quả. Độ cong trong đa tạp sẽ được biểu hiện là độ cong trong các phân tán này và độ lớn của độ cong sẽ được tiết lộ theo độ lớn của sự thay đổi theo chiều dọc trong các ô. Trên thực tế, shabbychef đang xem dữ liệu nằm trong khoảng lân cận hình ống của không gian tuyến tính chiều thấp. Điều đó áp đặt không có hạn chế nào về hình dạng của dữ liệu.
whuber

@shabbyshef +1 cho ý tưởng phân rã và tất nhiên là đề cập đến đôi giày :)
mpiktas

@whuber, @shabbychef, tôi có lẽ hơi vội vàng với nhận xét ban đầu của mình, đặc biệt là khi tôi rời xa máy tính vào thời điểm đó. Tôi nghĩ ban đầu tôi cũng đã đọc sai mô tả của shabby và tôi không thể xem các cốt truyện. Chúng làm cho một cách tốt đẹp để tăng một cốt truyện cặp tiêu chuẩn.
Đức Hồng Y

1
(s,t)(cos(2πt),sin(2πt),2s/5,t2)stiid thống nhất (0,1), được sắp xếp bằng cách giảm phương sai. Tỷ lệ của tổng phương sai là 49,2%, 46,5%, 2,9%, 1,4%. Hai hàng dưới cùng mô phỏng âm mưu của @ shabby. Chúng chứng minh tính chất 2D gần của dữ liệu trong khi tiết lộ tính phi tuyến nhỏ mà tôi đưa vào nó. Đây có phải là những gì bạn đã nghĩ đến?
whuber

0

Tôi đã thực hiện tương tự bằng PROC Varclus trong SAS. Ý tưởng cơ bản là tạo ra một giải pháp 4 cụm, chọn biến tương quan cao nhất với mỗi cụm và sau đó để chứng minh rằng giải pháp 4 cụm này giải thích nhiều hơn về biến thể so với giải pháp hai cụm. Đối với giải pháp 2 cụm, bạn có thể sử dụng Varclus hoặc 2 Thành phần chính đầu tiên, nhưng tôi thích Varclus vì mọi thứ được giải thích thông qua các biến chứ không phải các thành phần. Có một biến thể trong R, nhưng tôi không chắc liệu nó có làm điều tương tự không.

Mùa đông -Ralph

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.