Có bất kỳ lợi thế của SVD so với PCA?


20

Tôi biết cách tính toán PCA và SVD một cách toán học và tôi biết rằng cả hai đều có thể được áp dụng cho hồi quy tuyến tính Least Squares.

Ưu điểm chính của SVD về mặt toán học dường như là nó có thể được áp dụng cho các ma trận không vuông.

Cả hai đều tập trung vào sự phân rã của ma trậnKhác với lợi thế của SVD đã đề cập, có bất kỳ lợi thế hoặc hiểu biết bổ sung nào được cung cấp bằng cách sử dụng SVD so với PCA không?XX

Tôi thực sự đang tìm kiếm trực giác hơn là bất kỳ sự khác biệt toán học nào.


2
Câu hỏi không rõ ràng. Đầu tiên bạn đề cập đến hồi quy OLS. Sau đó nó biến mất. Tiếp theo, advantage... SVD over PCA- svd và PCA không thể được so sánh như một hoạt động toán học và phương pháp phân tích dữ liệu. Câu hỏi của bạn có thể là một cái gì đó về cách làm PCA ? Hay bạn đang hỏi gì?
ttnphns

1
Xin lỗi vì không rõ ràng. Tôi có các công cụ ước tính kiểu sườn núi có nguồn gốc từ PCA và loại khác sử dụng SVD. Có nhiều khác biệt trong cách các mô hình được thiết lập, tức là điều khoản của thông tin trước đó mà chúng sử dụng. Nhưng chúng được viết bởi cùng một tác giả. Tôi đang cố gắng tìm hiểu sự khác biệt giữa chúng và đang cố gắng tìm ra lý do tại sao anh ấy sẽ sử dụng PCA vs SVD làm cơ sở cho phân tích của mình. Có lẽ nó là tùy tiện, nhưng nếu tôi có thể hiểu những ưu và nhược điểm thì nó sẽ giúp ích. Cho đến nay, có vẻ như SVD chỉ là một cách để làm PCA có xu hướng ổn định hơn về mặt số lượng.
Baz

Điều đó tốt nhưng tôi chỉ tự hỏi nếu sử dụng SVD cũng tạo ra bất kỳ hiểu biết / trực giác kinh tế lượng bổ sung nào về vấn đề này.
Baz

1
Nếu bạn muốn tập trung cụ thể vào kinh tế lượng, tôi nghĩ bạn cần đánh vần điều đó trong câu hỏi và giải thích tại sao. Tôi không thể thấy rằng một cuộc thảo luận về SVD và PCA, hai loại quái vật khá khác nhau, dù sao cũng khác biệt đối với kinh tế lượng so với bất kỳ ngành khoa học thống kê nào khác.
Nick Cox

4
@Baz: "Cho đến nay, có vẻ như SVD chỉ là một cách để làm PCA có xu hướng ổn định hơn về số lượng" - [trong bối cảnh này] nó hoàn toàn chính xác, đúng vậy.
amip nói rằng Phục hồi lại

Câu trả lời:


43

Như @ttnphns và @ nick-cox đã nói, SVD là một phương pháp số và PCA là một phương pháp phân tích (giống như bình phương tối thiểu). Bạn có thể thực hiện PCA bằng cách sử dụng SVD hoặc bạn có thể thực hiện PCA khi thực hiện phân tách riêng của (hoặc X X T ) hoặc bạn có thể thực hiện PCA bằng nhiều phương pháp khác, giống như bạn có thể giải các hình vuông nhỏ nhất bằng hàng tá thuật toán khác nhau như phương pháp của Newton hoặc giảm dần độ dốc hoặc SVD, v.v.XTXXXT

Vì vậy, không có "lợi thế" nào đối với SVD so với PCA bởi vì nó giống như hỏi liệu phương pháp của Newton có tốt hơn bình phương nhỏ nhất hay không: hai phương pháp không thể so sánh được.


8
Một ví dụ hay về cách một câu trả lời ngắn gọn, súc tích vẫn có thể đi vào trọng tâm của một câu hỏi.
Nick Cox

3
Wow, 8 upvote cho câu trả lời này và 0 upvote cho câu hỏi ban đầu. Điều này không có nhiều ý nghĩa. Nếu bạn nêu lên câu trả lời, hãy xem xét nâng cao câu hỏi!
amip nói rằng Phục hồi lại

1
@amoeba Câu hỏi với tôi là bối rối. Câu trả lời làm rõ sự nhầm lẫn là gì. Tôi nghĩ rằng đó là một lời giải thích tốt cho sự khác biệt trong phiếu bầu.
Nick Cox

5
Trên thực tế để mang tính mô phạm hơn, SVD không phải là một phương pháp số mỗi se, đó là một phép toán đại số tuyến tính, có thể được thực hiện bằng các phương pháp số cụ thể liên quan đến những thứ như biến đổi Householder ...
Purple51

Tuy nhiên, lợi thế của (khi lấy các thành phần chính thông qua) SVD là một số: chính xác hơn. Xem ví dụ Jolliffe (2002). Có lẽ
Nikos Alexandris

2

Câu hỏi thực sự là liệu bạn có nên thực hiện chuẩn hóa điểm Z của các cột trước khi áp dụng SVD không. Điều này là do PCA là biến đổi ở trên theo sau là SVD. Đôi khi làm bình thường hóa là khá có hại. Nếu dữ liệu của bạn là ví dụ (đã chuyển đổi) số từ có giá trị dương, trừ đi giá trị trung bình chắc chắn có hại. Điều này là do các số không đại diện cho sự vắng mặt của một từ trong tài liệu sẽ được ánh xạ tới các số âm với cường độ cao. Trong các vấn đề tuyến tính, cường độ cao hơn nên được sử dụng để thể hiện phạm vi mà các tính năng của bạn nhạy nhất. Cũng chia cho độ lệch chuẩn có hại cho loại dữ liệu này.


Đây là một ví dụ thú vị, nhưng tôi tin rằng nó nên thuộc về một số chủ đề khác. PCA chắc chắn có thể được thực hiện mà không có điểm z, vì vậy tôi không đồng ý với câu đầu tiên của bạn: đó không phải là câu hỏi này "thực sự hỏi".
amip nói rằng Phục hồi lại

PCA và SVD là như nhau nếu bạn bỏ qua việc trừ phương tiện (đây là điểm Z mà tôi đã đề cập, đôi khi mọi người cho PCA chia cho stdev). Vì vậy, tôi không đồng ý rằng bạn có thể làm PCA mà không trừ phương tiện. Bạn cũng có thể làm PCA trên các ma trận không vuông.
Stefan Savev
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.