PCA biplot의 네 축은 무엇입니까?


18

PCA 분석을 위해 바이 플롯을 구성 할 때 x 축의 주성분 PC1 점수와 y 축의 PC2 점수가 있습니다. 그러나 화면의 오른쪽과 위쪽에 다른 두 축은 무엇입니까?


1
어떤 화면에 대해 이야기하고 있는지 어떻게 알 수 있습니까?
FairMiles

@ttnphns는 여기에
Haitao Du

답변:


12

예를 들어 다음 명령이 반환하는 플롯에서 의미합니까?

biplot(prcomp(USArrests, scale = TRUE))

biplot 미국 체포

그렇다면, 위 및 오른쪽 축은 플롯에서 빨간색 화살표 (변수를 나타내는 점)를 해석하는 데 사용됩니다.

주성분 분석의 작동 방식을 알고 R 코드를 읽을 수있는 경우 아래 코드는 의 최종 플로팅 이전에 결과 prcomp()가 처음에 처리되는 방식을 보여줍니다 . 이 두 함수는로 플롯 할 때 백그라운드에서 호출되며 다음과 같이 수정 된 코드 발췌 부분은입니다 .biplot.prcomp()biplot.default()biplot()biplot.prcomp()

x<-prcomp(USArrests, scale=TRUE)
choices = 1L:2L
scale = 1
pc.biplot = FALSE
scores<-x$x
lam <- x$sdev[choices]
n <- NROW(scores)
lam <- lam * sqrt(n)
lam <- lam^scale
yy<-t(t(x$rotation[, choices]) * lam)
xx<-t(t(scores[, choices])/lam)
biplot(xx,yy)

곧, 위의 예에서 가변 하중의 행렬 ( x$rotation)은 주성분의 표준 편차 ( x$sdev) 곱하기 관측 횟수의 제곱근에 의해 스케일링됩니다 . 상단 축과 오른쪽 축의 축척이 플롯에 표시되는 축척으로 설정됩니다.

가변 하중을 조정하는 다른 방법도 있습니다. 예를 들어 R 패키지 비건 채식인이 제공합니다.


5
+1. 자유의 여신상을 당신의 대답에 삽입했습니다.
amoeba는 Reinstate Monica

그들이 : 또한, 나는 당신이 PC 점수 (하단 왼쪽와의 축) 합계의 제곱 단위로 확장되는 당신의 대답에 추가 할 수 있다면, 미래의 참조를 위해 매우 유용 할 것이라고 생각 하지 "원시" PC 점수.
amoeba는 Reinstate Monica

0.8biplot.default

1
더 나아가, 다음 나사산도 참조하십시오 : PCA biplot에 화살표 배치 .
amoeba 말한다 Reinstate Monica

11

Biplot에 대한 시각화가 향상되었습니다. 다음 그림을 확인하십시오.

실험에서 3d 포인트를 2d (시뮬레이션 된 데이터 세트)에 매핑하려고합니다.

2d에서 biplot을 이해하는 요령은 3d에서 동일한 것을 볼 수있는 올바른 각도를 찾는 것입니다. 모든 데이터 포인트에 번호가 매겨져 있으며 매핑을 명확하게 볼 수 있습니다.

여기에 이미지 설명을 입력하십시오

결과를 재현하는 코드는 다음과 같습니다.

require(rgl)
set.seed(0)

feature1=round(rnorm(50)*10+20)
feature2=round(rnorm(50)*10+30)
feature3=round(runif(50)*feature1)

d=data.frame(feature1,feature2,feature3)

head(d)

plot(feature1,feature2)
plot(feature2,feature3)
plot(feature1,feature3)

plot3d(d$feature1, d$feature2, d$feature3, type = 'n')
points3d(d$feature1, d$feature2, d$feature3, color = 'red', size = 10)
shift <- matrix(c(-2, 2, 0), 12, 3, byrow = TRUE)
text3d(d+shift,texts=1:50)
grid3d(c("x", "y", "z"))

pr.out=prcomp(d,scale.=T)
biplot(pr.out)
grid()

2
+1. 그러나 회전 된 3D 그림에서 점 구름에는 분산이 유지됩니다 (가로 투영, 즉 PC1은 수직, 즉 PC2보다 큰 편차가 있음). 빨간색 화살표는 모두 단위 길이 (3D)입니다. biplotR 의 명령에 의해 생성되고 오른쪽 그림에서 재현 된 바이 플롯의 경우에는 해당되지 않습니다. 점의 구름은 표준화되어 있지만 화살표의 길이는 분산에 해당합니다.
아메바는 모니카의 복원을 말한다

@amoeba 좋은 지적. 나는 단지 화살표를 수동으로 그리고 화살표의 길이는 특정 의미를 가지고 잊어 버렸습니다.
Haitao Du

수동 3D / 2D "biplot"은 함수 biplotscale=0인수로 생성 하는 것과 더 일치한다고 생각합니다 .
amoeba는
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.