PCA에 비해 SVD의 장점이 있습니까?


20

나는 PCA와 SVD를 수학적으로 계산하는 방법을 알고 있으며, 둘 다 선형 최소 제곱 법 회귀에 적용 할 수 있다는 것을 알고 있습니다.

SVD의 주요 장점은 수학적으로 비 제곱 행렬에 적용될 수 있다는 것입니다.

둘 다 행렬 의 분해에 중점을 둡니다 . 언급 된 SVD의 이점 외에, PCA를 통해 SVD를 사용하여 제공되는 추가 장점이나 통찰력이 있습니까?엑스엑스

저는 수학적인 차이보다는 직관을 찾고 있습니다.


2
문제는 불분명합니다. 먼저 OLS 회귀에 대해 언급합니다. 그런 다음 사라집니다. 다음으로, advantage... SVD over PCA-svd와 PCA는 수학적 연산과 데이터 분석 방법으로 비교 될 수 없습니다. 귀하의 질문 은 PCA를 수행 하는 방법에 관한 것일 수 있습니까 ? 또는 무엇을 묻고 있습니까?
ttnphns

1
불분명해서 죄송합니다. 하나는 PCA를 사용하고 다른 하나는 SVD를 사용하여 추출한 능선 유형 추정기를 가지고 있습니다. 모델 설정 방법에는 차이가 있습니다. 즉, 사용하는 이전 정보의 용어입니다. 그러나 그들은 같은 저자에 의해 작성되었습니다. 나는 그들 사이의 차이점을 이해하려고 노력하고 있으며 왜 그가 PCA 대 SVD를 그의 분석의 기초로 사용할 것인지 알아 내려고했습니다. 아마도 그것은 임의적이지만, 장단점을 이해할 수 있다면 도움이 될 것입니다. 지금까지 SVD는 수치 적으로 더 안정적인 경향이있는 PCA를 수행하는 방법 인 것 같습니다.
Baz

괜찮습니다.하지만 SVD를 사용하면 문제에 대한 추가 계량 적 통찰력 / 직관력이 생성되는지 궁금합니다.
Baz

1
계량 경제학에 중점을두고 싶다면 질문에서 그 내용을 설명하고 그 이유를 설명해야한다고 생각합니다. 어쨌든 상당히 다른 종류의 짐승 인 SVD와 PCA에 대한 논의는 다른 통계학 분야와는 다른 계량 경제학과는 다르다는 것을 알 수 없습니다.
Nick Cox

4
@Baz : "지금까지 SVD는보다 수치 적으로 안정적인 경향이있는 PCA를 수행하는 방법 인 것 같습니다." – [이 맥락에서] 정확히 맞습니다.
amoeba 말한다 Reinstate Monica

답변:


43

@ttnphns와 @ nick-cox가 말했듯이 SVD는 수치 방법이며 PCA는 분석 방법입니다 (최소 제곱과 같은). 당신은 SVD를 사용하여 PCA을 수행 할 수 있습니다, 또는 당신은 PCA가의 고유 분해하고 할 수있는 (또는 X X T를 사용하면 12 개의 알고리즘 최소 제곱를 해결할 수있는 것처럼, 많은 다른 방법을 사용하여 PCA)를, 또는 당신이 할 수있는 뉴턴의 방법이나 경사 하강 또는 SVD 등엑스엑스엑스엑스

따라서 PCA보다 SVD에 대한 "장점"은 없습니다. 뉴턴의 방법이 최소 제곱보다 나은지 묻는 것과 같습니다.


8
간결하고 짧은 답변이 여전히 질문의 핵심에 도달 할 수있는 좋은 예입니다.
Nick Cox

3
와우,이 답변에 대한 8 개의 찬성 투표와 원문 질문에 대한 0 개의 찬성 투표. 이것은 의미가 없습니다. 답변을 찬성하는 경우 질문을 찬성하는 것도 고려하십시오!
amoeba는

1
@amoeba 나에게 질문은 혼란 스럽다. 그 대답은 혼란이 무엇인지를 분명히합니다. 나는 이것이 투표 차이에 대한 좋은 설명이라고 생각합니다.
Nick Cox

5
실제로 좀 더 현명하게 표현하기 위해 SVD는 그 자체로는 수치적인 방법이 아니며 선형 대수 연산입니다. 이것은 가정용 변환과 같은 것들을 포함하는 특정 수치 방법을 사용하여 구현할 수 있습니다.
purple51

그러나 (주요 구성 요소를 통해 파생 할 때) SVD의 장점은 수치입니다. 예를 들어 Jolliffe (2002)를 참조하십시오. 아마
니 코스 알렉산드

2

문제는 실제로 SVD를 적용하기 전에 열의 Z- 점수 정규화를 수행 해야하는지 묻습니다. 이는 PCA가 위의 변환에 이어 SVD이기 때문입니다. 때로는 정규화를 수행하는 것이 매우 해 롭습니다. 예를 들어, 데이터가 양수인 (변환 된) 단어 수인 경우 평균을 빼는 것은 확실히 해 롭습니다. 문서에 단어가 없음을 나타내는 0이 큰 음수로 매핑되기 때문입니다. 선형 문제에서는 피처가 가장 민감한 범위를 나타내는 데 더 큰 크기를 사용해야합니다. 또한 표준 편차로 나누면이 유형의 데이터에 해 롭습니다.


이것은 흥미로운 예이지만 다른 스레드에 속해야한다고 생각합니다. PCA는 z- 점수없이 확실히 수행 될 수 있으므로 첫 문장에 동의하지 않습니다.이 질문이 "정말 묻지"않습니다.
amoeba는 Reinstate Monica

평균을 빼는 것을 무시하면 PCA와 SVD는 동일합니다 (이것은 제가 언급 한 Z- 점수입니다. 때로는 사람들이 PCA에 stdev로 나누어 주기도합니다). 그래서 나는 당신이 수단을 빼지 않고 PCA를 할 수 있다는 것에 동의하지 않습니다. 비정 방 행렬에서도 PCA를 수행 할 수 있습니다.
Stefan Savev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.