獨斷論

GLM을 이용한 반복측정 분산분석(SPSS 사용설명서 31, Repeated Measures ANOVA) 본문

과학과 기술/SPSS

GLM을 이용한 반복측정 분산분석(SPSS 사용설명서 31, Repeated Measures ANOVA)

부르칸 2015. 8. 18. 09:30

음식체인점에서 새로운 메뉴를 더하고자 한다고 가정해 보자. 이때 이 메뉴를 선전하기 위해 3가지 광고를 가지고 여러 체인점에 배분하여 광고와 체인점에 따라 판매량이 어떻게 달라지는지 알아보고자 한다. 아래 데이터 파일은 이러한 음식광고와 체인점 판매량 데이터를 모은 것이다.

데이터파일: market_test.csv

위 데이터 파일을 내려받아 SPSS에서 읽은 후에 sav형태로 저장하면 아래와 같이 된다.



GLM을 이용한 반복측정 분산분석(repeated measures ANOVA) 수행

Analyze > General Linear Model > Repeated Measures...를 클릭한다.

그러면 아래와 같은 윈도우가 나타나는데

Within-subject factor name에 week라고 쓰고 number of levels에 4을 입력한 후에 Add를 클릭한다.

Measure name에 sales라고 입력한 후에 Add를 클릭한 후에 Define을 클릭한다.



그러면 아래와 같이 윈도우가 바뀌게 된다.



이제 여기에 Within-subject variables, Between-subject factors, covariate를 지정해야하는데 본 문제에서는 covariate에 해당되는 변수는 없다. Within-subject variables를 지정하는 방법은 왼쪽에 sales,1 ~ sales,4를 모두 선택한 후에(선택하는 방법은 sales,1을 마우스로 클릭하고 다음에 shift를 눌른 상태에서 sales,4를 마우스로 클릭하면 4개가 선택된다) 파란 화살표를 클릭하면 된다.

그리고 나머지 marketid와 promo를 between-subject factors로 지정한다.

지금까지 제대로 하였다면 아래와 같은 형태가 될 것이다.



이제 Model을 클릭하면 아래와 같은 위도우가 뜨는데 여기서 Sum of squares를 Type IV로 바꾼다.

Continue를 클릭한다.



다시 Repeated Measures라는 이름의 대화창으로 가서 Plots를 클릭하면 아래와 같은 윈도우가 뜬다.

그러면 Horizontal Axis에 week를 설정하고 Separate Lines에 marketid를 설정한 후에 Add를 클릭한다.

다시 Horizontal Axis에 week를 설정하고 Separate Lines에 promo를 설정한 후에 Add를 클릭하고



제대로 하였다면 아래와 같이 될 것이다.

Continue를 클릭하면 다시 Repeated Measures의 대화창으로 돌아간다.


Options를 누르면 아래와 같은 창이 뜨는데 여기에서 Estimates of effect size와 Homogeneity tests를 선택한 후에 Continue를 클릭한다.



Repeated Measures 대화창으로 돌아가면 OK를 누른다.


결과보기

Between-subject effect

아래 표는 GLM repeated measures ANOVA의 between-subject effect를 본건인데, 이건 다변량으로 본것이 아니라 4개의 시간에 sales 1 ~ sales 4를 평균값을 내어 between-subject test를 한 것이므로 엄밀히 말하면 단변량으로 본 것이다.



marketid와 promo의 p-value는 모두 0.05보다 작은 0.000이다. 이는 marketid와 promo가 모델에 영향을 미친다는 것을 보여준다. 그러나 marketid * promo의 p-value는 0.131로 통계적으로 의미가 없으므로 이 둘 사이에 intereaction effect는 없다는 것을 보여준다. 한편 marketid와 promo의 partial eta squared가 매우 큰데 이는 sales의 변이가 크다는 것을 보여준다.

이는 profile plots에서 확인할 수 있다.



Profile plot

아래 profile plot은 promo가 달라짐에 따라 sales가 4주 동안 얼마나 달라지는 가를 보여준다. 1번 promo가 가장 큰 sales를 보여주었고 이는 시간이 지나도 달라지지 않음을 보여준다.



아래 profile plot은 marketid에 따른 sales의 양을 1주일마다 4주 동안 나타낸 것이다. 시간이 지나도 sales의 양은 많은 변화가 없지만 market의 위치에 따라 즉 marketid에 따라 sales의 양은 매우 크게 변화함을 보여준다. marketid는 모델에 큰 영향을 주지만 어떠한 일반적인 경향을 보여주지 않는다. 따라서 이는 fixed effect로 설정하기보다는 random effect로 설정하여 모델링 하는 것이 더 나아 보인다. 




Multivariate Tests of Within-Subjects Effects

아래 표는 4가지 multivariate test를 보여주고 있다.

  • Pillai's trace는 항상 양수이다. 그 값이 커질수록 모델에 영향이 크다는 것을 보여준다.
  • Wilk's lambada도 항상 양수인데 그 범위가 0에서 1까지이다. 이것은 위 Pillai' trace와는 반대로 그 값이 작을수록 모델에 영향이 크다는 것을 보여준다.
  • Hotelling's trace는 항상 양수인데 그 값이 커질수록 모델에 영향이 크다는 것을 보여준다. Hotelling's trace의 값은 항상 Pillai's trace의 값보다 크다. 그런데 Hotelling's trace와 Pillai's trace의 값이 비슷해질 경우가 있는데 이때에는 factor들이 모델에 미치는 영향이 기여도가 작음을 의미한다.
  • Roy's largest root는 항상 양수인데 이 값이 커짐에 따라 모델에 대한 영향이 크다는 것을 보여준다. Roy's largest root는 항상 Hotelling's trace보다 작거나 같다. 이 두 개의 statistics가 같은 값을 갖는다면 모델의 영향은 여러 종속변수중에 하나의 종속변수에만 관련됐거나, 종속변수끼리 매우 강한 상관관계가 있거나, 모델의 영향이 크지 못하다는 것을 의미한다.

또한 모델의 가정이 위배되었을때 Pillai's trace가 다른 것들보다 더 믿을만 한다(참고문헌: Olson, C. L. 1974. Comparative Robustness of Six Tests in Multivariate Analysis of Variance. Journal of the American Statistical Association, 69:348, 894-908).


위 multivariate test 표에서 하나를 제외한 모든 p-value가 0.05보다 크므로 모델에 대한 영향이 크지 못함을 나타낸다. week*marketid*pormo의 Roy's Largest Root는 0.025인데 d라고 되어 있는 주석에 statistics이 상한값에 도달했다고 나와있으므로 신뢰할수가 없다.


Testing Homogeneity of Covariance Matrices

다변량분석의 기본적인 가정은 종속변수가 다변량정규분포를 따르고 분산-공분산 행렬이 fixed factor로 나뉘어진 각 그룹 또는 cell들 사이에 같다는 것이다. Box's M test는 이 공분산 행렬이 같은지를 평가해보는 것이다.



Box's M test의 null hypothesis는 공분산 행렬이 그룹들 사이에 같다는 것이고 위 표에서 p-value는 0.357이므로 모델의 가정을 충족시킨다고 볼수 있다. 


Mauchly's Test of Sphericity

단변량분석에서 기본적인 가정은 종속변수의 분산-공분산 행렬이 구형(spherical) 또는 원형(circular)이어야 한다는 것이다. Mauchly's test는 이를 검증하기 위함인데, 이 테스트의 null hypothesis는 정규직교화(orthonormalized)된 종속변수의 에러 공분산 행렬이 단위행렬과 같다는 것이다. p-value가 0.05보다 작으면 단변량분석을 위한 기본적인 가정에 위배되는데, 이를 해결하기위하여 단변량분석의 자유도(degrees of freedom)을 변경하면 분석이 가능하다. 이때 변경된 값을 epsilon이라고 부른다. Epsilon에는 3가지 종류가 있는데 Greenhouse-Geisser, Huynh-Feldt, Lower-bound이다.


  • Greenhouse-Geisser epsilon은 보수적인 방법이므로 샘플크기가 작을때 사용된다.
  • Huynh-Feldt epsilon은 보수적인 방법이 아니고 그 값이 1을 넘을수 있다. 만약 계산된 값이 1보다 크다면 그냥 1.0을 사용한다. 
  • Lower-bound epsilon은 가장 보수적인 방법이다. 


Univariate Tests of Within-Subjects Effects

아래 표는 단변량 테스트의 within-subject의 영향을 나타낸 것이다.


각 factor(표에는 source라고 되어 있음)의 첫줄에는 sphericity 가정이 만족되었을때 결과를 보여주었고 그 다음 3개는 이 가정이 위배되었을때 epsilon을 사용하여 계산된 결과를 보여주었다. 예를들어 week factor에서 sphericity가 만족되었을때 df(자유도)는  3인데 Greenhouse-Geisser epsilon을 곱하면 3*0.934=2.802가 되어 week factor의 해당 df는 2.802로 표에 표기되었다. Huynh-Feldt에는 1이 곱해졌고 Lower-bound에는 0.333이 곱해졌다. 이런 계산에도 불구하고 모든 결과의 p-value가 0.05보다 크며 이는 within-subject의 영향은 없다고 보아야 한다.



Comments