Phân tích thành phần chính loại bỏ nhiễu trong dữ liệu


11

Phân tích thành phần chính (PCA) có loại bỏ nhiễu trong tập dữ liệu không? Nếu PCA không loại bỏ nhiễu trong tập dữ liệu, PCA thực sự làm gì với tập dữ liệu? Ai đó có thể giúp tôi về vấn đề này.


1
Không, nó không loại bỏ "nhiễu" (theo nghĩa là dữ liệu nhiễu sẽ vẫn bị nhiễu). PCA chỉ là một sự chuyển đổi dữ liệu. Mỗi thành phần PCA đại diện cho một sự kết hợp tuyến tính của các yếu tố dự đoán. Và PCA có thể được đặt hàng bởi Eigenvalue của họ: theo nghĩa rộng hơn, Eigenvalue càng lớn thì phương sai càng được bảo vệ. Do đó, chuyển đổi lossless sẽ là khi bạn có nhiều PC như kích thước. Bây giờ, khi bạn chỉ xem xét một số PC có Ev lớn thì bạn sẽ bỏ qua các thành phần ít thay đổi dữ liệu (nhưng đây không phải là "nhiễu").
Drey

2
Như @Drey đã lưu ý, các thành phần phương sai thấp không cần phải là tiếng ồn. Bạn cũng có thể có tiếng ồn là thành phần phương sai cao.
Richard Hardy

Cảm ơn bạn. Trên thực tế tôi đã làm những gì @Drey đề cập trong bình luận của anh ấy, tôi đã loại bỏ PC bằng Ev nhỏ mà trước đây tôi nghĩ đó là tiếng ồn bên trong tập dữ liệu. Vì vậy, nếu tôi muốn tiếp tục loại bỏ PC với Ev nhỏ, và sử dụng nó làm đầu vào cho mô hình hồi quy và nó cải thiện hiệu suất của mô hình hồi quy. Tôi có thể nói PCA đã làm cho dữ liệu dễ dàng bị gián đoạn và làm cho dự đoán trở nên chính xác hơn.
bbadyalina

@Richard Hardy nếu PCA không phát ra tiếng ồn từ dữ liệu, làm thế nào để chuyển đổi tuyến tính cải thiện tập dữ liệu? Tôi bằng cách nào đó nhầm lẫn về điều này, bởi vì có rất nhiều nhà nghiên cứu đã sử dụng PCA hybrid với mô hình chuỗi thời gian để cải thiện hiệu suất dự đoán so với mô hình chuỗi thời gian thông thường. Cảm ơn bạn đã trả lời của bạn.
bbadyalina

Không phải dữ liệu là "dễ dàng" (nó là sự kết hợp tuyến tính của các tính năng) cũng như không dễ để giải thích (giải thích các hệ số trong mô hình hồi quy). Nhưng dự đoán của bạn có thể trở nên chính xác hơn. Thậm chí nhiều hơn, mô hình của bạn có thể khái quát tốt.
Drey

Câu trả lời:


15

Phân tích thành phần chính (PCA) được sử dụng để a) khử nhiễu và để b) giảm tính chiều.

Nó không loại bỏ tiếng ồn, nhưng nó có thể làm giảm tiếng ồn.

Về cơ bản, một phép biến đổi tuyến tính trực giao được sử dụng để tìm một phép chiếu của tất cả dữ liệu thành các kích thước k, trong khi các kích thước k này là các phương sai cao nhất. Các hàm riêng của ma trận hiệp phương sai (của tập dữ liệu) là các kích thước đích và chúng có thể được xếp hạng theo giá trị riêng của chúng. Giá trị riêng cao biểu thị phương sai cao được giải thích bởi kích thước eigenvector liên quan.

Hãy xem bộ dữ liệu usps , thu được bằng cách quét các chữ số viết tay từ phong bì của Dịch vụ Bưu chính Hoa Kỳ.

Đầu tiên, chúng tôi tính toán các giá trị riêng và giá trị riêng của ma trận hiệp phương sai và vẽ tất cả các giá trị riêng giảm dần. Chúng ta có thể thấy rằng có một vài giá trị riêng có thể được đặt tên là các thành phần chính, vì giá trị riêng của chúng cao hơn nhiều so với phần còn lại.

Top: Tất cả các giá trị riêng của ma trận hiệp phương sai của tập dữ liệu usps, được sắp xếp giảm dần - xuống: top25 eigenvalues

Mỗi eigenvector là một sự kết hợp tuyến tính của kích thước ban đầu . Do đó, eigenvector (trong trường hợp này) là một hình ảnh, có thể được vẽ.

Eigenvector với 5 giá trị riêng cao nhất được vẽ

Để b) giảm kích thước, giờ đây chúng ta có thể sử dụng năm hàm riêng và chiếu tất cả dữ liệu (ban đầu là hình ảnh 16 * 16 pixel) vào không gian 5 chiều với ít nhất có thể mất phương sai.

(Lưu ý ở đây: Trong một số trường hợp, việc giảm kích thước phi tuyến tính (như LLE) có thể tốt hơn PCA, xem ví dụ về wikipedia )

Cuối cùng, chúng ta có thể sử dụng PCA để khử nhiễu. Do đó, chúng tôi có thể thêm tiếng ồn vào bộ dữ liệu gốc theo ba cấp độ (thấp, cao, ngoại lệ) để có thể so sánh hiệu suất. Trong trường hợp này, tôi đã sử dụng nhiễu gaussian với giá trị trung bình bằng 0 và phương sai là bội số của phương sai ban đầu (Yếu tố 1 (thấp), Yếu tố 2 (cao), Yếu tố 20 (ngoại lệ)) Một kết quả có thể giống như thế này. Tuy nhiên, trong mỗi trường hợp, tham số k phải được điều chỉnh để tìm kết quả tốt. nhập mô tả hình ảnh ở đây

Cuối cùng, một góc nhìn khác là so sánh giá trị bản địa của dữ liệu bị nhiễu cao với dữ liệu gốc (so sánh với hình ảnh đầu tiên của câu trả lời này). Bạn có thể thấy rằng nhiễu ảnh hưởng đến tất cả các giá trị riêng, do đó chỉ sử dụng 25 giá trị riêng hàng đầu để khử nhiễu, ảnh hưởng của nhiễu sẽ giảm.

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


đây chỉ là những số liệu bạn đã thử tìm SNR cho họ
Boris

Không, tôi chỉ sử dụng những số liệu này để minh họa kết nối giữa giảm nhiễu và PCA cho một tập dữ liệu mẫu. Bạn được chào đón để viết một câu trả lời thêm một quan điểm mới.
Nikolas Rieble

Xin chào Nikolas, câu trả lời của bạn thật tuyệt vời, +1. Tôi vừa đăng một câu hỏi về trao đổi ngăn xếp toán học, tôi đã tự hỏi nếu bạn có thể giúp trả lời nó? Chủ yếu, tôi bối rối về lý do TẠI SAO các hàm riêng của ma trận hiệp phương sai của tập dữ liệu gốc hóa ra lại là hướng của phương sai cao nhất, và do đó chúng tôi muốn chiếu lên chúng ... ở đây, tôi đang liên kết câu hỏi: toán học. stackexchange.com/questions/3213775/ cảm ơn!
Zlatan943
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.