본 글에서는 SPSS 를 사용하여 데이터의 다중공선성 수치 VIF, 공차한계(Tolerance) 등을 계산하는 방법을 설명한다.

사용할 데이터 소개

실습을 위하여 간단한 데이터를 작성하였다. 데이터는 학생들의 성적에 대한 데이터로써 6개의 시험에 대한 점수로 구성되어 있다. 이 데이터에서 <수학, 과학, 영어, 독어, 체육> 은 입력변수로 사용하고, <모의수능>은 종속변수로 사용하고자 한다. 즉, 기존의 내신점수를 통해서 (모의)수능점수를 예측하는 것이 관심이다. (수능점수는 500점 만점이지만 여기서 모의수능은 100점 만점으로 가정하였다.)

이 데이터는 수학, 과학, 영어, 독어 의 4개의 변수가 다중공선성이 존재한다.
체육 변수 만 다중공선성이 없다. 데이터를 파일을 아래에 첨부하였다.





SPSS 에서 다중공선성 진단 방법

그럼, 이제 위 데이터를 입력하여 다중공선성을 계산해보자.
SPSS에서 다중공선성 진단을 위한 별도의 메뉴 (기능)은 존재하지 않는다.

다중공선성을 진단하려면 선형회귀분석을 수행해야 한다.
메뉴에서 [분석] - [회귀분석] - [선형] 을 클릭합니다.




옵션 설정 방법

위의 명령을 수행하면, 아래와 같은 창이 표시된다. 왼쪽에 6개의 변수가 표시된다.
[모의수능] 변수를 선택한 후 종속변수 로 이동시킨다.
나머지 모든 변수 5개를 선택한 후 독립변수 쪽으로 이동시킨다. (아래 그림에서는 독어, 체육 2개만 보이지만 가려진 것이고, 5개 모두가 입력되어 있는 상태이다.)




그리고 하단의 [통계량] 버튼을 클릭합니다.
[계속] 버튼을 클릭한 후, 이전 창이 보이면 [확인] 메뉴를 클릭합니다.



결과 해석 방법

위와 같이 수행하면 분석 후 결과 창이 나타난다. 결과의 내용 중 다중공선성과 관계된 부분들을 해석해보자.

결과 파일을 아래에 첨부하였다.

먼저 [계수] 라는 제목으로 된 표를 살펴보자. 이 표의 우측에 보면 <공선성 통계량>이라는 제목이 보인다.
공차한계(Tolerance)VIF(분산팽창계수) 의 값이 표시된다.

VIF 만 살펴보자. VIF 값이 10 이상이면 다중공선성의 존재하는 것으로 판단한다.
이런 기준으로 보면 <수학>, <과학> 이 다중공선성이 있음을 알 수 있다. 데이터에 보면 영어, 독어가 상관성이 높음으로 인해 다중공선성이 문제가 되어야 하는데 여기서는 이상하게도 그것이 표시되지 않음을 볼 수 있다.



이 표에 보면 <영어> 과목이 표시되지 않은 것 (제외된 것)을 볼 수 있다. 왜냐하면 다중공선성이 일정기준 이상으로 크면 SPSS 에서는 자동적으로 그 변수를 제외하기 때문에 그렇다. 즉, 원래는 <영어>, <독어> 가 모두 다중공선성이 크게 존재하는데 그 기준에 의해서 <영어> 변수가 제거된 것이다. 영어 가 제외되었기 때문에 <독어> 의 VIF는 8.233 으로 다중공선성이 약한 것으로 판단되는 것이다.

공차한계는 VIF 값의 역수이다. 따라서 공차한계를 별도로 고려할 필요는 없다.

이제 다음 표를 살펴보자.
위에서 설명했듯이 다중공선성의 기준으로 인해 <영어> 변수가 제거된 것이 표시된다.
공차한계가 0 으로 표시되있다. VIF 값은 점(.) 으로 되어있는데 이것은 무한대 값을 의미하는 것 같다.
즉, 영어 과목의 다중공선성이 VIF 가 <무한대>로 너무 커서 제외된 것으로 판단된다.




마지막 결과 표를 살펴보자. 이 표에서도 VIF 이외의 다른 다중공선성 척도를 보여준다.
< 상태지수(CN: Condition Number) > 라는 다중공선성 척도를 보여준다. 

<상태지수>는 <고유값>을 가지고 계산된다. 상태지수의 계산식과 해석방법은 나중에 추가해야 하겠다.




분석을 정리하자.

즉, 위의 분석 결과를 정리해보자. 다중공선성을 측정하는 척도로 <VIF>, <공차한계>, <상태지수> 등이 있는데 SPSS 의 선형회귀분석 기능을 통해서 이 값들을 얻을 수 있었다. 중간에 옵션에서 <다중공선성> 을 체크해야 했다.

간단한 예제 데이터를 통한 본 실험의 결과를 해석을 정리하면,

VIF 값을 통해 <수학>, <과학>이 다중공선성이 존재하는 것으로 판단되었다.
<영어>는 다중공선성의 정도가 커서 회귀분석 모델 생성시 제외되었다. 즉, 원래대로라면 <영어>, <독어>도 다중공선성이 존재하는 것으로 이해할 수 있다.
체육 변수는 다중공선성이 없는 것으로 판단할 수 있다.

by 에이아이 2009. 7. 27. 22:27
  • 2009.12.12 02:24 ADDR EDIT/DEL REPLY

    비밀댓글입니다

    • 에이아이 2009.12.12 09:55 신고 EDIT/DEL

      VIF는 수치형 변수에만 적용할 수 있는 것 같습니다. 범주형의 변수간의 연관정도는 다른 평가방법을 사용해야 할 것 같은데... 제가 찾아본 바로는 cronbach's alpha 평가가 적절하지 않을까 생각합니다. 저도 공부하면서 생각해본 것이니 정확하지는 않습니다.^^ 혹시 더 좋은 방법이 있다면 알려주시면 감사~

  • 2009.12.23 23:20 ADDR EDIT/DEL REPLY

    비밀댓글입니다

  • ^^ 2010.06.06 13:40 ADDR EDIT/DEL REPLY

    잘보고 갑니다 ^^

  • 이정이 2011.02.16 00:03 ADDR EDIT/DEL REPLY

    감사합니다. 도움이 많이 되었습니다.

  • 박성룡 2011.02.22 22:38 ADDR EDIT/DEL REPLY

    저는 PASW 회귀분석중 능형 회귀분석 실행방법을 알고 싶어요

    설명을 해 주실 수 있으신지요?

    회신메일은 thomaspa@naver.com입니다.

  • 잘보고 갑니다 2011.11.02 11:27 ADDR EDIT/DEL REPLY

    정말 쉽게 잘 풀어주셨네용 ! 이해가 되었습니다^^

  • 쭈쭈 2012.03.28 23:49 ADDR EDIT/DEL REPLY

    아 정말 사람 살리는일 하십니다 ㅋㅋㅋ 감사합니다! :D

    • 에이아이 2012.03.31 11:54 신고 EDIT/DEL

      ㅋㅋ 사람 살리는 일^^

    • 쭈쭈 2012.04.03 10:30 EDIT/DEL

      여쭤볼게 있어서 다시 들렀습니다! 제가 신혼기 결혼만족도에 대한 연구를 하는데요, 대상이 임신한사람도 있고 안한사람도 있어요! 그런데 임신기 부부관계를 하나의 변인으로 넣고 싶은데, 임신하지 않은 사람은 임신기 부부관계에 체크를 하지말라고 했거든요! 그래서 3/2정도만 임신기 부부관계 데이터가 있는 상황이예요..ㅠㅠ 이럴땐 어쩌면 좋나요? 통제변인으로 넣으려고 해도...이렇게 해도 되나싶구요!ㅋㅋㅋ 말도 안되는걸까요? ㅠㅠ

  • 가가멜 2012.05.29 15:55 ADDR EDIT/DEL REPLY

    Eviews를 이용한 패널데이터(시계열+횡단면)의 다중공선성 측정방법에 대해서 알고 계신가요?

  • 스머프 2013.06.11 16:23 ADDR EDIT/DEL REPLY

    무한대로 감솨