PCA와 PLS에서 "로드"와 "상호로드"의 차이점은 무엇입니까?


11

PCA (Principal Component Analysis)를 수행 할 때 공통적으로 수행해야 할 한 가지는 변수 간의 관계를 조사하기 위해 서로에 대해 두 개의 하중을 플로팅하는 것입니다. 주성분 회귀 및 PLS 회귀를 수행하기위한 PLS R 패키지 와 함께 제공되는 논문 에는 상관 부하 그림 (종이의 그림 7 및 15 페이지 참조) 이라는 다른 도표가 있습니다. 상관로드 ,이 설명 된 바와 같이, (PCA에 나 PLS) 점수의 상관 실제 관측 데이터이다.

로딩과 상관 로딩은 약간 다르게 조정된다는 점을 제외하고는 매우 유사합니다. 내장 된 데이터 세트 mtcar와 함께 R에서 재현 가능한 예는 다음과 같습니다.

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

로드 플롯 상관 관계

이 음모의 해석에서 차이점은 무엇입니까? 그리고 실제로 사용하기에 가장 적합한 줄거리는 무엇입니까?


pca를 더 잘 보려면 biplot (pca)을 사용하십시오. pcp의 로딩 및 점수를 보여 주므로 더 잘 해석 할 수 있습니다.
Paul

6
R prcomp패키지는 무모하게 고유 벡터를 "로딩"이라고 부릅니다. 나는 조언 이 용어는 별도의 유지합니다. 하중은 각 고유 값까지 스케일 된 고유 벡터입니다.
ttnphns

1
로딩 플롯의 설명 구조 : stats.stackexchange.com/a/119758/3277은
ttnphns

답변:


13

경고 : R혼동하는 방식으로 "로드"라는 용어를 사용합니다. 아래에 설명하겠습니다.

열에 (중심) 변수가 있고 행에 데이터 점이있는 데이터 집합 를 고려하십시오 . 이 데이터 세트의 PCA를 수행하면 단일 값 분해 됩니다. 열 은 주성분 (PC "점수")이고 열은 주축입니다. 공분산 행렬은 이므로 주축 는 공분산 행렬의 고유 벡터입니다.XNX=USVUSV1N1XX=VS2N1VV

"부하"는 열로 정의됩니다 . 즉, 각 고유 값의 제곱근에 의해 스케일 된 고유 벡터입니다. 그것들은 고유 벡터와 다릅니다! 동기 부여에 대한 내 대답은 여기참조하십시오 .L=VSN1

이 형식을 사용하여 원래 변수와 표준화 된 PC 간의 교차 공분산 행렬을 계산할 수 있습니다. 즉 로딩으로 제공됩니다. 원래 변수와 PC 사이의 상호 상관 행렬은 동일한 식을 원래 변수의 표준 편차 (상관의 정의에 따라)로 나눈 동일한 표현으로 제공됩니다. PCA를 수행하기 전에 원래 변수가 표준화 된 경우 (즉, 상관 행렬에서 PCA가 수행 된 경우) 모두 과 같습니다 . 마지막 경우에, 상호 상관 행렬은 간단히 의해 다시 주어진다 .

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

용어 혼동을 해소하기 위해 : R 패키지가 "로드"라고 부르는 것은 주축이며, "상관로드"는 (상관 매트릭스에서 수행 된 PCA의 경우) 실제로로드입니다. 당신이 눈치 채 셨을 때, 그것들은 스케일링에서만 다릅니다. 플롯하는 것이 더 좋은 것은보고 싶은 것에 달려 있습니다. 다음과 같은 간단한 예를 고려하십시오.

복엽

왼쪽 서브 플롯에는 기본 대각선을 따라 확장 된 표준화 된 2D 데이터 세트 (각 변수에 단위 분산이 있음)가 표시됩니다. 중간 서브 플롯은 이중 플롯입니다 . 이것은 PC1과 PC2 (이 경우 단순히 45도 회전 한 데이터 집합)의 산점도이며 행이 벡터로 표시됩니다. 참고 하고 벡터 떨어져 90도이고; 원래 축의 방향을 알려줍니다. 오른쪽 서브 플롯은 동일한 바이 플롯이지만 이제 벡터는 행을 보여줍니다 . 이제 와 벡터는 그 사이에 예각을 갖습니다. PC와 상관 관계가있는 원래 변수의 양과 및 를 알려줍니다. x y L x y x yVxyLxyxyPC2보다 PC1과 훨씬 더 강한 상관 관계가 있습니다. 나는 추측 대부분의 사람들이 가장 자주 행렬도의 오른쪽 유형을 볼 선호.

두 경우 모두 와 벡터는 모두 단위 길이를가집니다. 이것은 데이터 셋이 2D로 시작했기 때문에 발생했습니다. 더 많은 변수가있는 경우 개별 벡터의 길이는 보다 작을 수 있지만 단위 원 외부에는 도달 할 수 없습니다. 이 사실의 증거로 나는 운동으로 떠난다.y 1xy1

이제 mtcars 데이터 세트를 다시 살펴 보겠습니다 . 다음은 상관 매트릭스에서 수행 된 PCA의 이중 플롯입니다.

mtcars pca biplot

사용하여 검은 선을 , 사용하여 빨간 선을 플로팅 합니다.LVL

공분산 행렬에서 수행 된 PCA의 이중 그림은 다음과 같습니다.

mtcars pca biplot

여기에서는 모든 벡터와 단위 원의 크기를 조정 했습니다. 그렇지 않으면 보이지 않습니다 (일반적으로 사용되는 트릭입니다). 다시 검은 선은 행을 , 빨간 선은 변수와 PC 사이의 상관 관계를 나타냅니다 ( 더 이상 의해 제공되지 않음 , 위 참조). 검은 색 선은 두 개만 표시됩니다. 이는 두 변수가 분산이 매우 높고 mtcars 데이터 세트를 지배하기 때문 입니다. 반면에 모든 빨간색 선을 볼 수 있습니다. 두 표현 모두 유용한 정보를 제공합니다.V의 L100VL

추신 : PCA biplots 에는 여러 가지 변형이 있습니다. 자세한 설명과 개요 는 PCA biplot에 화살표 위치를 지정하십시오 . CrossValidated에 게시 된 가장 아름다운 biplot은 여기 에서 찾을 수 있습니다 .


2
이것은 매우 좋은 대답이지만 (+1), 통계적 데이터 세트 / 예와 같이 X의 열이 아닌 X의 행에 변수를 넣는다는 점에서 실용적으로 약점이 있습니다. 그 전치로 인해 U 벡터는 변수에 관한 것이고 V는 케이스에 관한 것입니다. PCA를 알고있는 대부분의 사람들은 반대 레이아웃에 익숙합니다. 그래서 그것은 지각을 조금 방해합니다.
ttnphns

1
스캔에서 "도끼 biplot"과 "loadings biplot"의 차이에 대한 "도덕적"을 구두로 강조하는 것이 좋습니다. 첫 번째로 변동성 (= scale, = magnidute, = inertia, = mass)은 표시되지 않습니다. 고유 값으로 저장됩니다. 두 번째로, 변수를 나타내는 고유 벡터에 완전히 포기되었습니다. 이 "복생"덕분에 변수는 원점과 특정 각도에서 특정 길이를 갖는 두 점 또는 벡터의 의미있는 데이터 클라우드가됩니다. 이것이 우리가 주제 공간 에서 "갑자기"찾는 방법 입니다.
ttnphns 2013 년

감사합니다 @ttnphns, 둘 다 좋은 점. 의 행 / 열과 관련하여 , 실제로, 내가 사용한 레이아웃을 선호합니다. 단일 데이터 포인트는 일반적으로 열 벡터 로 작성됩니다 . 이에 작용 하는 행렬 는 로 작성됩니다 . 이제 가 함께 누적 된 열 벡터의 모음이라면 쓸 수 있습니다 . 이는 편리합니다. 대신 가 옹호 할 때 샘플이 행에 있으면 을 작성해야합니다 . 이상하게 보입니다. 그러나 많은 교과서 에서이 규칙을 사용한다는 것을 인정합니다 (왜 그런지 잘 모르겠습니다). x U U x X U X X X UXxUUxXUXXXU
아메바

1
이것은 물론 맛의 문제입니다. 그러나 대부분의 통계 프로그램은 데이터 스프레드 시트를로 표시합니다 cases X variables. 전통적으로 대부분의 통계 분석 텍스트에서 선형 대수학은 사례를 행 벡터로 만듭니다. 기계 학습에서 다른가요?
ttnphns 2016 년

1
@user_anon 아니요,이 답변은 요인 회전없이 표준 PCA를 고려합니다.
amoeba
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.