decathlon 데이터 셋 {FactoMineR}을 사용하여이를 재현 할 수 있습니다. 문제는 계산 된 고유 값이 공분산 행렬의 고유 값과 다른 이유입니다.
다음을 사용하는 고유 값은 다음과 같습니다 princomp
.
> library(FactoMineR);data(decathlon)
> pr <- princomp(decathlon[1:10], cor=F)
> pr$sd^2
Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6
1.348073e+02 2.293556e+01 9.747263e+00 1.117215e+00 3.477705e-01 1.326819e-01
Comp.7 Comp.8 Comp.9 Comp.10
6.208630e-02 4.938498e-02 2.504308e-02 4.908785e-03
그리고 같은 사용 PCA
:
> res<-PCA(decathlon[1:10], scale.unit=FALSE, ncp=5, graph = FALSE)
> res$eig
eigenvalue percentage of variance cumulative percentage of variance
comp 1 1.348073e+02 79.659589641 79.65959
comp 2 2.293556e+01 13.552956464 93.21255
comp 3 9.747263e+00 5.759799777 98.97235
comp 4 1.117215e+00 0.660178830 99.63252
comp 5 3.477705e-01 0.205502637 99.83803
comp 6 1.326819e-01 0.078403653 99.91643
comp 7 6.208630e-02 0.036687700 99.95312
comp 8 4.938498e-02 0.029182305 99.98230
comp 9 2.504308e-02 0.014798320 99.99710
comp 10 4.908785e-03 0.002900673 100.00000
직접 계산 된 고유 값과 다른 고유 값이 다른 이유를 설명해 주시겠습니까? (고유 벡터는 동일합니다) :
> eigen(cov(decathlon[1:10]))$values
[1] 1.381775e+02 2.350895e+01 9.990945e+00 1.145146e+00 3.564647e-01
[6] 1.359989e-01 6.363846e-02 5.061961e-02 2.566916e-02 5.031505e-03
또한 대체 prcomp
방법은 직접 계산과 동일한 고유 값을 제공합니다.
> prc <- prcomp(decathlon[1:10])
> prc$sd^2
[1] 1.381775e+02 2.350895e+01 9.990945e+00 1.145146e+00 3.564647e-01
[6] 1.359989e-01 6.363846e-02 5.061961e-02 2.566916e-02 5.031505e-03
왜 PCA
/ princomp
와 prcomp
다른 고유 값을 제공합니까?
PCA는 공분산 행렬 또는 상관 행렬을 사용하는지에 따라 다른 결과를 제공합니다.
—
charles.y.zheng
차이는 비교적 작지만 단순한 수치 문제로는 너무 클 수 있습니다. 이 정규화에 의해 차이가있을 수 또는 N - 1 , 예를 들면, 이전 SVD 또는 고유 분해를 계산의 공분산의 추정을 계산할 때?
—
추기경
@ 추기경 좋은 추측! 서로 다른 두 고유 값 시퀀스는 동일한 연속 비율을 갖습니다 . 따라서 한 세트는 다른 세트의 상수 배수입니다. 배수는 1.025 = 41/40 ( 정확히 )입니다. 어디에서 왔는지 불분명합니다. 데이터 세트에 41 개의 요소가 있고 OP가 처음 10 개만 공개하고 있습니까?
—
whuber
@cardinal Indeed : 도움말 페이지
—
caracal
princomp
: "기본 계산에서는 공분산 행렬에 제수 N을 사용합니다." 도움말 페이지에 대해 prcomp
"달리 princomp, 차이는 일반적인 제수 N-1로 계산됩니다."
@ caracal, 당신은 당신의 의견을 답변에 복사하고 (아마도 CW로 만들어야) 받아 들일 수 있고 질문이 해결 된 것으로 표시 될 수 있습니다.
—
추기경