경고 : R
혼동하는 방식으로 "로드"라는 용어를 사용합니다. 아래에 설명하겠습니다.
열에 (중심) 변수가 있고 행에 데이터 점이있는 데이터 집합 를 고려하십시오 . 이 데이터 세트의 PCA를 수행하면 단일 값 분해 됩니다. 열 은 주성분 (PC "점수")이고 열은 주축입니다. 공분산 행렬은 이므로 주축 는 공분산 행렬의 고유 벡터입니다.XNX=USV⊤USV1N−1X⊤X=VS2N−1V⊤V
"부하"는 열로 정의됩니다 . 즉, 각 고유 값의 제곱근에 의해 스케일 된 고유 벡터입니다. 그것들은 고유 벡터와 다릅니다! 동기 부여에 대한 내 대답은 여기 를 참조하십시오 .L=VSN−1√
이 형식을 사용하여 원래 변수와 표준화 된 PC 간의 교차 공분산 행렬을 계산할 수 있습니다. 즉 로딩으로 제공됩니다. 원래 변수와 PC 사이의 상호 상관 행렬은 동일한 식을 원래 변수의 표준 편차 (상관의 정의에 따라)로 나눈 동일한 표현으로 제공됩니다. PCA를 수행하기 전에 원래 변수가 표준화 된 경우 (즉, 상관 행렬에서 PCA가 수행 된 경우) 모두 과 같습니다 . 마지막 경우에, 상호 상관 행렬은 간단히 의해 다시 주어진다 .
1N−1X⊤(N−1−−−−−√U)=1N−1−−−−−√VSU⊤U=1N−1−−−−−√VS=L,
1L
용어 혼동을 해소하기 위해 : R 패키지가 "로드"라고 부르는 것은 주축이며, "상관로드"는 (상관 매트릭스에서 수행 된 PCA의 경우) 실제로로드입니다. 당신이 눈치 채 셨을 때, 그것들은 스케일링에서만 다릅니다. 플롯하는 것이 더 좋은 것은보고 싶은 것에 달려 있습니다. 다음과 같은 간단한 예를 고려하십시오.
왼쪽 서브 플롯에는 기본 대각선을 따라 확장 된 표준화 된 2D 데이터 세트 (각 변수에 단위 분산이 있음)가 표시됩니다. 중간 서브 플롯은 이중 플롯입니다 . 이것은 PC1과 PC2 (이 경우 단순히 45도 회전 한 데이터 집합)의 산점도이며 행이 벡터로 표시됩니다. 참고 하고 벡터 떨어져 90도이고; 원래 축의 방향을 알려줍니다. 오른쪽 서브 플롯은 동일한 바이 플롯이지만 이제 벡터는 행을 보여줍니다 . 이제 와 벡터는 그 사이에 예각을 갖습니다. PC와 상관 관계가있는 원래 변수의 양과 및 를 알려줍니다. x y L x y x yVxyLxyxyPC2보다 PC1과 훨씬 더 강한 상관 관계가 있습니다. 나는 추측 대부분의 사람들이 가장 자주 행렬도의 오른쪽 유형을 볼 선호.
두 경우 모두 와 벡터는 모두 단위 길이를가집니다. 이것은 데이터 셋이 2D로 시작했기 때문에 발생했습니다. 더 많은 변수가있는 경우 개별 벡터의 길이는 보다 작을 수 있지만 단위 원 외부에는 도달 할 수 없습니다. 이 사실의 증거로 나는 운동으로 떠난다.y 1xy1
이제 mtcars 데이터 세트를 다시 살펴 보겠습니다 . 다음은 상관 매트릭스에서 수행 된 PCA의 이중 플롯입니다.
사용하여 검은 선을 , 사용하여 빨간 선을 플로팅 합니다.LVL
공분산 행렬에서 수행 된 PCA의 이중 그림은 다음과 같습니다.
여기에서는 모든 벡터와 단위 원의 크기를 조정 했습니다. 그렇지 않으면 보이지 않습니다 (일반적으로 사용되는 트릭입니다). 다시 검은 선은 행을 , 빨간 선은 변수와 PC 사이의 상관 관계를 나타냅니다 ( 더 이상 의해 제공되지 않음 , 위 참조). 검은 색 선은 두 개만 표시됩니다. 이는 두 변수가 분산이 매우 높고 mtcars 데이터 세트를 지배하기 때문 입니다. 반면에 모든 빨간색 선을 볼 수 있습니다. 두 표현 모두 유용한 정보를 제공합니다.V의 L100VL
추신 : PCA biplots 에는 여러 가지 변형이 있습니다. 자세한 설명과 개요 는 PCA biplot에 화살표 위치를 지정하십시오 . CrossValidated에 게시 된 가장 아름다운 biplot은 여기 에서 찾을 수 있습니다 .