분석 목표에 따라 다릅니다. 몇 가지 일반적인 관행, 그 중 일부는 whuber의 링크에 언급되어 있습니다.
- 표준화는 일반적으로 PCA가 수행되는 변수가 동일한 척도로 측정되지 않을 때 수행됩니다. 표준화는 모든 변수에 동일한 중요성을 할당 함을 의미합니다.
- 동일한 척도로 측정되지 않고 표준화되지 않은 변수에 대해 작업하기로 선택한 경우 각 PC가 단일 변수에 의해 지배되는 경우가 종종 있으며 그 차이에 따라 변수의 정렬 순서를 갖습니다. (각 (초기) 구성 요소의로드 중 하나는 +1 또는 -1에 가깝습니다.)
- 경험 한 것처럼 두 가지 방법은 종종 다른 결과로 이어집니다.
직관적 인 예 :
나무의 높이와 같은 나무의 둘레라는 두 가지 변수가 있다고 가정하십시오. 우리는 부피를 계수로 변환 할 것입니다. 부피가 20 입방 피트보다 크면 나무의 부피가 커지고 그렇지 않으면 부피가 작아집니다. R에 사전로드 된 트리 데이터 세트를 사용합니다.
>data(trees)
>tree.girth<-trees[,1]
>tree.height<-trees[,2]
>tree.vol<-as.factor(ifelse(trees[,3]>20,"high","low"))
이제 높이가 실제로 피트 대신 마일 단위로 측정되었다고 가정합니다.
>tree.height<-tree.height/5280
>tree<-cbind(tree.height,tree.girth)
>
>#do the PCA
>tree.pca<-princomp(tree)
>summary(tree.pca)
Importance of components:
Comp.1 Comp.2
Standard deviation 3.0871086 1.014551e-03
Proportion of Variance 0.9999999 1.080050e-07
Cumulative Proportion 0.9999999 1.000000e+00
첫 번째 성분은 데이터 변동성의 거의 100 %를 설명합니다. 로딩 :
> loadings(tree.pca)
Loadings:
Comp.1 Comp.2
tree.height -1
tree.girth 1
그래픽 평가 :
>biplot(tree.pca,xlabs=tree.vol,col=c("grey","red"))
우리는 부피가 큰 나무가 큰 나무 둘레를 갖는 경향이 있지만 세 높이는 나무의 부피에 대한 정보를 제공하지 않습니다. 이것은 잘못된 것일 수 있으며 두 가지 다른 단위 측정의 결과입니다.
동일한 단위를 사용하거나 변수를 표준화 할 수 있습니다. 나는 둘 다 변동성의 균형 잡힌 그림으로 이어질 것으로 기대합니다. 물론이 경우 변수가 동일한 단위를 가져야하지만 표준화되어서는 안된다고 주장 할 수 있는데, 이는 우리가 두 가지 다른 것을 측정하고 있지 않다면 유효한 주장 일 수 있습니다. (나무의 무게와 나무의 둘레를 측정 할 때, 둘 다 측정해야 할 척도는 더 이상 명확하지 않습니다.이 경우 표준화 된 변수에 대한 명확한 논거가 있습니다.)
>tree.height<-tree.height*5280
>tree<-cbind(tree.height,tree.girth)
>
>#do the PCA
>tree.pca<-princomp(tree)
> summary(tree.pca)
Importance of components:
Comp.1 Comp.2
Standard deviation 6.5088696 2.5407042
Proportion of Variance 0.8677775 0.1322225
Cumulative Proportion 0.8677775 1.0000000
> loadings(tree.pca)
Loadings:
Comp.1 Comp.2
tree.height -0.956 0.293
tree.girth -0.293 -0.956
>biplot(tree.pca,xlabs=tree.vol,col=c("grey","red"))
우리는 이제 키가 크고 큰 둘레를 가진 나무가 작은 나무의 낮은 둘레와 낮은 높이 (오른쪽 위 모서리)와 비교하여 부피가 높습니다 (왼쪽 아래 모서리). 이것은 직관적으로 의미가 있습니다.
그러나 면밀히 살펴보면 높음 / 낮음 볼륨 간의 대비가 높이 방향이 아니라 둘레 방향에서 가장 강하다는 것을 알 수 있습니다. 표준화 할 때 어떤 일이 발생하는지 봅시다 :
>tree<-scale(tree,center=F,scale=T)
>tree.pca<-princomp(tree)
> summary(tree.pca)
Importance of components:
Comp.1 Comp.2
Standard deviation 0.2275561 0.06779544
Proportion of Variance 0.9184749 0.08152510
Cumulative Proportion 0.9184749 1.00000000
> loadings(tree.pca)
Loadings:
Comp.1 Comp.2
tree.height 0.203 -0.979
tree.girth 0.979 0.203
>biplot(tree.pca,xlabs=tree.vol,col=c("grey","red"))
실제로, 둘레는 이제 큰 나무와 작은 나무의 차이의 대부분을 설명합니다! (바이 플롯의 화살표 길이는 원래 변수의 분산을 나타냅니다.) 따라서 동일한 척도로 측정하더라도 표준화가 유용 할 수 있습니다. 예를 들어 서로 다른 종의 나무의 길이를 비교할 때 표준화되지 않는 것이 좋습니다. 이는 정확히 동일한 측정이기 때문입니다.