[통계기초 정리] 개인적인 통계 방법론 복습 (3. 다양한 Anova검정)

기초 지식이지만 모든 고급분석의 근반이 되기에, 기초를 탄탄히 하고자 한번의 수업수강과 한번의 청강, 한번의 도강(…)까지 했다. 그치만 매번 공부하고 공부해도 까먹는 통계 기초. 늘 책찾고 헤매는 것이 힘들어서 한번에 정리해보았다.

이번엔 ANOVA

평균검정에서 그룹이 2개 이상이 된 경우. (2개만이면 t-test나 대표본의 경우 N으로 가능했음). 예를 들면 방법a,방법b,방법c로 공부한 학생들의 성적이 다른가를 보기 위한 검정.

Anova :=analysis of variance. 평균들의 변동성을 이용해서 평균차가 있는지를 검정한다.

왜 분산으로 비교? =>가 다른지를 보기 위해, 표본으로 구해진 표본평균값들을 각각 새로운 데이터로 보고, 그 데이터가 서로 얼마나 차이나는지, 즉 분산을 보게 됨. 근데 표본평균들간의 분산은 그 데이터자체의 분산에 의존함. (알다시피 )

그래서 표본평균들간 분산데이터자체의 분산으로 scaling해준 개념. ‘전체 분산에 비해 그룹간 분산이 유의미하게 큰지!’

왜 굳이 이렇게 접근하지는지? 물론, 검정통계량은 여러 문제의식을 바탕으로 여러가지로 만들 수 있다. 문제는 그 검정통계량의 분포를 도출해낼수 있냐는것. (분포를 도출못하면 p-value등을 못구하고 통제된 의사결정을 못함.) Anova가 쓰이는 이유는 분산/분산을 활용하여 F-dist 도출에 성공했기 때문이다. 고로 ‘왜 굳이 이렇게 접근하지는지? ‘에 대한 답은 ‘그렇게 접근하면 분포를 도출할 수 있었기때문 정도’

t-test와 비슷하게, 매우 많은 가정들이 필요하다.

anova_table_data

조건들

{},..,{}인, k개 group의 총 kn개의 데이터가 있다고해보자. (오류! kn개는 그룹간 데이터 수가 같은 경우. kn개가 아니라 개라고 햇어야 했는데, 그냥 ‘kn개의 데이터’처럼 고유명사로 언급하는데에만 썻으니 주의하고 넘어가면 읽는데 무리는 없는듯 하다.)

  • 모든 group들에 대해 iid N가정 (eg) )

  • 그 group들에 대해 모두 등분산 가정. (즉, )

    위 두가정으로 얼마나 비현실적인지 알 수 있다. N가정은 그렇다해도 k개의 group에 대해서 분산이 동일하다니..

  • 각 group들 간에 indep. (이건 sampling의 문제. randomized sampling을 하자)

이제 통계량 도출

.

앞서 말햇듯이 {},..,{}인, k개 group의 총 kn개의 데이터가 있다고해보자.

< step1.>

첫째로, 각 group의 평균들을 비교하는 과정.

평균이 같을것이라는 귀무가설하에, 각 group의 mean의 표본분포는 다음과 같다.

then, , under H0.

, 그러나 를 모르기에 이를 데이터로 대체한다.

즉 kn개의 데이터의 overall mean. 추정량으로 모수를 하나 대체했으니, 자유도 1 감소. (사실 따지자면 cochran’s thm으로 분포의 df가 감소)

또한, 로도 표현가능. 이때 분자의 형태를 보면 마치 kn개의 데이터를 group의 effect만 받은것처럼 간주하여, 같은 group의 데이터에 group_mean으로 masking해준 데이터의 평균에 대한 deviation form으로 볼 수 있다. group을 treatment라고 표현하기도 하기에, 이를 SSTR이라 부른다. 혹은 데이터의 미시적인 부분을 보지않고, group_mean간의 분산을 통한 통계량이기 때문에 Between group Sum of Square라고 부르기도 한다. 즉,

덧. group마다 데이터수가 n으로 같은 경우 으로 표현하고 로 두어, 마치 sample group_mean을 데이터처럼 보고 접근하는 설명도 있지만, 로 풀리는 것은 모두 n개로 balanced data일때 풀리는 말. 원래 도출은 위의것이 맞다.

< step2.>

이번엔 그룹평균말고, 데이터 자체의 분산에 대한 과정.

모든 group들이 iid N의 분포를 가지며, (평균은 다른지 안다른지 모르지만) 분산은 다 같다는 문제의 기본 setting에 의거하여 다음의 식이 가능.

, ,under H0. 이는 다음과 같이 표현할 수도 있다.

이는 각 group내에서도 통하지만, group간의 상관없이 분산이 같을거라는 등분산가정을 했기에 group에 상관없이 모두 합하는 것이 가능하다.

그러나 이번에도 를 모르기에 이를 데이터로 대체한다. 그러나 이번엔 step1에서와 다르게, H0하에서 overall mean으로 추정한것이 아니다. 각각의 에 대해, sample group_mean으로 각각의 를 추정한다. (왜 굳이?라고 묻는다면, ‘H0과 비교하기 위해’라고 할 수도 있지만, 가장 큰 이유는 그래야 통계량분포가 나오기에.)

또한 앞서 말했듯이, 이는 group에 상관없이 모두 통하는 말이다. 또한 group간의 indep를 가정했기에, chisq의 가법성에 의해 다음이 성립한다.

또한, 로도 표현가능. 이는 H0과는 관계 없이, group간의 분산이 모두 로 같다는 기본셋팅만 이용하였으므로, under H0가 ‘아니다’. 또한 이때 분자를 보면 각 데이터가 각 group_mean에서 얼마나 멀어져있는지를 나타낸 deviation form(error)의 제곱합이다 .따라서 이를 SSE 라고도 하고, Within group Sum of Square라고도 한다. 즉,

< step 3.>

group간을 보는 step1, group내를 보는 step2를 했으니, 이번엔 전체의 관점에서 각각의 데이터를 봐보자.

, under H0. (Step3는 애초에 H0하에서 얘기가 시작되고 있다.)

,

마찬가지로 를 모르기에 이를 데이터로 대체한다.

이때 분자를 보면, 전체의 데이터가 전체 overall mean에서 얼마나 멀어져있는지를 나타내는 형태이기에, SSTO(Sum of Square Total)로 표현한다. 즉

< step4.>

이제 거의 다왔다. step1,2,3을 잘 조합하기만 하면 된다. SSTO는 다음과 같이 분해될 수 있다.

$SSTO=\sum_j^k\sum_i^{n_j}(y_{ij}-\bar y_{..})^2=\sum_j^k{n_j(\bar y_k-\bar y_{..})^2}+\sum_j^k\sum_i^{n_j} {(y_{ij}-\bar y{..})^2}$

$\therefore SSTO=SSTR+SSE$

그리고 여기서 Cochran’s thm이 쓰인다.

< Cochran’s thm>

, 의 세팅에서,

  • 앞서 구한 Q가 s개의 다른 요소들로 분해가 가능하고,

  • 그 분해된 요소들간의 df도 똑같이 덧셈등식이 성립한다면

    => 1. are inedp

    1. 의 분포를 따른다

라는 성질이 밝혀져 있다고한다.

인데, 이때의 df도 로 같다! (SSTO가 chisq를 따른다는 전제이다. 즉, underH0이다.)

=> 1. are indep

​ 2. ,

그러나 2번은 사실 앞서서 밝힌 사항들이고, 중요한건 그 둘이 indep라는 것이다. 두개의 indep한 chisq분포. 이제 F-dist를 만들 수 있게된것!

by Cochran’s thm,

(SSTO가 chisq를 따른다는 셋팅하에서 전개되는 얘기이기에, under H0라는걸 명심히자.)

또한, 각 SS를 df로 나눠준걸 mean~의 형태로 부르는데, 그 경우 다음처럼 표현할수도 있다.

이를 정리한 표와 함께 마무리.

anova_table


Randomized (complete) block design. (RCBD)

Blocking factor가 있는 경우, one way anova의 분산이 더 커진다. (검정을 진행할수는 있다. 그러나 많은 경우 통계량의 분산이 커져서 결과적으론 검정력이 떨어진다.) 따라서 이때는 block의 영향 역시 고려한 RCBD에서의 anova를 사용한다. 그러나 rcbd는 각 level간에 data수가 다른 경우에 대해서는 검정이 엄청까다롭다고 한다. 고로 학부생이 배우는건 data수가 모두 n으로 같은 경우에 대해서.

anova_table_rcbd_data

< 새로운 notation 새로 선언_1>

rcbd와 바로 뒤에 나올 two-way anova로의 확장을 위해서, 기존의 one-way anova를 조금 다른 방식으로 표현해보자. 이전 one-way AONVA의 기존 세팅은 이렇게 표현되었었다.

이렇게 표현되었던 것을 각 treatment(혹은 group)별 effect라는 것을 따로 떼줘서 다음과 같이 표현할 수도 있다.(여기선 group를 i로, block을 j로 표현한다. 사실 차이는 없음)

여기서, overall effect로, 이렇게 정의된다. 즉, 그룹 평균들의 simple avg로, 자연스레 는 편차항으로, 이 된다.

이때 는 그 treatment들이 갖는, overall effect와 다른 성질로, treatmeant effect라고 한다.

또한, 기존의 평균이 같다는 H0은 group_mean간의 편차가 0이라는것으로 바꿔표현할 수 있다.

overall effect를 group_mean의 평균으로 추정하고 있다! 이는 앞서 했던 one-way anv에서 데이터가 n으로 동등한 경우. rcbd에선 unbalanced는 다루고 있지 않다는것 상기.

또, gropu effect를 가법적으로 처리하고 있음을 볼 수 잇다. 이는 우리가 설정한 모델로, group effect가 선형적으로만 작용할것이라는 다소 강한 assumption이 들가 있는셈. (e.g 였을 수도 있는데!) 이는 선형회귀와의 연관성을 보여준다.

여기까지는 one_way anv를 notation만 다르게 해서 나타낸 것이다. treatment들이 갖는 특성을 trt effect로 굳이 새로 notation한것.

< 새로운 notation 새로 선언_2>

근데 만약 treatment의 차이가 또다른 factor에 의한 차이도 섞여 있다면? (예를들어, 신약a,b,c의 테스트를 해보는데 인종1,2,3에 따라 신약의 효과가 다른경우.) 즉, 데이터에서 block effect도 같은애들끼리 분류해주어, 다음과 같이 표현할 수 있다.

이전 형태의 확장이라고 보면 된다. 이때 이다. (이럼 편차의 의미가 사라지지만, 확장의 의미라 생각하고 받아들이자. sum=0이라는 점에서 여전히 편차의 느낌은 가지고 있다.)

이 상태에서 똑간은 귀무가설 을 검정하는 것.

< 도출 시작>

결론부터 말하자면, 앞선 one-way ANOVA에선 SSTO=SSTR+SSE임을 보였고, SSTR을 이용한 분산과 SSE를 이용한 분산을 통해 F 분포를 만들었다.

block design에선 기존의 SSE로 치부되었던 error가 block effect+error로 분해되어, SSTO=SSTR+(SSB+SSE)가 된다. 즉, (만약 block effect가 실존했다면) 더 pure한 error만을 잡아내게 된다(!!!). 또한, SSTR,SSB,SSE를 이용하여 분산을 추정하고, 비교할 것이다.

앞의 randomized block design에서, 각 trt별로, 각 block별로, 혹은 전체 평균을 data내에서 구할 수있다.

즉, , , . 또한, 우리의 선형가정에 따르면, 이다.

이때 one-way와 마찬가지로, group_mean에대해서 분산을 비교해볼 수 있다.

  1. treat별로 mean취한 의 변동 : under H0,

    분모의 b를 위로 올리면 , under H0. (로 대체했기 때문에 자유도-1) (여기서 H0는 , 즉 trt effect가 없다)

  2. 이번엔 block별로 mean취한 의 변동 : under H0,

    분모의 k를 위로 올리면 , under H0. (여기서 H0는 ,즉 block eff가 없다.)

  3. 이번엔 그룹안에서의 데이터별, 즉 의 변동. iid N에 등분산인 기본 set하에서라면, under H0가 ‘아니어도’ 항상 만족.

    . one-way때와 마찬가지로 H0에 상관없이 전개되는 내용이기에, 각 level(즉, trt와 block의 combination)에 대해서 구해지고 있는것에 주의. 그리고 우리의 선형 가정에 따르면, ,

    마지막으로 앞의 setting에 따라 각각 ()로 대체하면, 의 제약에 따라 개의 자유도를 잃은 셈이 된다.

  4. 마지막은 전체의 관점에서 각각의 데이터를 봐보자.

    , under H0

이제 다왔다. SSTO를 block effect가 있다고 생각하고 decompose를 하면, one-way와 마찬가지로 cross product term이 사라지고 다음으로 분해된다.

이때의 df역시

즉, 다시 Cochran’s thm에 의해 SSTR, SSB, SSE가 indep이고,

, under H0. 이는 compound되어 있던 block effect 드러내고 trt가 유의한지를 가려내는 통계량. 덧붙여 block effect가 유의한지를 보는 ,under H0도 가능은 하지만, 주관심 대상이 아니기에 별로 하진 않는다.

결국 one-way와 거의다 비슷하다. group_mean을 볼 대상이 한개가 아닌 두개였다뿐, group_mean을 2개의 factor(하나는 비록 block이지만)에 대해서 ss형태로 만들고 모두 분해하고, cochran’s thm에 의해 indep를 밝힌후 F-dst로 그 유의함을 검정하는 것이다.

이를 그림으로 나타내면 아래와 같다.

anova_table_rcbd

마지막 two way Anova

1trt와 1block이었던 block design과는 좀 다르다. 보고싶은 factor가 2개로, 이 경우 1) factor1로 인한 차이가 유의한지, 2) factor2로 인한 차이가 유의한지, 3) factor1,factor2간에 상호작용이 있는지를 검증할 수 있다.

역시나 one-way때는 unbalanced에 대해서도 검정이 성립했지만, two-way에선 balanced에서만 검정식의 도출이 가능하다.

block과 2way의 차이는? block로 intereaction eff가 있을수 잇지 않나? 그경우 그냥 2way라고 부르나, 어제 blck쓰고 언제 2way 쓰지?

앗 rcbd가 two-way anova without interaction이라고도 불린댄다..ㄷㄷ 그냥 분석자가 그렇다고 생각할때 쓰는듯? 참고

또한, rcbd는 각 cell에 1개씩의 data가 있는 경우, 즉 block을 나눈후 그 block내에서 factor만을 randomization한것에서도 작동할 수 있지만, two-way anova는 아래의 그림처럼 cell에 여러개의 data가 필요하다!(데이터가 1개씩이라면 SSE의 df가 0이 되버려 분포가 성립이 안됀다.) 만약 rcbd를 했는데 intereaction이 예상된다면 two-way anova로 바꿔야하고, 이경우 cell에 data가 2개 이상있어야 한다.

이게 젤 좋은 참고인듯 참고(1~2페이지)

two_way_anova

< 언제쓰이나?>

예를 들어 광고’전략’ {taste, price, discount}의 가짓수에 따른 매출의 평균이 다른지를 보고, 동시에 광고’매체’ {email, newspaper}의 가짓수에 따른 매출의 평균이 다른지를 보고 싶을 수 있다. (2factor). 그런데, 매체 e-mail을 통했을때 전략{taste,price,discoutn}의 형태가 다를 수 있다. (email을 자주보는 사람들과 신문을 자주보는 사람의 성향이 다를수 있으니까!) 고로, 두가지 factor간에 ‘상호작용’이 있는지도, 검정의 대상으로 삼고 싶은 경우. 이경우 2way anova가 사용된다.

< notation>

trt A의 가짓수가 1~a개, trt B의 가짓수가 1~b개, 각 가짓수의 combination마다 데이터가 1~n개 있다고 해보자.

i번째 trt A의 mean

b번째 trt B의 mean

i,j번째 trt A과 trt B의 조합의 mean

overall mean

< Model>

우리가 가정하는 관계식은 다음과 같다. ij번째의 trt A과 trt B의 조합에 따른 interaction term 가 새로 생겼다. (우리가 가정하는 모델이 이렇다는것. 후에 저게 0인지를 검정.)

또한 이들은 모두 편차항의 형태이므로 다음이 성립.

< 도출>

  1. trt A에 따른 mean들의 분포:

    under Ho : ,

    , (위의 notation에 대한 조건으로 사라진것+H0하에서 0이된것 때문에, M만 남는다.)

    , under H0

  2. trt b에 따른 mean들의 분포:

    under Ho : ,

    ,(위의 notation에 대한 조건으로 사라진것+H0하에서 0이된것 때문에, M만 남는다.)

    , under H0

  3. trt A, trtB의 조합 내에서의 mean들의 분포: (즉, 각 cell내의 1~n의 데이터를 mean취한것의 분포)

    under Ho : ,

    . (cell내에서만 합친거라서, 위의 제약으로 사라질게 없음. 단지 H0로 만이 사라졌다.)

    , under H0

    이때 . 따라서,

    , under H0.

    잘보면 형태가 interaction을 애초에 고려하지 않은 rcbd에서의 SSE와 완벽히 같음을 알 수 있다. interaction자체가 모델의 고려대상에 없엇던 경우 H0에 관계 없는 SSE가 해당 분포를 따랐지만, 현재 모델은 각 cell별로도 다를 수 있다는 interaction term을 넣어준 것. 즉, 더욱더 pure한 error를 잡는다고도 볼 수 있다.

  4. 이제 H0에 의존하지 않는, indep N이고 등분산이면 만족하는 성질

    , 근데 평균을 모르니까 추정.

    즉, cell의 mean으로 추정한것과 같음. cell이 ab개니까,

이제 주어진것을 바탕으로, 또 cochran’s thm을 사용할 수 있따.

SSTO=SSA+SSB+SSAB+SSE이고, df도 만족을 하기에 (풀어보면 cross product가 다 사라짐)

이제 다음 3가지를 검정할 수 있게 되었다.

trt A에 따른 평균차가 유의하냐 : trt B에 따른 평균차가 유의하냐 : trt B와 trt A의 interaction이 유의하냐: two_way_anova2

Comments