Làm thế nào để làm trắng dữ liệu bằng cách sử dụng phân tích thành phần chính?


18

Tôi muốn chuyển đổi dữ liệu của mình sao cho phương sai sẽ là một và hiệp phương sai sẽ bằng 0 (tức là tôi muốn làm trắng dữ liệu). Hơn nữa, phương tiện nên bằng không.X

Tôi biết tôi sẽ đến đó bằng cách thực hiện chuẩn hóa Z và chuyển đổi PCA, nhưng tôi nên làm theo thứ tự nào?

Tôi nên thêm rằng phép biến đổi làm trắng tổng hợp phải có dạng .xWx+b

Có một phương pháp tương tự như PCA thực hiện chính xác cả hai phép biến đổi này và cho tôi một công thức có dạng ở trên không?


(Nhận xét đầu tiên của tôi dựa trên việc đọc sai câu hỏi của bạn.) PCA cung cấp cho bạn hiệp phương sai bằng không; bạn có thể chuẩn hóa PC sau đó nếu muốn. Nghe có vẻ là một điều kỳ lạ để làm, nhưng bạn có thể làm điều đó.
Nick Cox

@NickCox Có lẽ điều này có vẻ kỳ lạ bởi vì dữ liệu được chuyển đổi sau đó là hình cầu, có vẻ như không chính xác. Tuy nhiên, đó là sự biến đổi tôi cần biết, và không phải là kết quả cuối cùng. Tôi vẫn không biết sự biến đổi sẽ như thế nào. Tôi vẫn đang đọc trên PCA, mặc dù.
Angelorf

Câu trả lời:


31

Đầu tiên, bạn nhận được giá trị trung bình bằng cách trừ trung bình .μ=1Nx

Thứ hai, bạn có được hiệp phương sai bằng cách thực hiện PCA. Nếu là ma trận hiệp phương sai của dữ liệu của bạn, sau đó PCA số tiền để thực hiện một eigendecomposition , nơi là một ma trận xoay trực giao bao gồm các hàm riêng của và là một ma trận đường chéo có giá trị riêng trên đường chéo. Ma trận cung cấp một vòng quay cần thiết để khử tương quan dữ liệu (nghĩa là ánh xạ các tính năng ban đầu đến các thành phần chính).ΣΣ=UΛUUΣΛU

Thứ ba, sau khi xoay, mỗi thành phần sẽ có phương sai được đưa ra bởi một giá trị riêng tương ứng. Vì vậy, để làm cho phương sai bằng , bạn cần chia cho căn bậc hai của .1Λ

Tất cả cùng nhau, phép biến đổi làm trắng là . Bạn có thể mở ngoặc để lấy biểu mẫu bạn đang tìm kiếm.xΛ1/2U(xμ)


Cập nhật. Xem thêm chủ đề sau này để biết thêm chi tiết: Sự khác biệt giữa làm trắng ZCA và làm trắng PCA là gì?


2
Tôi nghĩ bạn cần chia cho căn bậc hai của giá trị riêng, vì đó là vấn đề nhân rộng theo SD, chứ không phải phương sai.
Nick Cox

@NickCox: vâng, tất nhiên bạn đúng. Tôi đã sửa câu trả lời của mình. Cảm ơn bạn!
amip nói Phục hồi lại

1
Tôi đã kiểm chứng bằng thực nghiệm công thức. Cảm ơn vì đã giúp tôi!
Angelorf
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.