Các mũi tên trong biplot PCA có nghĩa là gì?


14

Hãy xem xét biplot PCA sau đây:

library(mvtnorm)
set.seed(1)
x  <- rmvnorm(2000, rep(0, 6), diag(c(5, rep(1,5))))
x  <- scale(x, center=T, scale=F)
pc <- princomp(x)
biplot(pc)

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

Có một loạt các mũi tên màu đỏ được vẽ, chúng có ý nghĩa gì? Tôi biết rằng mũi tên đầu tiên được gắn nhãn "Var1" sẽ chỉ hướng khác nhau nhất của tập dữ liệu (nếu chúng ta nghĩ chúng là 2000 điểm dữ liệu, mỗi điểm là một vectơ kích thước 6). Tôi cũng đọc từ đâu đó, hướng khác nhau nhất phải là hướng của vectơ thứ nhất.

Tuy nhiên, đọc mã của biplot trong R. Dòng về các mũi tên là:

if(var.axes)
    arrows(0, 0, y[,1L] * 0.8, y[,2L] * 0.8, col = col[2L], 

Trường hợp ythực sự là ma trận tải, đó là ma trận eigenvector. Vì vậy, có vẻ như mũi tên đầu tiên thực sự đang chỉ từ (0, 0)đến (y[1, 1], y[1, 2]). Tôi hiểu rằng chúng ta đang cố gắng vẽ một mũi tên chiều cao lên mặt phẳng 2D. Đó là lý do tại sao chúng ta lấy phần tử thứ 1 và thứ 2 của y[1, ]vectơ. Tuy nhiên, điều tôi không hiểu là:

Không phải hướng eigenvector đầu tiên là vector được biểu thị bởi y[, 1], thay vì y[1, ]? (Một lần nữa, đây ylà ma trận eigenvector, thu được bởi PCA hoặc bằng cách xuất tinh của t(x) %*% x.) Tức là các hàm riêng phải là các vectơ cột, không phải là các vectơ ngang.

Mặc dù chúng ta đang âm mưu chúng trên mặt phẳng 2D, chúng ta nên vẽ theo hướng 1 là từ (0, 0)trỏ đến (y[1, 1], y[2, 1])?


2
Cũng xem xét việc cố gắng sử dụng định dạng có sẵn cho các câu hỏi trên trang web, xem trợ giúp đánh dấu nâng cao . Tôi thấy không có câu hỏi nào trước đây của bạn có câu trả lời, và nếu bạn chỉnh sửa chúng để dễ đọc hơn một chút, chúng sẽ va vào đầu danh sách và có thể thu hút câu trả lời.
Andy W

@Andy W Tài liệu tham khảo tuyệt vời
liên hợp chiến

@Andy W: Sau khi đọc các tài liệu tham khảo tuyệt vời của bạn, tôi vẫn nghĩ rằng mã R biplot.princomp có một lỗi: ma trận tải (ma trận eigenvector) nên được chuyển đổi trước khi được gửi vào biplot.princomp ... Bạn có suy nghĩ gì không?
Luna

Có vẻ như không có lỗi .
chl

@Andy W: bạn có muốn đưa ý kiến ​​của mình vào một "câu trả lời" để tôi có thể chấp nhận câu trả lời của bạn không? Đó là một trong những tuyệt vời! Cám ơn rất nhiều!
Luna

Câu trả lời:


9

Chà, có vẻ như Kevin Wright nên được trao phần lớn tín dụng để cố gắng giải thích sự nhầm lẫn (từ danh sách thư R-help );

Các mũi tên không chỉ theo hướng thay đổi nhất của dữ liệu. Các thành phần chính được chỉ theo hướng thay đổi nhất của dữ liệu. Nhưng bạn không vẽ dữ liệu theo thang đo ban đầu, bạn đang vẽ dữ liệu theo tỷ lệ xoay và do đó trục ngang là hướng thay đổi nhất của dữ liệu.

Các mũi tên đang chỉ theo hướng của các biến, như được chiếu vào mặt phẳng 2 chiều của biplot.

Không có lỗi.

Kevin Wright

Michael Greenacre có một cuốn sách trực tuyến miễn phí rất xuất sắc về Biplots, Biplots in Practice và chỉ cần đọc chương đầu tiên sẽ giúp thúc đẩy nơi tọa độ của các mũi tên được lấy từ đâu. Ngoài ra còn có một số câu hỏi khác trên trang web tương tự và bạn có thể quan tâm, xem Giải thích các phân đoạn trong phân tích thành phần chính trong RGiải thích biểu đồ nhân tố MDS cho hai ví dụ. Ngoài ra hãy xem qua các câu hỏi với biplot trong tìm kiếm trên trang web , vì có một vài mối quan tâm tiềm năng hơn (có vẻ như việc tạo ra một thẻ biplot sẽ hữu ích vào thời điểm này với số lượng câu hỏi mà nó đưa ra).

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.