회귀분석의 확장 – 공선성, 상호작용, 가변수

공선성(collinearity)의 정의

독립변수들 간에 높은 상관관계가 존재하는 것을 의미함. 독립변수 사이의 높은 상관관계(공선성)는 분석결과에 영향을 미쳐 잘못된 판단을 유도 할 수 있음. 실제로 종속변수에 큰 영향을 미치는 독립변수가 무의미하게 나타날 수도 있고, 회귀계수의 부호가 뒤바뀌는 상황도 발생할 수 있음.

  • 다중공선성이란 여러 개의 독립변수들 사이에 공선성이 존재하는 것을 의미함.

공선성(collinearity)의 대응방안

첫 번째 대응방안으로 가장 기본적인 방법은 공선성의 대상이 되는 변수 중 일부를 모형에서 삭제하는 것.

  • 이론적인 측면에서 힘든 경우가 많음

두 번째 대응방안은 상관성이 높은 변수들로 이루어진 하나의 지수를 구성하여 사용하는 것

  • 예를 들면 교육,소득,직업을 합쳐서 SES(socioeconomic status)라는 하나의 지수를 만드는 것.

세 번째 대응방안은 더 많은 자료를 모으는 것. 더 많은 자료를 모으면 현재 나타나는 공선성이 약해질 가능성이 있음.

다른 방법들로는 주성분분석(principal components analysis), 능형회귀(ridge regression) 등

 

 

SPSS를 활용한 공선성 진단

데이터 다운로드 :

  • 출처 : 즐거운 SPSS, 풀리는 통계학/ 저자: 김준우/ 출판사: 박영사
  • 데이터 소개 : 학생들의 공부시간,성취욕구,집중력 그리고 점수에 대한 데이터임.

1.그래프 – 레거시 대화 상자 – 산점도/점도표 선택

cp1

2.단순 산점도 선택cp2

3.변수 선택cp3

4.전체 적합선 추가 클릭

  • 두 변수 사이에 어느 정도 선형 관계가 있다는 것을 확인할 수 있다.

cp4

5. 분석 – 회귀분석 – 선형 선택

cp5

6. 변수 선택cp6

7. 분석 결과 – R제곱 값과 유의확률 을 통해 두 변수 간에 유의미한 영향이 존재함을 확인.
cp8

8. 그래프 – 레거시 대화 상자 – 산점도/점도표 선택cp9

9.단순 산점도 선택cp10

10. 변수 선택cp11

11.전체 적합선 추가 클릭

  • 두 변수 사이에 어느 정도 선형 관계가 있다는 것을 확인할 수 있다.

cp12

12.분석 – 회귀분석 – 선형 선택cp13

13. 변수 선택cp14

14. 분석 결과 – R 제곱 값과 유의확률을 통해 두 변수 간에 유의미한 영향이 존재함을 확인cp1515. 그래프 – 레거시 대화 상자 – 산점도/점도표 선택
cp16

16. 3차원 산점도 선택cp17

17. 변수 선택cp18

18. 모든 데이터 마커 선택(하나의 케이스를 클릭하면 모두 선택됨.)cp19

19. 편집 – 특성 선택cp20

20. 말뚝표시 탭 – 바닥 선택cp21

21. 편집 – 3D 회전 선택cp22

22. 보기 좋게 도표를 회전cp23

23. 분석 – 회귀분석 – 선형 선택cp24

24. 변수 선택cp25

25. 분석 결과 – 계수 화면을 살펴보면 공부시간과 성취욕구의 회귀계수가 유의확률로 인해 통계적 의미를 상실함(p>0.05) . 앞선 단순회귀분석들과 결과가 다름을 확인. 또한 회귀 모형에 대한 유의확률은 0.017로 유의한 것을 알 수 있음. 이는 공선성이 존재하더라도 두 변수가 합쳐진 효과에 영향을 주지는 않음을 의미함.cp26

26. 분석 – 회귀분석 – 선형 선택cp27

27. 변수 선택 및 통계량 옵션 선택cp28

28. 공선성 진단 체크cp29

29. 공선성 통계량 결과

Field가 제시하는 공선성기준

  • 가장 큰 VIF가 10보다 크다면, 공선성의 존재에 대해 우려해보아야 함.
  • VIF들의 평균값이 1보다 훨씬 크다면, 공선성의 가능성이 있음.
  • 공차한계(tolerance)가 0.2보다 작으면, 공선성일 가능성이 있음

Field의 공선성기준으로 분석하면, 성취욕구와 공부시간의 공차한계는 모두 0.2이하로 공선성의 가능성이 있으며, VIF값의 평균은 4.12로 1을 훨씬 넘으므로, 공선성의 가능성이 있다고 진단할 수 있음

cp30

30. 분석 – 회귀분석 – 선형 선택

  • 공선성 통계량이 어떻게 도출되는지 확인하기 위한 절차

cp31

31. 독립변수였던 성취욕구를 종속 변수로 선택, 나머지 두 독립변수는 동일cp32

32.  29번의 공선성 통계량 결과와 비교해보면, 성취욕구의 공차 = 0.19는 1 – 0.81 즉, 해당 변수의 R제곱 값이 된다. 또한 1/0.19(공차) = 5.268(VIF)가 된다. cp33

R을 활용한 공선성 진단


install.packages("Hmisc")
library("foreign") #spss 데이터를 R로 가져오기 위해 필요한 패키지

setwd("C:/Users/yoonjae/Desktop") #디렉토리 설정
ttest <- read.spss("collinearity.sav",to.data.frame = T) #spss 데이터 불러오기

summary(ttest)
hist(ttest$score) #종속변수의 분포 확인

model <- lm(score ~ time+desire+concentration,data = ttest) #선형회귀분석 모델
summary(model) #회귀분석 통계량

install.packages("car") #공선성 검사를 위한 패키지
library("car")

vif(model) #공선성 검사

답글 남기기