獨斷論

SPSS 사용법 - Factor Analysis 본문

과학과 기술/SPSS

SPSS 사용법 - Factor Analysis

부르칸 2013. 4. 17. 11:15

SPSS 사용법 - Factor Analysis

요인분석, 인자분석, 주성분분석

 

데이터의 변수가 너무 많고 복잡하여 한 눈에 데이터의 양상을 파악하기 어려울때 주로 사용할 수 있는 것은 principal compoent analysis(주성분분석, PCA)과 factor analysis(인자분석)인데 이 방법은 데이터의 변수를 선형조합을 이용하여 latent variable(잠재변수)로 만들어 데이터의 공분산형태를 잘 설명해 줄수있는 잠재변수만 선택하여 분석하는 것이다. 이렇게 하면 데이터가 아무리 복잡하더라도 잠재변수 몇 개만 가지고 분석 할수 있는 장점도 있지만 잘못하면 중요한 정보를 잃어버릴수도 있기때문에 주의를 요한다.

 

Latent variable이 서로 orthogonal(직교)가 되도록 만들 경우, 즉 latent variable이 서로 상관관계가 없는 경우를 PCA라 하고 서로 직교가 되지 않도록 만드는 경우를 factor analysis라고 한다.

 

아래 데이터를 내려받아 SPSS에서 불러들인다. 불러들인후에 모든 변수를 Variable View에서 measure란을 모두 scale로 바꿔야 한다.

 

첨부파일:factor.csv

이 데이터는 학습장애가 있는 아이들의 IQ검사를 한 것으로서 client는 학생의 ID를 숫자로 나타낸 것이고, agemate는 학생의 친구들의 나이를 나타낸다. 그 다음으로 나타나는 변수들은 각각 검사항목에 대한 점수를 보여주는데

  • info = 'Information'
  • comp = 'Comprehension'
  • arith = 'Arithmetic'
  • simil = 'Similarities'
  • vocab = 'Vocabulary'
  • digit = 'Digit Span'
  • pictcomp = 'Picture Completion'
  • parang = 'Paragraph Arrangement'
  • block = 'Block Design'
  • object = 'Object Assembly'
  • coding = 'Coding'

이다.

 

"Analyze >> Dimension Reduction >> Factor .."를 클릭한다.

 

 

위와 같이 Factor analysis의 대화창이 나타나면 client와 agemate를 제외한 모든 변수를 variables로 지정하여 factor analysis에 사용할 변수를 추가한다.

그리고나서 Extraction을 클릭하여 대화창이 하나더 나타나는데

  1. Method는 Principal components로 선택 (즉 latent variable을 orthogonal하게 만들겠다는 의미이다)
  2. Analyze는 correlation matrix를 선택한다.
  3. Display는 Scree plot를 선택하고 unrotated factor solution은 선택하지 않는다. Scree plot은 얼마나 많은 factor 또는 principal component를 선택할지 도움을 준다.
  4. Extract는 Based on Eigenvalue를 선택하고 값은 '1'을 지정한다. 이것도 역시 factor 또는 principal compoent의 갯수를 선택하는데 도움을 준다. Kaiser stopping criterion이라고도 한다.
  5. Continue를 클릭한다

Rotation을 클릭하면 아래와 같은 대화창이 나타난다.

Method에서 Varimax를 선택하여 모든 latent variable들이 서로 상관관계가 없도록 즉 orthogonal하도록 한다. 이는 정확히 말하면 factor analysis가 아니라 principal component analysis이다. 그리고 만약 Direct Oblimin을 선택한다면 latent variable들이 서로 상관관계가 있게 되므로 factor analysis가 된다. 대부분의 경우 orthogonal한 latent variable을 선호하므로 이 방법을 선택한다. 이는 마치 대부분의 그래프를 x-y 직각 좌표계에 그림을 그려서 설명하는 것과 마찬가지이다.

Continue를 클릭하고 OK를 클릭하면 다음과 같은 결과를 얻을 수 있다.

 

Eigenvalue가 1 이상인 것만 추출하도록 지정하였으므로 여기서 3개만의 variance만 보여주었다.

Component 1이 전체 데이터의 variance를 24.485%를 설명해주며 (component 1) + (component 2)이 전체 데이터의 variance를 47.569%를 설명해주며 (component 1) + (component 2) + (component 3)이 전체 데이터의 variance를 58.062%를 설명해 준다는 것을 알 수 있다.

 

이제 scree plot을 보자

 

사람마다 다르겠지만 비록 eigenvalue가 1보다 큰 component가 세번째까지라 할지라도 scree plot을 보면 두 번째 component에서 기울기가 확 바뀌었으므로 이럴때는 보통 component 1과 component 2만 취하여 데이터를 분석하는 것이 보통이다(이럴경우 100 - 47.569 = 52.431 %의 variance를 잃어버리게 되므로 데이터 분석에 주의를 요한다).

 

앞서 선택한 3개의 component에 원래 데이터의 변수가 얼마나 많은 영향을 미친것인지 나타내는 것이다. Compoent 1에 가장 많은 영향을 미친 것은 info, comp, arith, simil, vocab, digit이고 Component 2는 pictcomp, parang, block, object이고 Compoent 3은 digit, coding이다.

Component 1은 대개 숫자와 문자에 대한 인지력을 나타내므로 verbal IQ라고 할 수 있으며

Component 2는 단순지식보다는 사물에 대한 것을 나타내므로 perfomance IQ라고 할 수 있고

Component 3는 concentration IQ라고 할 수 있다.

이는 연구자의 입장에 따라 달리 부를수도 있고 꼭 이것이 맞다라고 볼수도 없으므로 자신이 각자 해석하여 이름을 붙일수도 있다.

이를 그림으로 나타내면 아주 쉽게 알수 있지만, 대개 principal component가 3개 이상되면 그림으로 나타내어 이해하기 어려우므로 principal component를 2개만 가지고 나타내어보자.

 

  • 다시 "Analyze >> Dimension Reduction >> Factor .."를 클릭하여
  • Factor Analysis의 대화창에서 Extraction을 클릭하고 Extract항목에서 Fixed number of factors에 2를 입력하고 Continue를 클릭하고
  • Factor Analysis의 대화창에서 Rotation을 클릭하여 Display항목에서 Loading plots를 클릭한 후 Continue를 클릭하고
  • OK를 클릭하면 얻는 결과중에 아래의 그림을 보자

 

 

 

가로축은 Principal component 1이고 세로축은 principal component 2이다. Component matrix에서 본 바와 같이 comp, simil, vocab, info, arith, digit은 component 1의 양의 방향에 모여 있고 object, pictcomp, block, parang등은 principal component 2 축의 양의 방향에 모여 있음을 보여준다.

Comments