본문 바로가기
자료처리

SPSS로 주성분 분석 수행할 때 고려할 사항

by Prof. Sung-Deuk Choi 2024. 7. 2.

PCA 결과가 다르네?

SPSS (= JASP, jamovi)로 산출한 PCA 결과는 SAS (= STATA, MATLAB, Orange, R, Python, SigmaPlot, OriginPro) 결과와조금 다릅니다. 점수 그림(score plot)의 시료 분포 경향이 전반적으로 비슷한데 값은 차이가 있습니다. 아래 두 산포도의 경향은 거의 비슷합니다. 그런데 자세히 보면 수치가 다릅니다. 가장 위에 있는 점을 보면, SPSS에서는 Y축 값이 3과 4 사이에 있는데, SAS에서는 4와 5 사이에 있습니다.

 

아래와 같이 두 결과를 중첩하면 SPSS 결과 수치가 작은 것을 알 수 있습니다. 

 

그러나 우리 연구실의 PCA 목적이 시료를 그룹화하고 어떤 화학 성분의 기여도가 높은지 파악하는 것이므로 점수(score)의 절대값은 의미가 없습니다. 그러므로 PCA를 위해 어떤 소프트웨어를 쓰더라도 괜찮습니다. 단, 서로 다른 소프트웨어로 산출된 PCA 결과 수치(score와 loading) 자체를 비교하면 안 됩니다.

 

ChatGPT가 알려준 SPSS와 R (prcomp 함수 사용)의 PCA 방법 차이는 다음과 같습니다.  

 

  • 데이터 처리 및 전처리: SPSS는 자동으로 중심화하고 상관 행렬을 사용하여 변수를 표준화하는 반면, prcomp는 사용자가 옵션을 설정하여 데이터를 중심화하고 표준화합니다.
  • 계산 방법: SPSS는 고유값 분해를 사용하고, prcomp는 SVD를 사용합니다.

 

 

SPSS 회전 옵션 선택 여부

지금까지 우리 연구실에서 SPSS로 PCA를 수행할 때는 대부분 Varimax 회전을 선택했습니다. 많은 SPSS 서적, 웹사이트, 유튜브 등에서는 인자분석(factor analysis) 메뉴에서 추출방법을 주성분으로 선택하고(SPSS 기본 옵션) 회전 방법은 직교회전 방법인 Varimax를 선택하라고 되어 있습니다. 그러나 SPSS, JASP, jamovi를 제외한 대부분의 통계 소프트웨어에는 PCA 옵션으로 회전이 없습니다. PCA를 실행하면서 이미 주성분들이 직교를 하므로 추가적으로 직교회전을 할 필요가 없기 때문입니다. 

SPSS에서 회전 유무에 따른 점수그림 변화를 살펴 봤습니다. Varimax 회전에 의해 시료의 위치가 시계 방향으로 회전한 것을 알 수 있습니다. 시료 위치가 전체적으로 이동했지만 전반적인 시료 분포 경향은 별다른 변화가 없으므로, 회전 여부에 따라서 PCA 결과해석은 달라지지 않습니다. 앞으로는 다른 소프트웨어 결과와 직접 비교하는 것을 염두하여 SPSS로 PCA를 할 때는 직교회전 옵션을 선택하지 않고자 합니다. 

 

JASP와 jamovi 결과와 R 결과가 다른 이유는?

JASP와 jamovi는 R 기반의 GUI 소프트웨어입니다. 그런데 왜 R로 수행한 PCA 결과와 다를까요? 

Jamovi와 JASP는 R의 기본 PCA 내장함수인 prcomp를 사용하지 않고, psych 패키지에 포함된 principal 함수(SPSS 데이터 전처리와 계산 방법과 동일)를 사용하기 때문입니다.

'자료처리' 카테고리의 다른 글

HYSPLIT PC 버전 웹 브라우저 문제 해결  (0) 2024.09.07
HYSPLIT PC 버전 해상도 변경  (0) 2024.09.07
주요 통계 소프트웨어 정리  (0) 2024.07.01
Python 주성분 분석  (0) 2024.07.01
R 주성분 분석  (0) 2024.07.01

댓글