獨斷論

Factor component scores를 이용하여 선형회귀분석의 공선성 해결하기 (SPSS 사용설명서 19) 본문

과학과 기술/SPSS

Factor component scores를 이용하여 선형회귀분석의 공선성 해결하기 (SPSS 사용설명서 19)

부르칸 2015. 3. 28. 01:45

z-transform을 이용한 선형회귀분석에서도 공선성 문제를 해결하지 못하였다.

이제 Factor componet scores를 이용하여 공선성 문제를 해결하여 보자. Factor analysis는 나중에 다룰 것인데 여기서는 단순히 독립변수를 선형조합을 하여, 즉 (f1 = a*x1 + b*x2 + ...) 같은 것을 수행하여 변수들간에 상관관계를 없앤다고만 알아두면 된다.


Factor Analysis 수행하기

이제 Factor analysis를 수행하여보자. 데이터파일은 역시 car_sales2.csv인데 http://dogmas.tistory.com/377에 가면 있다.

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

Variables에 z-transform한 모든 변수를 설정한다. 원래 변수가 아니라 factor analysis를 위해서 z-transform한 변수를 사용하는 것에 유의한다.

Extraction을 클릭하여 새로운 윈도우가 뜨면 Fixed number of factors을 클릭하고 Factors to extract에 10개를 설정한다. 보통 factor analysis를 할때에 eigen value가 1보다 큰것만 가지고 분석하는데 여기서는 factor analysis를 하고자 하는게 아니라 factor component scores를 가지고 선형회귀분석을 다시 실행할 것이므로 원래의 독립변수 갯수 10과 같은 10개를 선택하는 것이다. 

Continue를 클릭한다.

원래의 Factor analysis창으로 돌아가면 아까 클릭했던 Extraction 바로 밑에 있는 Ratation을 클릭한다. 

Rotation 방법을 선택하는 창이 하나 뜨는데

Varimax를 선택한다. 그 방법에 대해서는 나중에 Factor analysis를 다룰때 자세히 설명하겠다.

Continue를 클릭하고 Scores를 선택한다.

위와 같이 창이 하나 뜨면

Save as variables를 클릭한 후에

그아래 Method에서 Regression을 선택한다

Continue를 누르고 OK를 누른다. 그러면 FAC~~ 으로 시작하는 변수 10개가 더 생성됨을 알수있다. 이제 이 변수들을 가지고 선형회귀분석을 수행하면 된다.


선형회귀분석 수행하기

마찬가지로 Analyze > Regression > Linear...를 클릭한다.

원래 있던 Independent들을 다시 왼쪽으로 옮기고

새롭게 만든 Fac 변수들을 Independent로 설정한다. 여기서는 REGR factor score라고 되어 있다.

OK를 누르면 factor component scores를 이용한 선형회귀분석의 결과가 나온다. 

나머지는 볼것 없고 여기서 얼마나 coefficients들의 공선성이 해결되었는지만 보자.

eigenvalue와 condition index와 VIF값은 모두 1이므로 여기에서 굳이 결과를 나타내지는 않았지만 자신이 직접 SPSS OUTPUT을 보고 확인하는 것이 좋을 것이다. 


Partial correlation이 zero-order correlation에 비하여 급격하게 줄어든 것들은 보이지 않는다. 즉 독립변수들 간에 공선성이 많이 제거되었다는 것을 보여준다.

http://dogmas.tistory.com/377에서 수행했던 coefficient 결과와 비교해보자.

factor scores를 이용하였을때 Standard error가 coefficients에 비하여 비교적 작다. 따라서 p-value가 작은 coefficient들이 늘어났을 것이다. 아래 표에서 p-value를 비교하여 보았다. 일반모델은 통계적으로 의미있는 것들이 3개인데 반하여 여기 factor scores를 이용하여 선횡회귀모델을 만들었을때 통계적으로 의미있는 독립변수가 5개이다.

 

일반회귀모델  p-value

 

Factor score 이용한 회귀모델 p-value

 type

 0.008

 Factor 1

 0.000

 price

 0.000

 Factor 2

 0.000

 engine_s

 0.063

 Factor 3

 0.000

 horsepow

 0.611

 Factor 4

 0.921

 wheelbas

 0.076

 Factor 5

 0.032

 width

 0.500

 Factor 6

 0.024

 length

 0.304

 Factor 7

 0.096

 curb_wgt

 0.655

 Factor 8

 0.948

 fuel_cap

 0.231

 Factor 9

 0.699

 mpg

 0.045

 Factor 10

 0.371


이제 실제모델을 만들려고 할때 어떤 독립변수를 선택하여야 할까?

위에서 0.05보다 작은 p-value를 갖는 것만 넣어서 만들수도 있지만 전체모델의 R square값이 어떻게 될지도 모를일..

자동적으로 해주는 방법이 있는데 stepwise regression이라고 한다. 이는 다음 사용설명서에서 알아보도록 하겠다.



Comments