Khám phá một ma trận biểu đồ phân tán cho nhiều biến


10

Tôi đang phân tích một tập dữ liệu với nhiều tham số (giả sử, 50-200) và tôi quan tâm đến việc xem xét mối quan hệ giữa các biến (ví dụ về các biểu đồ phân tán 2 biến hoặc biểu đồ 2d). Tuy nhiên, đối với số lượng tham số này, có vẻ không khả thi để vẽ một mảng 200x200 lô (trừ khi tôi in nó và treo trên tường).

Mặt khác, chỉ thực hiện một ma trận tương quan không cung cấp tất cả thông tin về quan hệ 2 biến.

Có cách nào (thư viện hoặc quy trình làm việc) để khám phá quan hệ 2 biến cho nhiều biến không?

Tôi đặc biệt quan tâm đến việc hiển thị kết quả cho người khác (có lẽ sau một số tiền xử lý dữ liệu). Ví dụ: một cái gì đó tương tác trong JavaScript, tôi có thể thấy ma trận phân tán cho các trường được chọn từ một ma trận tương quan.

Theo ma trận phân tán cốt truyện tôi có ý nghĩa như thế:

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

(được lấy từ blog của gấu trúc ; có sẵn trong Python / Pandas , R , D3.js , v.v.).


4
Bạn đã không nói rõ những gì bạn đang theo đuổi. Bạn có muốn xem đám mây, mọi điểm dữ liệu không? Bạn có muốn xem tất cả các khía cạnh bivariate cùng một lúc ?
ttnphns

@ttnphns Tôi muốn xem tất cả các điểm dữ liệu HOẶC chúng ở một số dạng tổng hợp (ví dụ: biểu đồ 2d). Tôi không cần phải xem tất cả mọi thứ là một lần (vì nó có ý nghĩa với <15 biến, nhưng không phải 200). Và vâng, tôi biết rằng câu hỏi là một chút kết thúc mở. Một phiên bản kết thúc là "Có thư viện JS để hiển thị các biểu đồ và biểu đồ phân tán khi chuột di chuyển trên pixel tương ứng ở ma trận tương quan không? Hay tôi nên viết một cái chung hơn?" một số quy trình công việc tốt hơn để xử lý vấn đề.
Piotr Migdal

Có thể tổ chức ma trận của các biểu đồ phân tán dưới dạng khối lập phương olap, để bạn chỉ nhìn thấy một hoặc một vài ô tại một thời điểm và có thể chuyển đổi giữa chúng. Thật không may, tôi không biết một chương trình hoặc mã cụ thể để thực hiện các khối olap đồ họa.
ttnphns

Câu trả lời:


7

Khám phá mối quan hệ giữa các biến là khá mơ hồ, nhưng hai trong số các mục tiêu chung hơn của việc kiểm tra các biểu đồ phân tán như thế này tôi đoán là;

  • Xác định các nhóm tiềm ẩn tiềm ẩn (của các biến hoặc trường hợp).
  • Xác định các ngoại lệ (trong không gian đơn biến, bivariate hoặc multivariate).

Cả hai đều giảm dữ liệu thành các bản tóm tắt dễ quản lý hơn, nhưng có các mục tiêu khác nhau. Xác định các nhóm tiềm ẩn thường làm giảm kích thước trong dữ liệu (ví dụ: thông qua PCA) và sau đó khám phá xem các biến hoặc trường hợp tập hợp lại trong không gian giảm này. Xem ví dụ Thân thiện (2002) hoặc Cook et al. (1995).

Xác định các ngoại lệ có thể có nghĩa là khớp một mô hình và vẽ các độ lệch khỏi mô hình (ví dụ: vẽ các phần dư từ mô hình hồi quy) hoặc giảm dữ liệu vào các thành phần chính của nó và chỉ làm nổi bật các điểm lệch khỏi mô hình hoặc phần chính của dữ liệu. Ví dụ, các ô vuông trong một hoặc hai chiều thường chỉ hiển thị các điểm riêng lẻ nằm ngoài bản lề (Wickham & Stryjewski, 2013). Vẽ các phần dư có đặc tính tốt là nó sẽ làm phẳng các ô (Tukey, 1977), vì vậy mọi bằng chứng về mối quan hệ trong đám mây điểm còn lại là "thú vị". Câu hỏi này trên CV có một số gợi ý tuyệt vời về việc xác định các ngoại lệ đa biến.

Một cách phổ biến để khám phá SPLOMS lớn như vậy là không vẽ tất cả các điểm riêng lẻ, nhưng một số loại tóm tắt được đơn giản hóa và sau đó có thể là các điểm sai lệch phần lớn từ bản tóm tắt này, ví dụ như dấu chấm lửng tự tin, tóm tắt không liên quan (Wilkinson & Wills, 2008), bivariate lô hộp, lô đường viền. Dưới đây là một ví dụ về vẽ các hình elip xác định hiệp phương sai và áp đặt một hoàng thổ mượt mà hơn để mô tả mối liên hệ tuyến tính.

Sơ đồ Ellipses
(nguồn: statmethods.net )

Dù bằng cách nào, một cốt truyện tương tác, thành công thực sự với rất nhiều biến số có thể sẽ cần sắp xếp thông minh (Wilkinson, 2005) và một cách đơn giản để lọc ra các biến (ngoài khả năng chải / liên kết). Ngoài ra, bất kỳ tập dữ liệu thực tế nào cũng cần phải có khả năng biến đổi trục (ví dụ vẽ biểu đồ dữ liệu theo thang logarit, biến đổi dữ liệu bằng cách lấy rễ, v.v.). Chúc may mắn và đừng gắn bó với chỉ một cốt truyện!


Trích dẫn


1
Cảm ơn! Mục tiêu của tôi là khám phá dữ liệu trước khi tôi chạy PCA, vì các biến có thể liên quan theo cách phi tuyến tính và yêu cầu thay đổi kích thước (hoặc xử lý khác).
Piotr Migdal

Ví dụ về sơ đồ hình elip + loess mượt mà hơn nên vẫn thích hợp sau đó (hoặc thay đổi hình elip covar. Với một số đa giác đo khác như boxplot bivariate) và có thể giúp ID liên kết phi tuyến tính. Một câu hỏi tiếp theo tốt có thể là nếu có thể ID các hiệp hội phi tuyến tính sau khi giảm dữ liệu qua PCA (hoặc đại loại như thế).
Andy W

1

Bạn có thể cân nhắc sử dụng giao diện sáng bóng từ gói cặpD3 R, cung cấp cách tương tác với ma trận cốt truyện phân tán.

Một ví dụ với tập dữ liệu mống mắt:

install.packages("pairsD3")
require("pairsD3")
shinypairs(iris)

Nguồn: https://github.com/garthtarr/pairsD3

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.