실험계획/공변량분석(ANCOVA)

공변량 분석:실험효과 검증

학위논문통계 2022. 10. 29. 10:08

 

 

사전-사후, 실험집단-통제집단 실험계획에서 가장 많이 사용하는 공변량 분석에 대해 이야기해보죠.

 

 

모형식은

 

Y=b0+b1*X+group+e

 

사후측정값=bo+ b1*사전측정값+ 집단효과(실험집단과 통제집단)+ 오차

 

 

이 모형을 어렵게 생각할 필요가 없습니다. b1=1로 고정하면

 

사후측정값-사전측정값=bo+ 집단효과(실험집단과 통제집단)+ 오차

 

하면 우리가 일상생활에서 많이 하는 방법이 됩니다. 즉 어떤 사건이후 사건 전 값과 사건 이후 값하고 차이를 구한 다음 이게 집단별로 차이가 있는지 검증한 것에 불과합니다.

 

통계학에서는 b=1로 놓지 않고 좀 더 정교하게 분석한 것에 불과합니다.

 

사실 이 공변량 분석은 통계학 입장에서는 이론적으로 별 문제는 없습니다. 사전측정값이 독립변수로 들어갔는데 이 경우 통계학에서는 사전 측정값을 확률변수로 보지 않고 고정된 관찰값으로 봅니다.

 

반면에 계량경제학에서는 연속형 독립변수도 확률변수로 봅니다. 그래서 이론이 좀 복잡해지죠. 계량 경제학 이론이 또 어려운 점은 시계열 분석이 많은데 이 시계열 데이터가 시간에 따라 독립이 아니라는 점입니다.

 

하여간 예를 들어 분석을 하면

 

 

다이어트 처치가 bmi에 미치는 영향을 검증한다고 하죠.

 

그럼 데이터 형태는

이런 식으로 짝 t 검증할 때처럼 시간에 따른 변수가 옆으로 진열되어야 합니다. 이에 반해 그냥 t 검증할 때는 하나의 변수로 처리되죠.

 

그럼 다음

 

일반선형모형==> univariate에 가서

여기서 사전bmi를 고정요인으로 넣으면 안됩니다. 그럼 spss가 사전bmi를 범주형 자료로 인식해서 분석을 합니다. 한번 실험해보세요. 결과물이 어떻게 나오는가요.

 

고정요인 아래 랜덤요인이 있는데 이것도 할 필요가 없습니다. 이건 혼합모형에서 나오는 개념입니다.

 

예를 들어 편의점 알바생의 스트레스를 분석한다고 하죠. 그래서 20개 편의점을 골라 알바생의 스트레스를 측정했다고 하죠.

 

그런데 우리의 관심이 편의점 위치에 따라, 즉 번화가 편의점, 아파트 지역 편의점, 또 단독주택 편의점에 따라 스트레스가 다를 것이라 생각해서 20개 편의점을 사전에 신중하게 고르고 데이터도 편의점 위치라는 변수에 번화가=1, 아파트=2, 단독주택=3 이렇게 코딩하고 고정요인에 편의점 위치를 넣습니다.

 

그러나 우리의 관심이 편의점 위치에 따른 스트레스 차이는 관심이 없고 알바생의 학력에 따라 스트레스 차이가 있는지 관심이 있다는 것이죠. 그럼 처음부터 편의점 20개를 뽑을 때 랜덤하게 뽑습니다. 그리고 편의점 id1부터 20으로 코딩하고요.

 

그러나 이 편의점에 따른 알바생의 스트레스 차이는 우리의 주 관심사는 아니지만 이 편의점 위치에 따른 스트레스 변동이 꽤 크다고 생각할 수 있습니다. 그럼 이 변동도 통제변수처럼 고려를 해야 한다는 것이죠.

 

이 경우 이 편의점 id 변수를 랜덤요인으로 넣습니다. 그래서 spss 결과물에서 랜덤효과에 대한 것은 전혀 해석할 필요가 없습니다.

 

그럼 어떤 경우에 넣어야 할까요. 앞에서 이야기했지만 편의점에 따른 스트레스의 변동이 꽤 클 때 넣는다고 했습니다. 그럼 이 변동이 꽤 크다는 것을 어떻게 알 수 있을까요.

 

나는 통계 분석시 이 랜덤요인을 넣은 적이 없는데 그럼 내가 이전에 한 분석이 모두 다 틀린 것일까요?

 

여기서 나온 측정치가 ICC(interclass correlation coefficient)입니다. 검색해보면 아마 급간상관계수로 아마 번역이 되고 측정도구의 신뢰도 이야기를 많이 할 겁니다(측정도구 개발 논문을 쓰지 않으시면 전혀 신경쓸 것 없습니다). 이것 신경쓰지 말고요.

 

개념은 이렇습니다.

 

편의점 id를 넣지 않을 경우에 오차항(e)의 변동(분산)

 

편의점 id를 랜덤효과로 변수에 넣었을 때 오차항(e')의 변동(분산)

 

서로 비교하는 것입니다. 당연히 편의점 id를 랜덤효과를 넣었을 경우 오차항의 변동이 줄어들겠죠.

 

편의점 id를 넣지 않았을 경우 오차항의 변동=(편의점 id를 넣었을 경우 변동)+ 순수한 오차항의 변동

 

이렇게 될 겁니다.

 

그럼

 

(편의점 id를 넣지 않았을 경우 오차항의 변동-편의점 id를 넣었을 경우 변동)/편의점 id를 넣지 않았을 경우 오차항의 변동

 

=편의점 id를 넣음으로 인한 오차항의 변동 변화/전체 오차 변동

 

=편의점 간의 변동/전체 오차 변동

 

이렇게 해석이 됩니다. 이 값을 ICC라고 하고 이 값이 클수록 랜덤요인으로 넣어야 합니다. 시실 개념상 고정요인, 랜덤요인으로 구별할 필요가 없는데 대부분 랜덤요인으로 많이 넣죠.

 

 

분산분석 이론의 기본을 간단히 이야기해서

 

SST=SSR+SSE

=BSS(급간 변동)+WSS(급내 변동)

 

인데 ICC=BSS/SST의 변형이라 생각하시면 됩니다.

 

여기서 상관계수라는 말이 나오는 이유는 이론적인 이유가 있습니다.

 

그냥 개념상 그렇다는 것이고 여러분은 신경 쓸 필요가 없습니다. 혼합다층모형이나 혼합 위계적모형을 쓸 때나 중요한 개념이지 그게 아니면 신뢰도 분석이나 일반 실험효과을 볼 때는 전혀 신경 쓸 개념이 아닙니다.

 

 

집단이 실험집단, 통제 집단 단 2개가 아니고 여러 개일 때는 어떻게 할까요.

 

예를 들어 기존의 비료 A, 새 비료 B, 새 비료 C 이렇게 3개의 집단이 있을 경우 어떻게 처리하면 될까요. 각 비료간의 효과를 비교해 줄까요. 불행히도 없습니다.

 

spss에서 옵션에서 다음의 메뉴를 체크합니다.

그럼 다음과 같은 결과물을 얻습니다.

그럼 제일 처음에 집단간 기술통계가 나옵니다. (descriptive 체크)

 

그 다음이 소위 아노바 테이블라는 표가 나옵니다.

 

여기서 우리가 볼 것은 다범주집단 줄만 보면 됩니다. p값이 0.086으로 아슬아슬하게 3집단의 효과가 없다고 나옵니다.

 

그 다음 표는 위 아노바 표를 회귀분석으로 해석했을 때 나오는 회귀분석 결과입니다. 여기서 아노바랑 회귀분석의 이론이 같다는 것을 알 수 있죠. 단지 회귀분석이 더 많은 정보를 주는 결과물을 제시해줍니다.

 

원 모형식에서

 

Y=b0+b1*X+group+e

 

사후측정값=bo+ b1*사전측정값+ 집단효과(실험집단과 통제집단)+ 오차

 

 

b0=26.651, b1=-0.213입니다.

 

마지막 집단을 준거집단으로 했기 때문에 b0=26.651은 마지막 집단의 절편, 상수항 값입니다. 두 번째 집단은 절편 b0=26.651+2.930, 세 번째 집단의 절편 b0=26.651-0.188이 됩니다.

 

 

그 다음 나온 기술통계는 사전bmi점수를 고려한 추정된 평균입니다. 위의 평균값과 다릅니다. , 추정된 b0, b1값을 수식에 넣었을 경우 계산된 평균을 말합니다.

 

그 아래 사후검증 같은 결과물이 나옵니다.(compare main effect 체크)

 

이 결과값은 어떤 집단간의 효과가 있는지를 말하는 결과물이 아닙니다. 이 결과물을 보고 A 집단과 B집단, 또는 A집단과 C집단, B집단과 C집단간에 실험의 효과가 있다 없다 이야기를 하시면 안됩니다.

 

실험집단과 통제집단 2개의 경우만 있는 경우에도 아노바 표에서 유의적으로 나왔다고 해서 실험의 효과가 있다고 결론을 쓰시면 안됩니다. 이 아노바 표는 단지 실험의 효과가 있다 없다라는 것을 검증만 한 것이지 이 실험효과가 긍정적인 효과인지 아니면 부정적인 효과인지를 말하는 것은 아닙니다.

 

긍정적인 효과라고 해석을 하시려면 먼저 아노바 표에서 유의적으로 나와야 하고, 또 사전-사후, 실험집단-통제집단간의 평균을 구해 시차에 따른 평균의 변화가 긍정적이다라는 것을 보여 줘야 합니다.