Biến cụm dựa trên mối tương quan giữa chúng


23

Câu hỏi:

  1. Tôi có một ma trận tương quan lớn. Thay vì phân cụm các tương quan riêng lẻ, tôi muốn phân cụm các biến dựa trên mối tương quan của chúng với nhau, tức là nếu biến A và biến B có tương quan tương tự với các biến C đến Z, thì A và B phải là một phần của cùng một cụm. Một ví dụ thực tế tốt về điều này là các loại tài sản khác nhau - tương quan giữa lớp tài sản cao hơn so với tương quan giữa các loại tài sản.

  2. Tôi cũng đang xem xét các cụm phân cụm theo mối quan hệ khắt khe giữa chúng, ví dụ: khi mối tương quan giữa các biến A và B gần bằng 0, chúng hoạt động độc lập ít nhiều. Nếu đột nhiên một số điều kiện cơ bản thay đổi và một mối tương quan mạnh mẽ phát sinh (tích cực hoặc tiêu cực), chúng ta có thể nghĩ hai biến này thuộc về cùng một cụm. Vì vậy, thay vì tìm kiếm mối tương quan tích cực, người ta sẽ tìm kiếm mối quan hệ chứ không phải mối quan hệ. Tôi đoán một sự tương tự có thể là một cụm các hạt tích điện dương và âm. Nếu điện tích rơi xuống 0, hạt sẽ trôi ra khỏi cụm. Tuy nhiên, cả điện tích dương và điện tích âm đều thu hút các hạt vào cụm khải.

Tôi xin lỗi nếu một số điều này không rõ ràng. Xin vui lòng cho tôi biết, tôi sẽ làm rõ chi tiết cụ thể.


1
Phân tích nhân tố sẽ không làm công việc cho qn 1? Câu hỏi 2 hơi mơ hồ. "Mối quan hệ" dường như là một từ đồng nghĩa với "mối tương quan" hoặc ít nhất một dạng quan hệ là mối quan hệ tuyến tính và mối tương quan nắm bắt điều đó. Có lẽ, bạn cần làm rõ qn 2.

Bạn đã nói những gì bạn muốn làm. Câu hỏi của bạn là gì? Là về việc thực hiện hoặc liệu phương pháp phân tích của bạn là phù hợp? hay cái gì khác?
Jeromy Anglim

Câu trả lời:


14

Đây là một ví dụ đơn giản trong R sử dụng bfibộ dữ liệu: bfi là bộ dữ liệu gồm 25 mục kiểm tra tính cách được tổ chức xung quanh 5 yếu tố.

library(psych)
data(bfi)
x <- bfi 

Một phân tích cụm hiearchical sử dụng khoảng cách euclidan giữa các biến dựa trên mối tương quan tuyệt đối giữa các biến có thể thu được như vậy:

plot(hclust(dist(abs(cor(na.omit(x))))))

văn bản thay thế Chương trình dendro cho thấy các mục nói chung tập hợp với các mục khác theo các nhóm được lý thuyết hóa (ví dụ: các mục N (Thần kinh học) nhóm lại với nhau). Nó cũng cho thấy một số mục trong các cụm tương tự nhau hơn (ví dụ: C5 và C1 có thể giống nhau hơn so với C5 với C3). Nó cũng gợi ý rằng cụm N ít giống với các cụm khác.

Ngoài ra, bạn có thể thực hiện phân tích nhân tố tiêu chuẩn như vậy:

factanal(na.omit(x), 5, rotation = "Promax")


Uniquenesses:
   A1    A2    A3    A4    A5    C1    C2    C3    C4    C5    E1    E2    E3    E4    E5    N1 
0.848 0.630 0.642 0.829 0.442 0.566 0.635 0.572 0.504 0.603 0.541 0.457 0.541 0.420 0.549 0.272 
   N2    N3    N4    N5    O1    O2    O3    O4    O5 
0.321 0.526 0.514 0.675 0.625 0.804 0.544 0.630 0.814 

Loadings:
   Factor1 Factor2 Factor3 Factor4 Factor5
A1  0.242  -0.154          -0.253  -0.164 
A2                          0.570         
A3         -0.100           0.522   0.114 
A4                  0.137   0.351  -0.158 
A5         -0.145           0.691         
C1                  0.630           0.184 
C2  0.131   0.120   0.603                 
C3  0.154           0.638                 
C4  0.167          -0.656                 
C5  0.149          -0.571           0.125 
E1          0.618   0.125  -0.210  -0.120 
E2          0.665          -0.204         
E3         -0.404           0.332   0.289 
E4         -0.506           0.555  -0.155 
E5  0.175  -0.525   0.234           0.228 
N1  0.879  -0.150                         
N2  0.875  -0.152                         
N3  0.658                                 
N4  0.406   0.342  -0.148           0.196 
N5  0.471   0.253           0.140  -0.101 
O1         -0.108                   0.595 
O2 -0.145   0.421   0.125   0.199         
O3         -0.204                   0.605 
O4          0.244                   0.548 
O5  0.139                   0.177  -0.441 

               Factor1 Factor2 Factor3 Factor4 Factor5
SS loadings      2.610   2.138   2.075   1.899   1.570
Proportion Var   0.104   0.086   0.083   0.076   0.063
Cumulative Var   0.104   0.190   0.273   0.349   0.412

Test of the hypothesis that 5 factors are sufficient.
The chi square statistic is 767.57 on 185 degrees of freedom.
The p-value is 5.93e-72 

1
Xin chào. Q: ý nghĩa của việc lấy dist of abs (cor (...)) là gì? Không phải ma trận cor là một trong đó một số lớn hơn biểu thị nhiều mối quan hệ hơn, trong khi trong ma trận khoảng cách thì điều ngược lại là đúng? (Tôi nghi ngờ tôi đang thiếu thứ gì đó, bạn có thể vui lòng giải thích không?)
Tal Galili

@Tal Hiểu biết của tôi là hàm dist lấy khoảng cách euclide của ma trận được truyền cho nó, trong trường hợp này là ma trận tương quan tuyệt đối. Có lẽ, một chuyển đổi theo nghĩa đen hơn từ ma trận tương quan sẽ là hàm as.dist () có ma trận khoảng cách hiện có: vd, as.dist (1-abs (cor (na.omit (x)))). xem? dist
Jeromy Anglim

1
sử dụng 1-abs (cor ...) sẽ có ý nghĩa hơn đối với tôi :)
Tal Galili

@Tal Vâng. Tôi đồng ý. Tôi đã làm một cái nhìn nhanh chóng. Trong trường hợp này, vectơ khoảng cách (euclidean của abs cor với 1-abs cor) tương quan khoảng 0,96, vì vậy nó không tạo ra nhiều khác biệt.
Jeromy Anglim

1
@Tal tùy chọn dist: mỗi biến có một vectơ tương quan tuyệt đối. Các biến có vectơ tương tự nhiều hơn sẽ có khoảng cách euclide nhỏ hơn: en.wikipedia.org/wiki/Euclidean_distance
Jeromy Anglim

2

Khi Clustering Correlations, điều quan trọng là không tính khoảng cách hai lần. Khi bạn lấy ma trận tương quan, về bản chất bạn sẽ thực hiện một phép tính khoảng cách. Bạn sẽ muốn chuyển đổi nó thành một khoảng cách thực sự bằng cách lấy 1 - giá trị tuyệt đối.

1-abs(cor(x))

Khi bạn chuyển đổi ma trận này thành một đối tượng khoảng cách, nếu bạn sử dụng hàm dist, bạn sẽ lấy khoảng cách giữa các tương quan của bạn. Thay vào đó, bạn muốn sử dụng as.dist()chức năng đơn giản sẽ chuyển đổi khoảng cách được tính toán trước của bạn thành một "dist"đối tượng.

Áp dụng phương pháp này vào ví dụ Alglim

library(psych)
data(bfi)
x <- bfi 
plot(hclust(as.dist(1-abs(cor(na.omit(x))))))

kết quả trong một dendroggram khác nhau Dendrogram cụ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.