Không chuẩn hóa dữ liệu trước khi PCA đưa ra tỷ lệ phương sai được giải thích tốt hơn


19

Tôi đã chuẩn hóa dữ liệu của mình sau đó chạy 3 PCA thành phần để có tỷ lệ phương sai được giải thích nhỏ ([0,50, 0,1, 0,05]).

Khi tôi không bình thường hóa nhưng làm trắng dữ liệu của mình sau đó chạy 3 thành phần PCA, tôi đã nhận được tỷ lệ phương sai được giải thích cao ([0,86, 0,06,0,01]).

Vì tôi muốn giữ lại nhiều dữ liệu thành 3 thành phần, tôi có nên bình thường hóa dữ liệu không? Theo hiểu biết của tôi, chúng ta nên luôn bình thường hóa trước PCA.

Bằng cách chuẩn hóa: cài đặt có nghĩa là 0 và có phương sai đơn vị.

pca 

3
Mặc dù không rõ ý của bạn là gì khi "bình thường hóa" dữ liệu (tôi biết ít nhất bốn cách tiêu chuẩn để làm điều này trong PCA và có thể có nhiều hơn nữa), có vẻ như tài liệu tại stats.stackexchange.com/questions/53 có thể được chiếu sáng.
whuber

Hi whubber: Tôi có nghĩa là bình thường hóa mỗi quan sát theo định mức đơn vị

1
Cảm ơn. Thuật ngữ thông thường cho điều đó là "tiêu chuẩn hóa." Khi bạn làm điều đó, bạn đang thực hiện PCA dựa trên các mối tương quan: đó là lý do tại sao tôi nghĩ rằng liên kết tôi cung cấp có thể trả lời câu hỏi của bạn rồi. Tuy nhiên, tôi thấy không có câu trả lời nào thực sự giải thích tại sao hoặc làm thế nào bạn sẽ nhận được kết quả khác nhau (có lẽ vì nó phức tạp và ảnh hưởng của tiêu chuẩn hóa có thể khó dự đoán).
whuber

1
Là làm trắng trước PCA điển hình? Mục tiêu của việc đó là gì?
Shadowtalker

2
Nếu bạn đang làm việc với hình ảnh, ví dụ, định mức của hình ảnh tương ứng với độ sáng. Phương sai được giải thích cao của dữ liệu không chuẩn hóa có nghĩa là rất nhiều dữ liệu có thể được giải thích bằng những thay đổi về độ sáng. Nếu độ sáng không quan trọng đối với bạn, vì nó thường không được xử lý hình ảnh, thì bạn sẽ muốn thực hiện tất cả các định mức đơn vị hình ảnh trước tiên. Thậm chí nghĩ rằng phương sai được giải thích của các thành phần pca của bạn sẽ thấp hơn, nó phản ánh tốt hơn những gì bạn quan tâm.
Aaron

Câu trả lời:


37

Phụ thuộc vào mục tiêu phân tích của bạn. Một số thực tiễn phổ biến, một số trong đó được đề cập trong liên kết của người đăng ký:

  1. Tiêu chuẩn hóa thường được thực hiện khi các biến mà PCA được thực hiện không được đo trên cùng một thang đo. Lưu ý rằng tiêu chuẩn hóa hàm ý gán tầm quan trọng như nhau cho tất cả các biến.
  2. Nếu chúng không được đo trên cùng một thang đo và bạn chọn làm việc trên các biến không được tiêu chuẩn hóa, thì thường thì mỗi PC bị chi phối bởi một biến duy nhất và bạn chỉ cần sắp xếp thứ tự các biến theo phương sai của chúng. (Một trong các tải của mỗi thành phần (sớm) sẽ gần bằng +1 hoặc -1.)
  3. Hai phương pháp thường dẫn đến kết quả khác nhau, như bạn đã trải nghiệm.

Ví dụ trực quan:

Giả sử bạn có hai biến: chiều cao của cây và đường kính của cùng một cây. Chúng tôi sẽ chuyển đổi âm lượng thành một yếu tố: một cây sẽ có âm lượng cao nếu âm lượng của nó lớn hơn 20 feet khối và nếu không thì âm lượng thấp. Chúng tôi sẽ sử dụng bộ dữ liệu cây được tải sẵn trong R.

>data(trees)
>tree.girth<-trees[,1]
>tree.height<-trees[,2]
>tree.vol<-as.factor(ifelse(trees[,3]>20,"high","low"))

Bây giờ giả sử rằng chiều cao thực sự đã được đo bằng dặm thay vì chân.

>tree.height<-tree.height/5280
>tree<-cbind(tree.height,tree.girth)
>
>#do the PCA
>tree.pca<-princomp(tree)
>summary(tree.pca)
Importance of components:
                      Comp.1       Comp.2
Standard deviation     3.0871086 1.014551e-03
Proportion of Variance 0.9999999 1.080050e-07
Cumulative Proportion  0.9999999 1.000000e+00

Thành phần đầu tiên giải thích gần như 100% sự biến đổi trong dữ liệu. Các tải trọng:

> loadings(tree.pca)

Loadings:
            Comp.1 Comp.2
tree.height        -1    
tree.girth   1           

Đánh giá đồ họa:

>biplot(tree.pca,xlabs=tree.vol,col=c("grey","red"))

Biplot của phương pháp đầu tiên

Chúng ta thấy rằng những cây có khối lượng cao thường có chu vi cây cao, nhưng ba chiều cao không cung cấp bất kỳ thông tin nào về thể tích cây. Điều này có thể sai và hậu quả của hai biện pháp đơn vị khác nhau.

Chúng ta có thể sử dụng cùng các đơn vị hoặc chúng ta có thể tiêu chuẩn hóa các biến. Tôi hy vọng cả hai sẽ dẫn đến một bức tranh cân bằng hơn về sự biến đổi. Tất nhiên trong trường hợp này, người ta có thể lập luận rằng các biến nên có cùng một đơn vị nhưng không được tiêu chuẩn hóa, có thể là một đối số hợp lệ, không phải là chúng ta đang đo hai thứ khác nhau. (Khi chúng ta sẽ đo trọng lượng của cây và đường kính của cây, thang đo mà cả hai nên được đo không còn rõ ràng nữa. Trong trường hợp này, chúng ta có một lập luận rõ ràng để làm việc với các biến được tiêu chuẩn hóa.)

>tree.height<-tree.height*5280
>tree<-cbind(tree.height,tree.girth)
>
>#do the PCA
>tree.pca<-princomp(tree)
> summary(tree.pca)
Importance of components:
                          Comp.1    Comp.2
Standard deviation     6.5088696 2.5407042
Proportion of Variance 0.8677775 0.1322225
Cumulative Proportion  0.8677775 1.0000000
> loadings(tree.pca)

Loadings:
            Comp.1 Comp.2
tree.height -0.956  0.293
tree.girth  -0.293 -0.956

>biplot(tree.pca,xlabs=tree.vol,col=c("grey","red"))

Biplot của phương pháp thứ hai

Bây giờ chúng ta thấy rằng những cây cao và có đường kính lớn, có thể tích lớn (góc dưới bên trái), so với chiều cao thấp và chiều cao thấp đối với cây có khối lượng thấp (góc trên bên phải). Điều này bằng trực giác có ý nghĩa.

Tuy nhiên, nếu theo dõi sát sao, chúng ta sẽ thấy rằng độ tương phản giữa âm lượng cao / thấp mạnh nhất theo hướng chu vi chứ không phải theo chiều cao. Hãy xem điều gì xảy ra khi chúng ta chuẩn hóa:

>tree<-scale(tree,center=F,scale=T)
>tree.pca<-princomp(tree)
> summary(tree.pca)
Importance of components:
                          Comp.1     Comp.2
Standard deviation     0.2275561 0.06779544
Proportion of Variance 0.9184749 0.08152510
Cumulative Proportion  0.9184749 1.00000000
> loadings(tree.pca)

Loadings:
            Comp.1 Comp.2
tree.height  0.203 -0.979
tree.girth   0.979  0.203
>biplot(tree.pca,xlabs=tree.vol,col=c("grey","red"))

Biplot của phương pháp thứ ba

Thật vậy, giờ đây giải thích phần lớn sự khác biệt ở cây có khối lượng cao và thấp! (Độ dài của mũi tên trong biplot là biểu thị của phương sai trong biến ban đầu.) Vì vậy, ngay cả khi mọi thứ được đo trên cùng một thang đo, tiêu chuẩn hóa có thể hữu ích. Không tiêu chuẩn hóa có thể được khuyến nghị khi chúng ta ví dụ so sánh chiều dài của các loài cây khác nhau vì đây là phép đo hoàn toàn giống nhau.


2
(+1) Câu trả lời rất hay, thực sự vượt qua tất cả những câu được đưa ra trong chuỗi phổ biến được liên kết về PCA về hiệp phương sai so với tương quan.
amip nói rằng Phục hồi lại
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.