Tại sao PCA eigenvector trực giao nhưng tương quan?


8

Tôi đã thấy một số bài viết tuyệt vời giải thích về PCA và tại sao theo cách tiếp cận này, các hàm riêng của ma trận tương quan (đối xứng) là trực giao. Tôi cũng hiểu các cách để chỉ ra rằng các vectơ như vậy là trực giao với nhau (ví dụ: lấy các sản phẩm chéo của ma trận của các hàm riêng này sẽ dẫn đến một ma trận có các mục chéo không bằng 0).

Câu hỏi đầu tiên của tôi là, khi bạn nhìn vào các mối tương quan của các hàm riêng của PCA, tại sao các mục ngoài đường chéo của ma trận tương quan lại khác không (nghĩa là các hàm riêng có thể tương quan với nhau như thế nào nếu chúng trực giao)?

Câu hỏi này không trực tiếp về PCA, nhưng tôi đặt nó trong bối cảnh này vì đó là cách tôi gặp phải vấn đề. Tôi đang sử dụng R và đặc biệt là gói tâm lý để chạy PCA.

Nếu nó giúp có một ví dụ, bài đăng này trên StackOverflow có một bài rất thuận tiện và liên quan (cũng trong R). Trong bài đăng này, tác giả của câu trả lời hay nhất cho thấy rằng tải PCA (eigenvector) là trực giao bằng cách sử dụng Factor Congruence hoặc sản phẩm chéo. Trong ví dụ của mình, ma trận Llà ma trận tải PCA. Điều duy nhất không có trong liên kết này là cor(L)sẽ tạo ra đầu ra mà tôi đang hỏi về việc hiển thị các mối tương quan khác không giữa các hàm riêng.

Tôi đặc biệt bối rối về cách các vectơ trực giao có thể tương quan sau khi đọc bài đăng này, điều này dường như chứng minh rằng tính trực giao tương đương với việc thiếu tương quan: Tại sao các eigenvector PCA trực giao và mối liên hệ với điểm số PCA là không tương quan?

Câu hỏi thứ hai của tôi là: khi trình xác định PCA được sử dụng để tính điểm PCA, bản thân điểm số không tương quan (như tôi dự đoán) ... có mối liên hệ nào với câu hỏi đầu tiên của tôi về vấn đề này không, tại sao trình xác định lại có tương quan nhưng không phải là điểm số?


1
Có vẻ như bạn đang tính toán ma trận tương quan của các hàm riêng. Các hàm riêng là trực giao , ngụ ý các sản phẩm chấm giữa chúng là 0, không phải là mối tương quan. Những gì không nên quan tâm là các dự báo của dữ liệu lên người bản địa, chứ không phải bản thân người bản địa.
dùng20160

1
Eigenvector chỉ là số lượng cố định, không phải là biến ngẫu nhiên. Không có nghĩa gì khi nói về mối tương quan giữa chúng vì chúng không dao động.
Kẻ giết người rêu phong

2
Điều quan trọng là các hàm riêng không có nghĩa là 0 (ví dụ: hoàn toàn có thể tất cả các yếu tố của một hàm riêng đều dương). Vì vậy, thực tế rằng chúng là trực giao không ngụ ý rằng các yếu tố của chúng là không tương quan (để tính toán tương quan, chúng ta cần phải trừ đi các phương tiện).
amip

2
@Moss Ngược lại, đầu ra eigenvector do PCA, vì chúng là các hàm của dữ liệu, thực sự là các biến ngẫu nhiên. Đó có thể là điều dẫn đến sự nhầm lẫn bởi vì bây giờ "tính trực giao ... của người bản địa" có nhiều cách hiểu: tính trực giao như các vectơ Euclide, thiếu sự tương quan của các thành phần của chúng (như các biến ngẫu nhiên), và thậm chí cả tính trực giao của người bản địa phân phối được cho là để tạo ra dữ liệu.
whuber

@whuber: Điều đó có ý nghĩa. Tôi đã nghĩ về eigenvector như là một tham số chứ không phải là một thống kê.
Kẻ giết người rêu phong

Câu trả lời:


3

Đặt là một vectơ ngẫu nhiên với giá trị mong đợi và phương sai . Chúng tôi đang tìm kiếm các vectơ có thứ tự như vậy , điều đó tối đa hóa phương sai của . Cần thiết chúng tôi đang giải quyếtBởi vì chúng tôi chỉ quan tâm đến hướng của các vectơ như vậy, nên chúng tôi cũng giả sử chiều dài đơn vị của vectơ . Các vectơ thực sự không phải là ngẫu nhiên (vì hiện tại chúng tôi đang làm việc trên lý thuyết, trong thực tế, chúng tôi đang thay thế chưa biết và chưa biếtXX= =(x1,x2,,xd)TμΣbạnTôibạnTôiTX

tối đabạnTôiVmộtr(bạnTôiTX)
S.t.bạnTôiTbạnTôi= =1.
bạnTôiTbạnTôi= =1bạnTôiΣμvới ma trận hiệp phương sai mẫu thực nghiệm và trung bình tương ứng, @whuber đã giải thích điều này từ một góc nhìn khác) nênVấn đề tối ưu hóa có thể được giải quyết một cách tầm thường bằng cách sử dụng hàm Lagrange Từ đó, chúng ta có được điều kiện cần thiết cho extrema bị ràng buộc có thể giảm xuống còn đó là theo định nghĩa vấn đề của giá trị riêng và hàm riêng. Vì là ma trận bán nguyệt đối xứng và dương, nên định lý phổ áp dụng và chúng ta có thể tìm thấy cơ sở trực giao thỏa mãn
Vmộtr(bạnTôiTX)= =bạnTôiTΣbạnTôi.
L(bạnTôi,λTôi): =bạnTôiTΣbạnTôi-λTôi(bạnTôiTbạnTôi-1).
L(bạnTôi,λTôi)bạnTôi= =2ΣbạnTôi-2λTôibạnTôi= =0,
ΣbạnTôi= =λTôibạnTôi,
ΣΣ= =QΛQ-1= =QΛQT , trong đó được tạo từ các hàm riêng trực giao và là một ma trận chéo với các giá trị riêng là hoàn toàn có thật.QΛ

Bây giờ chúng ta có thể chỉ ra rằngĐáng kể choVì vậy, không phải là người bản địa, nhưng các dự đoán là không tương quan.

cov(bạnTôiTX,bạnjTX)= =bạnTôiTΣbạnj= =λjbạnTôiTbạnj= =0,jTôi.
Tôi= =j:cov(bạnTôiTX,bạnjTX)= =λTôi.

1

Lưu ý rằng đó Llà ma trận tải, hay còn gọi là chính các hàm riêng. Đây không phải là ma trận dữ liệu PCA. Các hàm riêng được ràng buộc để cung cấp tính trực giao nhưng không . Ví dụ: lấy ma trận:cov=0

> X <- iris
> X$Species <- as.numeric(X$Species)
> head(X)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2       1
2          4.9         3.0          1.4         0.2       1
3          4.7         3.2          1.3         0.2       1
4          4.6         3.1          1.5         0.2       1
5          5.0         3.6          1.4         0.2       1
6          5.4         3.9          1.7         0.4       1

Trong PCA, không chỉ bạn có được các hàm riêng của ma trận hiệp phương sai / tương quan (phụ thuộc vào phương thức) mà chúng còn là trực giao (nghĩa là cho mỗi hàm riêng của ), vì vậy chúng tôi được:uj=1uj

> prcomp(X)$rotation
                     PC1         PC2        PC3         PC4        PC5
Sepal.Length  0.33402494 -0.68852577  0.4414776 -0.43312829  0.1784853
Sepal.Width  -0.08034626 -0.68474905 -0.6114140  0.30348725 -0.2423462
Petal.Length  0.80059273  0.09713877  0.1466787  0.49080356 -0.2953177
Petal.Width   0.33657862  0.06894557 -0.4202025  0.06667133  0.8372253
Species       0.35740442  0.20703034 -0.4828930 -0.68917499 -0.3482135

> cor(prcomp(X)$rotation)
            PC1         PC2         PC3          PC4          PC5
PC1  1.00000000  0.62712979  0.57079328  0.147574029 -0.072934736
PC2  0.62712979  1.00000000 -0.22763304 -0.058852698  0.029086459
PC3  0.57079328 -0.22763304  1.00000000 -0.053565825  0.026473556
PC4  0.14757403 -0.05885270 -0.05356582  1.000000000  0.006844526
PC5 -0.07293474  0.02908646  0.02647356  0.006844526  1.000000000

nhưng lưu ý rằng dữ liệu của PCA là

> head(prcomp(X)$x)
           PC1        PC2          PC3          PC4          PC5
[1,] -2.865415 -0.2962946 -0.041870662 -0.078464301 -0.032047052
[2,] -2.892047  0.1837851  0.175540800 -0.143582265  0.053428970
[3,] -3.054980  0.1748266 -0.049705391 -0.045339514 -0.001205543
[4,] -2.920230  0.3315818 -0.003376012  0.065785303 -0.053882996
[5,] -2.906852 -0.2959169 -0.147159821 -0.004802747 -0.074130194
[6,] -2.489852 -0.7338212 -0.194029844  0.073567444  0.003409809

và mối tương quan của nó là

> round(cor(prcomp(X)$x),14)
    PC1 PC2 PC3 PC4 PC5
PC1   1   0   0   0   0
PC2   0   1   0   0   0
PC3   0   0   1   0   0
PC4   0   0   0   1   0
PC5   0   0   0   0   1
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.