출처: https://3months.tistory.com/307 [Deep Play]

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 탐색적 자료분석 3-3. 세 변수의 상호작용 (SPSS)
    SPSS 2019. 8. 29. 15:26

     

    interaction1.sav
    0.00MB
    interaction2.sav
    0.00MB

    두 변수의 관계 파악이 끝났으면 세 변수의 상호작용을 살펴본다. 두 변수 관계를 본 후에 세 변수로 넘어가니 혹시 네 변수, 다섯 변수... 이 나올까 걱정할 수도 있겠지만 통상적으로 (상호작용 자체가 연구의 주제가 아닌 한) 세 변수를 넘는 상호작용은 연구에 고려하지 않는다.

    이쯤에서 탐색적 자료 분석의 순서를 다시 정리해 보면,

    Y~x1+x2+x3+A+B+C (x1~3: 연속 변수, A,B,C: 범주형 변수)

     

      대상변수 분석 내용
    한 변수 분석 Y, x1, x2, x3, A, B, C 결측치 확인: Y, x1~3, A~C 

    최대/최소치/ 이상값 확인: Y, x1~3, A~C 

    정규성 검증 및 정규화: Y, x1~3
    두 변수의 관계 파악 (연속변수) Y~x1 / Y~x2 / Y~x3 선형관계 유무 확인 

    잔차검정 

    필요할 경우 x1~x3를 번주형 변수로 변경
    두 변수의 관계 파악 (범주형변수) Y~A / Y~B / Y~C

    등분산 확인

    필요할 경우 A~C의 level 수 변경 

    상호작용 파악  (연속변수+연속변수) Y~x1+x2 / Y~x1+x3 / Y~x1+x3 상호작용 확인 및 필요시 x1~3를 범주형 변수로 변경
    상호작용 파악  (연속변수+범주형변수) Y~x1+A / Y~x1+B / Y~x1+C 

    Y~x2+A / Y~x2+B / Y~x1+C 

    Y~x3+A / Y~x3+B / Y~x3+C
    상호작용 확인

    분석해야 할 요인변수가 6개(연속 변수 3+ 범주형 변수 3)라면 9쌍의 상호작용을 확인해야 한다. (범주형 변수끼리의 상호작용은 꼭 확인할 필요가 없음.)  이번 포스트의 주요 주제는 상호작용의 확인이 되겠는데, 상호작용이라는 게 쉽게 보면 쉽고 어렵게 보면 이해가 잘 안 되는 측면이 존재한다.(그나마 이해하기 쉬운 방법이 시각적 분석을 통한 이해이다.) 

    우선 연속변수와 범주형 변수 조합의 상호작용을 본 후, 연속 변수와 연속 변수의 상호작용으로 넘어가자.

     

     

     

     

    1. 연속변수와 범주형 변수의 상호작용 확인

     

    첨부파일 중 interaction1.sav 파일을 연 후 y, x1, A 변수의 관계를 확인한다.

     

    시각적으로 확인해보면 x1이 늘어날수록 y가 감소하는 모습을 보이며, 범주형 변수인 A에 의해서도 y의 분포가 차이를 보임을 확인 가능하다.

     

     

    일반선형 모형 사용이 서투르면, 아래 클릭

    ...더보기

    ## SPSS에서 일반선형 모형 사용법

    일반선형 모형(GLM, General Linear Model)은 선형 회귀분석 + anova를 합쳐 놓은 분석법이다. 다변수 분석의 경우 독립변수로 연속형 변수 및 범주형 변수를 모두 보정해 줄 필요가 있는데, 선형 회귀분석에서는 범주형 변수를 다루기 까다롭다 ("더미 변수"로 변환 필요). 때문에 선형 회귀분석을 사용한 분석이라도 일반선형 모형을 이용해서 분석한다. 여기에 일반화 선형 모형(GzLM, Generalized Linear Model)까지 끼어들어 헛갈리기 쉬운데, 구별방법은

     

    y~x1+x2+x3...   : 선형회귀분석 (연속 변수 형태의 독립 변수만 처리 가능)

    y~x1+x2+A...    : 일반선형모형 (연속 변수 + 범주형 변수의 독립변수 처리 가능)

    f(x)~x1+x2+A...  : 일반화선형모형 (y 부분을 원하는 형태로 변경, 로지스틱 회귀분석, 생존분석...)

     

    이다. (SPSS에서 선형회귀 분석을 3가지 항목에서 시행 가능하다는 의미이다.)      

     

    분석법은

    분석 > 일반선형모형 > 일변량

     

     종속변수 항목에 y 항목을, 고정요인에 범주형 변수 형태의 A를, 공변량에는 연속변수 형태의 x1을 넣어준다. 가운데 변량 요인이라는 항목이 끼어있는데, 여기는 무조건 비워놓는 자리다 (영어로는 random factor, 혼합 모형 분석할 때 사용되는 항목인데 왜 여기에 끼어있는지 이해 불가능하다. 근데 SPSS에는 간혹 이렇게 황당한 짓을 하는 경우가 가끔 있다.).

    "모형" 항목에서는 상호작용을 선택할 수 있다. 기본설정은 모든 상호작용을 분석하도록 되어있는데, 우선 상호작용 없는 모형을 볼 것이니, "모형설정"에서  "항설정" 항목에 체크, 항설정의 "유형" 항목에서 "주효과" 선택, 마지막으로 A와 x1을 "모형" 탭으로 옮긴다.   

     

    "옵션" 항목에서는 "모수 추정값", "동질성 검정", "수정된 Breush-Pagan 검정"을 선택한다.

    원래 SPSS에서 Breush-Pagan 검정 안되었던 것 같은데... 오랜만에 SPSS 깔아보니 항목이 생겼다. 아마 버전에 따라 없을 가능성도 있는데, BP 검정은 잔차의 등분산을 보는 방법 중 하나이고, 이 과정은 이전에 잔차 검정을 통해 시각적으로 확인한 내용이다. 꼭 필요하다 생각지는 않는다.

    결과를 확인해보면, 

    anova 테이블을 확인해보면, 연속 변수 x1과 범주형 변수 A 모두 유의함을 알 수 있으며, 회귀분석 결과에서도,

     

    if A=1, y=-2.92*x1+11.55-8.82

       A=2, y=-2.92*x1+11.55-5.52

       A=3, y=-2.92*x1+11.55               의 결과를 확인할 수 있다. 

     

    하지만 이런 해석은 x1과 A사이에 아무 관계가 없다는 가정하에 말하는 것이며, 실제로 연구에 투입되는 변수들은 전혀 관계가 없다고는 할 수 없다. 상호작용은 그것을 확인하는 과정이다.

     이번에는 A와 x1의 주효과(A, x1), 그리고 A와 x1의 상호작용 (A*x1)이 필요하니 하나씩 입력해 보자.

     

    SPSS의 GLM에서 상호작용은 "모형" 항목에서 볼 수 있다. 기본설정은 모든 상호작용을 분석하도록 되어 있어서 원래는 별다른 변경 없이도 상호작용 분석이 가능한데, 여기서는 연습을 위해 직접 조작해 보자. "모형설정" 항목에서 "항 설정"을 선택하면 연구자가 본인의 의지대로 모형을 선택 가능하다. 가운데 "유형" 버튼을 눌러보면 "상호작용" 과 "주효과" 항목이 보인다. 

     

    1. 모형설정에서 "항 설정" 항목 선택 --> 그러면 아래 부분 클릭 가능해진다.

    2 왼쪽 "요인 및 공변량" 항목의 "A"를 마우스로 클릭한 후, 

    3. "유형" 버튼을 눌러 "주효과"로 변경하고 아래의 화살표를 눌러 "모형" 탭으로 A를 옮김

    4. 동일한 방법으로 "x1"을 "모형" 탭으로 이동

    5. "요인 및 공변량" 탭의 "A"와 "x1"을 동시에 선택 (ctrl 누른 채로 "A"와 "x"1클릭)

    6. "유형" 버튼을 눌러 "상호작용"로 변경하고 아래의 화살표를 눌러 "모형" 탭으로 A*x1을 옮김

     

    anova 테이블을 우선 확인해보면,  A, x1, A*x1 세 변수 모두가 통계적으로 유의하다 (세 변수 모두 개별 변수가 없는 모형에 비해 있는 모형이 설명력이 높다 --> 세 변수 모두가 쓸모가 있다). 아래쪽의 모수추정값 결과를 보면 

     

    if A=1, y= (-6.29+6.23)*x1+(11.70-9.26) = -0.06*x1 + 2.44

       A=2, y= (-6.29+3.55)*x1+(11.70-5.67) = -2.74*x1+ 6.03

       A=3, y= -6.29*x1 + 11.70

     

    임을 확인할 수 있다. (눈치챈 사람도 있겠지만 상호작용의 작용의 본질은 "곱하기"이다. 변수 계산 등을 통해 두 변수의 곱한 값을 넣어줘도 동일한 결과를 얻을 수 있다.)

    솔직히 사람이 숫자만 보고 이해가 되는 사람이 그리 많지는 않은 것 같다.

    그림으로 표시해 보면,

    A의 집단 별 회귀선이다. 회귀선을 보면 y와 x1의 관계에 기울기 변화를 주는 것을 알 수 있다. 만약 x1과 A사이에 상호 작용이 유의하지 않다면 세 직선의 기울기는 동일해야 한다. 하지만 세 직선의 기울기는 눈으로도 알 수 있을 정도로 다르고, R2값도 0.726 (설명력 72.6%)에서 0.808 (설명력 80.8%)로 8%의 추가적인 설명력을 증가시켰다. 

    다시 강조하자면 호작용은 기울기의 차이이다.

    이걸 이해해야 뒷 내용을 이해할 수 있다. 한번 이해하면 쉽지만 그 한 번 이해가 그리 쉽지만은 않은 것 같다. 이해가 될 때까지 반복해서 읽는 것이 좋을 것 같다. 

     

    영문 위키에서 가져온 상호작용의 한 예이다. 신념(보수/ 중도/ 진보)에 따른 지구 온난화에 대한 관심도이다. 완벽한 직선은 아니지만 학력에 따른 기울기가 신념에 따라 다르다. (그리고 이건 두 변수 모두 범주형 변수로 되어 있다. 그리고 위에서 나는 범주형*범주형은 일반적으로 상호작용 고려하지 않는다라고 언급했기도 했다^^. case by case라고 설명 가능하기도 하고, 논문의 주제가 이 내용이면 충분히 범주*범주형 변수도 상호작용을 볼 수 있다. 그리고 학력 자체가 범주형 변수이지만 연속적인 느낌도 가지고 있지 않을까?)

     

     

    2. 연속 변수와 연속 변수의 상호작용 확인

     

    첨부파일 중 interaction2.sav 파일을 연 후 y, x1, x2 변수의 관계를 확인한다.

     

    x1은 y와 선형 관계를 가지고 있는 것으로 보이지만, x2는 y와 별 관계없어 보인다.

     

    회귀 방정식에서도 x2는 유의하지 않다. 그럼 과연 필요 없는 변수니 x2를 버려야 하는가? 그건 좀 빠르다. 자체로는 유의하지 않으면 서서 다른 변수와 상호작용을 통해 y에 영향을 미칠 수 있으며 이번 케이스의 x 2가 바로 그렇다.

    상호작용을 고려한 회귀식을 확인해 보자.

     

    x2는 모형에 도움되지 않았지만, x1과 x1*x2 두 변수는 모형이 좋아지는데 도움이 되었다 (유의했다).

    그리고 회귀 방정식은 y=0.01+2.20*x1+0.23*x2-1.35*x1*x2 로 설명 가능하다. 

    이번 케이스에서 x2는 스스로는 유의하지 않으면서 x1과 상호작용을 통해서 x1과 y의 관계를 훼방 놓고 있다 (x2=1일때, 원래라면 x1이 1 증가할 때 y는 2.20 증가해야 하지만 1.35만큼 상호작용을 통해 까먹는다). 상호작용의 틀에서 x2 같은 변수를 억제 변수 (Suppressor variable)이라고 부른다. 그리고 억제 변수가 비록 유의하지 않더라도 상호작용 항목을 결과에 제시할 때에는 억제 변수의 결과까지 포함해서 제시한다 (y~x1+x2+x1*x2의 형식으로 제시해야지 유의하지 않다고 y~x1+x1*x2의 형식으로 제시하면 안 된다는 의미이다). 

    한번 봐서 이해가 잘 안 되는 게 정상이다. 사람은 원래 눈으로 구성을 확인해야 이해 가능하다. 그런데 3개의 연속 변수의 관계를 보려면 3차원 공간이 필요하다. 3차원 그래프를 그리는 것이 가능은 하지만 일반적인 사람은 3차원 그래프를 이해하기? (받아들이기) 힘들다.  따라서 중요도가 상대적으로 떨어지는 x2를 범주화해서 이를 해결한다.

     

    이번엔 "시각적 구간화" 항목을 통해 범주화해보자 (기존처럼 "다른 변수로 코딩 변경"을 사용해도 무방하다.)

    변환 > 시각적 구간화 > "x2" 선택
    "구간변수"에 "x2_cate"입력
    "절단점 만들기" 클릭

    x2를 3군으로 나눴더니 기울기가 군마다 다른 것을 확인할 수 있다. 결과 제시는 여러 방법으로 가능한데, x1과 x2를 둘 다 연속변수로 분석하고 둘 중 하나를 범주화한 그림을 위와 같이 제시할 수도 있고, 아니면 둘 중 중요도가 떨어지거나, 범주화하기 편하거나, 범주화했을 때 결과의 임팩트가 더 커 보이는... 여러 이유 중 하나 이상을 가진 변수를 범주화해서 분석 결과부터 범주화한 변수를 가지고 제시하는 방법이 있다. 어떻게 하라고 정해진 원친은 없으니 케이스 바이 케이스로 결과에 맞춰 진행하면 될 것 같다.

     

     

    마지막이 범주화변수*범주화변수의 예인데... 초반에 언급했듯이 논문의 주제 자체가 그 두 변수의 상호작용이 아닌 한 별다르게 신경 쓰지 않아도 된다. 그도 그럴게 범주 변수*범주 변수는 카이스퀘어 검정이다. 구태여 상호작용의 틀을 이용하지 않고도 분석이 가능하다. 그리고 범주*범주 변수의 상호작용이 결과를 흔들 만큼 큰 경우는 그리 많지 않다. 만약 신경 쓰이는 부분이 존재하거나 선행연구에서 범주*범주 변수의 상호작용을 다뤘었다면 y~A*B 문구를 추가해서 시도해 볼 수 있다.      

     

     

    3. Take Home Message

     

    1) 연속변수*연속변수, 연속 변수*범주형 변수의 pair는 상호작용을 확인해 보는 것이 좋다.

    2) 상호작용은 그래프에서 기울기의 차이로 표현된다.

    3) 변수 자체로는 영향이 없는것 같지만 상호작용을 통해 자신을 드러내는 변수도 존재한다.

    댓글

Designed by Tistory.