세 개 이상 집단의 차이를 검증하는 방법에 대해
[ 이번 단원의 핵심 요약 ]
일원분산분석(One-way ANOVA)은 독립된 세 집단 이상의 평균 차이를 비교하는 방법입니다. 세 집단 이상에서 t-검정을 반복하게 되면 제1종 오류가 누적되므로, 전체 평균의 차이(변동성)를 한 번에 검정하는 ANOVA가 필요합니다. ANOVA는 전체 변동을 [집단 간의 변동]을 [집단 내의 변동]으로 나눈 뒤, 그 비율을 계산(F-통계량) 합니다. 귀무가설이 참이라면, 이 비율은 대체로 1에 가깝습니다. 반대로, 각 집단의 평균 차이가 실제로 존재한다면 집단 간의 변동이 더 커져 F-통계량이 커집니다(F-통계량이 3~4 정도면 유의한 차이라고 볼 가능성이 있으며, 10 이상이면 매우 드문 값으로 볼 수 있습니다). 다만, ANOVA를 통한 검정 결과가 유의하더라도 그것만으로 어떤 집단끼리 다른지는 알 수 없으므로 사후검정이 필요합니다.
우리는 평균의 차이를 검정(비교)하는 방법으로서 일련의 t-test를 살펴보았습니다. 단일표본 t-검정은 하나의 표본 평균이 어떤 기준 값과 통계적으로 유의한 차이가 있는지, 독립표본 t-검정은 서로 다른 두 집단의 평균 차이가 통계적으로 유의한 차이가 있는지, 대응표본 t-검정은 같은 대상을 어떤 처치의 전/후로 나눠 두 번 측정했을 때 평균의 변화량이 통계적으로 유의한 것인지를 검정했습니다.
이러한 t-검정은 기본적으로 두 개를 초과하는 집단에 관하여는 검정을 하고 있지 않습니다. 그렇다면 세 개 이상의 집단인 경우 그 차이가 통계적으로 유의한 것인지를 살펴보려면 어떻게 해야 할까요? 예를 들어 광고 메시지 A, B, C의 평균 성과가 통계적으로 유의한 차이가 있는지, 세 가지의 랜딩페이지 버전의 평균 전환율에는 어떠한 유의한 차이가 있는지, 세 개 매장 유형의 평균 구매금액은 통계적으로 유의한 차이가 있는지를 분석하고자 한다면, A와 B를 한 번 비교하고, B와 C를 한 번 비교하고, A와 C를 또 한 번 비교하면 되지 않을까 생각할 수 있습니다.
하지만 이렇게 t-검정을 반복하게 되면 문제가 발생합니다. 검정을 여러 번 수행할수록 제1종 오류가 누적되기 때문입니다. 즉 실제로는 차이가 없는데도 우연히 "차이가 있다"라고 잘못 판단할 가능성이 점점 커지게 됩니다. 이러한 문제를 해결하기 위해 사용하는 방법이 ANOVA(Analysis of variance, 분산분석) 입니다.
이 검정방법의 이름만 보면, "분산"을 분석하는 것 같지만 실제로는 평균 차이를 검정하는 방법입니다. ANOVA는 각 집단의 평균이 같다고 볼 수 있는지 여부를 전체 변동성의 수치를 가지고 비교함으로써 판단합니다. 아래에서는 ANOVA의 검정 방법 중 하나인 일원분산분석(One-Way ANOVA)에 대해서 알아보겠습니다. 일원분산분석은 하나의 요인에 영향을 받는 서로 독립된 여러 집단의 평균을 비교하는 방법입니다.
세 집단 A, B, C가 있다고 가정하겠습니다. 이 경우 가능한 쌍대 비교는 [A vs B], [B vs C], [C vs A] 입니다. 각각을 독립표본 t-검정으로 따로 수행하면 언뜻 문제가 없어 보입니다. 하지만 각 검정마다 유의수준을 0.05로 두면, 전체적으로 잘못된 유의 판정이 나올 확률이 0.05보다 커지게 됩니다.
예를 들어 세 번에 걸쳐 독립적인 검정을 하면, 적어도 한 번은 우연히 유의하게 나올 확률은 [1-(1-0.05)^3] 입니다. [1-0.95^3=1-0.857375=0.143] 수준입니다. 즉, 실제로는 세 집단의 평균이 모두 같더라도 세 번을 비교하게 되면 약 14.3%의 확률로 "어딘가 차이가 있다."라고 잘못 말할 수 있게 됩니다. 이것이 다중비교의 문제점입니다. ANOVA는 이를 해결하기 위해 먼저 전체적인 가설을 설정합니다. 즉 "세 집단의 평균이 전부 같은가?"를 일괄적으로 묻는 것입니다.
"분산분석"이라는 표현이 다소 어색합니다. 왜나하면 우리는 계속 평균의 차이를 검정해왔기 때문입니다. 그런데 왜 ANOVA를 분산분석이라고 표현하는 것일까요? 그 이유는 평균의 차이를 직접 보지 않고, 평균의 차이가 만들어 내는 "변동의 구조"를 보기 때문입니다.
ANOVA의 핵심 아이디어는 전체 데이터를 집단 간 변동(Between-Group Variation)과 집단 내 변동(Within-Group variation)으로 나누는 것입니다. 집단 간의 변동은 각 집단의 평균이 전체 평균에서 얼마나 떨어져 있는가를 나타냅니다. 각 집단의 평균이 서로 많이 다르다면 집단 간의 변동이 커집니다. 집단 내의 변동은 같은 집단 안에서 개별 관측 값들이 자기 집단의 평균 주변에 얼마나 퍼져 있는가를 나타냅니다.
만약 세 집단의 평균이 실제로 모두 같다면, 집단 간 변동은 집단 내 변동과 크게 다르지 않습니다. 반대로, 세 집단의 평균 중 적어도 하나의 집단의 평균이 다르다면, 집단 간의 변동이 집단 내 변동보다 커질 것으로 봅니다. 그래서 ANOVA는 [집단 간 변동÷집단 내 변동]의 비율로 계산하는 F-값(F-statistic)을 검정에 활용합니다. 이 비율이 충분히 크다면, 평균 차이가 표본의 우연한 변동에 의한 것만으로 설명되기 어렵다고 판단합니다.
F는 ANOVA에서 자주 등장하는 용어로 F-통계량 및 그 통계량의 분포를 나타낼 때 쓰는 영문 기호입니다. 'F'는 현대 통계학에서 매우 중요한 업적을 남긴 로날드 피셔(Ronald A. Fisher)가 1920~1930년에 고안한 개념(F-검정, 분산분석)이기 때문에 'F=Fisher'로 이름을 지었습니다.
ANOVA는 F-통계량을 사용하고, F-통계량은 집단 간의 변동과 집단 내의 변동의 비율입니다. ANOVA에서 집단 간의 변동과 집단 내의 변동의 비율을 사용하는 근본적인 이유는 "어느 집단의 평균이 확실히 다른가?"를 판단하기 위한 것입니다. 이는 후술하는 검정의 영역에서 자세히 다루겠지만, 그 전에 집단 간의 변동과 집단 내의 변동의 관계를 짚고 넘어가겠습니다.
위 그림은 [Case1]과 [Case2]로 구분되어 있습니다. Case1의 경우 "Low Between-Group Variaion"으로, 집단 간의 변동이 작은 모습(F-값이 작음), Case2의 경우 "High Between-Group Variation"으로, 집단 간의 변동이 큰 모습(F-값이 큼)입니다. 왜 이렇게 해석이 되는지 그 원리를 보겠습니다.
먼저 [Case1]입니다. 서로 독립된 세 개의 집단(Group A, B, C)의 중심을 나타내는 오렌지색 가로선을 보면, 세 집단 모두 10.0 근처에서 머물러 있습니다. 즉, A, B, C의 중심 높이 차이가 거의 없기 때문에 "집단 간의 확연한 차이가 나타난다고 볼 만한 신호가 약하다."라고 봅니다. 반면, 각 집단의 수염 상자의 높이(Range)를 보면 서로 상당 부분이 겹치기도 하지만, 겹치는 부분이 수염 끝의 이상치가 아니라 각 집단의 중심 부근의 50%가 몰려 있는 사분위 범위(IQR)에서 세 집단 모두 중첩됩니다. 즉, "집단 내의 변동 신호가 크게 잡혀서 이 데이터 포인트가 어느 집단의 것인지 헷갈리는 구간이 많다."라고 봅니다. 따라서 집단 간의 변동보다 집단 내의 변동이 크게(강하게) 나타나고 있다고 판단(F-값이 작음)합니다.
다음으로 [Case2] 입니다. 서로 독립된 세 개의 집단의 중심을 나타내는 오렌지색 가로선을 보면, Group A가 5, Group B가 10, Group C는 약 15~16으로 중심 높이 차이가 크게 나타납니다. 즉, "집단 간의 확연한 차이가 나타난다고 볼 만한 신호가 강하다."라고 봅니다. 반면, 각 집단의 수염 상자의 높이(Range)를 보면 Group A와 Group B, Group B와 Group C가 일부 겹치는 부분이 있으며, Group A와 Group C는 겹치는 부분이 없습니다. 다만, 각 그룹에서 중첩되는 부분을 보면 수염의 끝부분이나 이상치, 그리고 IQR을 벗어나는 범위에서 겹치고 있어 각 집단의 개별 데이터 포인트가 핵심적으로 몰려 있는 부분에서는 상호 분리되어 있습니다. 따라서 집단 간의 변동이 집단 내의 변동보다 크게(강하게) 나타나고 있다고 판단(F-값이 큼)합니다.
이번 단원에서는 세 가지 광고 메시지 버전 A, B, C에 따른 지역별 주간 평균 전환 건수를 비교하는 상황을 가정하겠습니다. A, B, C 각각은 독립된 세 집단입니다. 즉 각 지역은 오직 하나의 광고 메시지 버전에만 노출되었다고 가정합니다.
마케팅 관련 데이터에서 '전환'(Conversion)이란 "사용자가 광고나 콘텐츠를 접한 뒤, 기업이 원하는 특정한 행동을 실제로 수행하는 것"으로 정의합니다. 즉, 단순히 광고를 본 것에 그치는 게 아니라 "기업이 목표로 하는 행동(Goal action)을 완료한 것"을 의미합니다. 예를 들어 전자상거래에서 광고 마케팅을 통한 전환 행동으로는 상품 구매, 장바구니 추가, 결제 완료 등이 있습니다. 콘텐츠/미디어의 경우 뉴스레터 구독, 자료 다운로드, 구독상품 상담 신청 등이 있습니다. 서비스 플랫폼의 경우 회원가입, 모바일 앱 설치, 특정 기간 리텐션 후 유료화 조건으로 무료체험이 시작되는 것 등이 있습니다.
우리가 알고 싶은 것은 "세 가지의 광고 메시지 버전의 평균 전환 건수가 유의한 차이를 나타내는가?" 입니다. 이를 모집단 평균 기호로 치환하여 나타내면 A집단의 평균은 [μ_A], B집단의 평균은 [μ_B], C집단의 평균은 [μ_C] 입니다.
귀무가설(H0)은 [H0: μ_A=μ_B=μ_C] 입니다. 즉, 세 집단의 모집단 평균이 모두 같다(유의한 차이가 없다)는 것입니다. 반면 대립가설(H1)은 "적어도 한 집단의 평균은 유의한 차이가 있다." 입니다. 여기서 중요한 점은 ANOVA의 대립가설은 "세 집단의 평균이 모두 다르다."라는 것이 아니라는 점입니다. 즉, ANOVA를 활용한 검정 결과 통계적 유의성을 발견하다고 하여 곧바로, A, B, C가 서로 다르다고 말할 수는 없습니다. 이는 추후에 사후검정을 통해 따로 확인해야 합니다.
ANOVA 검정을 위해 우선 세 집단의 각 평균과 전체 집단의 평균을 계산해보겠습니다. 아래와 같이 계산하면 A집단의 평균은 40, B집단의 평균은 45, C집단의 평균은 50입니다. 따라서 전체 평균(Grand Mean)은 40, 45, 50의 평균인 45입니다. 전체 평균의 경우 정확히 계산하려면 전체 18개의 표본 값을 합계하여 18로 나눠야 하지만, 각 집단의 표본 수가 같기 때문에 이렇게 계산해도 결과가 동일합니다.
겉보기에는 각 집단의 평균 차이가 보이는 것들이 분명 있습니다. 하지만 이것이 통계적으로 유의한 차이인 것인지는 확인이 필요합니다.
ANOVA는 전체 집단의 총 변동을 분석합니다. "전체 집단의 총 변동"은 전체 제곱합(Total Sum of squares, SS_Total)으로 아래와 같은 수식으로 계산합니다.
즉, 모든 관측 값이 전체 평균에서 얼마나 떨어져 있는지를 제곱하여 모두 더한 값입니다. 이러한 전체 변동 값은 크게 두 부분으로 나눌 수 있는데, 하나는 집단 간의 제곱합(SS_Between)이고, 다른 하나는 집단 내의 제곱합(SS_Within) 입니다. 이렇게 데이터의 총 변동을 부분으로 나누어 분석하는 것이 ANOVA의 핵심이라고 할 수 있습니다.
집단 간의 제곱합은 각 집단의 평균이 전체 평균에서 얼마나 떨어져 있는지를 측정합니다. 집단 간의 제곱합을 계산하는 공식은 다음과 같습니다.
이 Data Set에서 각 집단의 표본 수가 모두 6개이므로, [SS_Between]은 아래와 같은 과정을 통해 300으로 계산됩니다. 즉, 집단 간의 평균 차이로 설명되는 변동이 총 300입니다. 이 값이 클수록 각 집단의 평균이 전체 평균에서 멀리 떨어져 있다는 의미입니다.
집단 내의 제곱합은 각 집단의 개별 데이터 포인트가 자기의 집단 평균에서 얼마나 떨어져 있는지를 측정합니다. 그렇게 측정된 각 집단 내부의 변동(제곱합)을 합산한 값으로 이를 계산하는 공식은 아래와 같습니다.
이 Data Set에서 그룹 A는 평균 40, 그룹 B는 평균 45, 그룹 C는 평균 50이므로, 각 집단의 편차 제곱합은 모든 집단이 10이므로 집단 내 변동(제합)의 총합은 30입니다.
위와 같이 계산된 전체 제곱합 [SS_Total]은 330입니다. 이 전체 변동분 중 집단 간의 제곱합 [SS_Between]은 300, 집단 내의 제곱합 [SS_Within]은 30입니다. 이 구조만 보아도 집단 간의 차이가 매우 크다는 것을 알 수 있습니다.
ANOVA에서도 평균이 아닌 분산의 비율을 보기 때문에 자유도가 필요합니다. 분산을 계산할 때는 데이터가 평균에서 얼마나 떨어져 있는지(편차의 제곱합) 모두 더한 후 표본의 크기(개수)로 나누지만, 표본으로 평균을 한 번 계산하고 나면, 마지막 데이터 포인트 하나는 이미 정해진 것이나 다름 없기 때문에 전체 표본의 크기에서 1을 뺀 (N-1)로 나눠야만 분산 값이 왜곡되지 않습니다.
집단의 수를 k, 전체 표본의 크기를 N이라고 하면, 집단 간의 자유도(df_Between)와 집단 내의 자유도(df_Within)를 계산해야 합니다. 집단 간의 자유도는 [df_B=k-1], 집단 내의 자유도는 [df_W=N-k] 입니다. 집단 간의 자유도(k-1)는 전체 평균에서 집단 1개는 자유를 잃기 때문에 전체 집단의 수에서 1을 뺀다는 논리가 적용됩니다. 그리고 집단 내의 자유도(N-k)는 각 집단의 평균 k개를 고정했기 때문에 전체 인원수에서 k를 뺀다는 논리가 적용됩니다. 즉, (N_A-1)+(N_B-1)+(N_C-1)=(N_A+N_B+N_C)-3=N-k 입니다.
각 집단의 수는 3이므로, [df_B=3-1=2] 입니다. 그리고 전체 표본의 크기가 18이므로, [df_W=18-3=15] 입니다. 전체 자유도는 [df_T=N-1=18-1=17] 입니다. 실제로 df_B=2, df_W=15이므로, [df_T=df_B+df_W]가 성립합니다.
ANOVA는 집단 간의 자유도를 반영하고 있는데 반하여, 서로 다른 두 집단의 평균의 차이를 검정하는 독립표본 t-검정은 집단 간의 자유도를 왜 반영하지 않는 것인지 의문이 들 수도 있습니다. 독립표본 t-검정에서는 집단 간의 자유도를 반영하지 않은 것이 아니고 자유도의 개념이 숨겨져 있습니다. 왜냐하면 항상 '1'이기 때문(df_B=2-1=1)입니다.
편차의 제곱합은 자유도에 영향을 받는 값이기 때문에, 이를 자유도로 나누어 평균적인 변동량으로 변환합니다. 따라서 집단 간의 평균제곱 [MS_Between]과 집단 내의 평균제곱[MS_Within]을 계산해야 합니다.
집단 간의 평균제곱은 [SS_Between]을 [df_Between]으로 나눈 값입니다. 즉, 300을 2로 나눈 값으로 150(MS_Between)이 나옵니다. 그리고 집단 내의 평균제곱은 [SS_Within]을 [df_Within]으로 나눈 값입니다. 즉 30을 15로 나눈 값으로 2(MS_Within)가 나옵니다.
만약 귀무가설이 참이라면, 이 둘은 대체로 비슷한 값이 나와야 합니다. 왜냐하면 집단 간 차이가 없다면, 집단 간의 변동이라는 부분도 결국 집단 내에서 발생한 우연한 표본오차의 수준 내에서 설명이 되기 때문입니다.
이제 이 단원의 핵심인 F-통계량을 계산해보겠습니다. [F-통계량=MS_Between ÷ MS_Within] 입니다. 즉, [F-통계량=150÷2=75] 입니다. 결과적으로 이 값이 매우 크게 나왔습니다. 왜냐하면 이 결과는 집단 간의 평균 차이로 인한 변동이 집단 내부의 변동 부분에 비해 약 75배 수준으로 강하게 나타난다는 것을 뜻하기 때문입니다. 달리 말해, 집단 평균들의 변동(집단 간의 차이)이 단지 우연에 의한 것으로 보기는 어렵다는 근거가 됩니다.
F-통계량에 대한 최종 유의성 검정을 보기 전에 F-통계량이 이루는 분포의 모양을 개괄적으로 이해하고 넘어가겠습니다. F-통계량은 "분산의 비율"로 계산되는 값이기 때문에, F-분포는 항상 "0보다 크거나 같다."라는 특징이 있습니다. 그리고 정규분포나 t-분포와 같은 좌우대칭이 아니라 "오른쪽으로 긴 꼬리"를 갖는 형태로 나타나며, 분자(df1=df_Between) 및 분모(df2=Within)에 따라 모양이 달라집니다.
아래는 F-통계량을 0부터 5까지 0.1 단위로 하여 F-통계량 변화에 따른 확률 분포 곡선(PDF)을 시각화한 것입니다. F-분포가 어떤 모양을 갖고 있는지 이해하는 데 참고하시면 되겠습니다. 아울러 아래 분포를 시각화 하기 위해 Excel을 활용하였으며, CDF는 [f.dist(x,df1,df2,true), PDF는 [f.dist(x,df1,df2,false) 함수를 사용하였습니다.
유의수준 α=0.05(5%)로 설정하고, F-test table을 통해 임계값을 살펴보겠습니다. 분자의 자유도(df1)는 2, 분모의 자유도(df2)는 15인 경우 유의수준 0.05에서 임계 F-값은 대략 3.68 정도입니다.
Reference: Saskatchewan Organization for Heritage Languages (SOHL). (n.d.). F-Distribution Table. Retrieved from https://www.saskoer.ca/app/uploads/sites/313/2020/05/F-Distribution-Table.pdf
이 단원의 Data Set에서 계산한 F-통계량이 75였기때문에 75>3.68입니다. 즉, 귀무가설이 맞다는 가정에서 기각역에 포함된다는 것을 알 수 있습니다. p-value 기준으로도 p<.001로 매우 낮은 값임을 알 수 있습니다. 실제로 Excel에서 [f.dist.rt(75,2,15)] 함수를 적용하면, [0.000000015]로 거의 0에 가까운 값입니다.
ANOVA에서도 p-value만 보면 부족합니다. 집단 간의 평균 차이가 통계적으로 유의하다고 볼 정도로 차이가 있는지 뿐만 아니라 그 차이가 얼마나 큰 것인지도 확인이 필요합니다. 이를 측정할 수 있는 가장 기본적인 방법 중 하나가 [ η의 제곱(eta squared) ] 입니다. η의 제곱은 SS_Between과 SS_Total의 비율로 측정합니다.
이를 실제로 계산해보면, [ η의 제곱=300÷330≒0.909 ] 입니다. 즉, 전체 변동의 약 90.9%가 집단 간의 차이로 설명된다는 뜻입니다. 이 값은 매우 큰 효과로 광고 메시지 버전의 차이가 전환 건수 변동의 대부분을 설명하고 있다고 볼 수 있습니다.
[결론] 세 광고 메시지 버전의 평균 전환 건수를 비교하기 위해 일원분산분석을 실시하였습니다. 그 결과 집단 간의 평균 차이는 통계적으로 유의하였습니다(F(2,15)=75.00, p<.001). 이는 세 집단의 평균이 모두 같다는 귀무가설을 기각하게 하며, 적어도 하나의 광고 메시지 버전은 다른 평균 전환건수를 보인다는 것을 의미합니다. 또한 효과크기는 약 0.909로 매우 크게 나타나 전체 변동의 상당 부분이 광고 메시지 차이로 설명되는 것으로 해석할 수 있습니다.
일원분산분석을 통해 [ F(2,15)=75, p<.001 ]의 결과를 얻었습니다. 이 결과는 세 집단의 평균이 완전히 같지 않다는 것입니다. 하지만 이것만으로는 A vs B의 차이, A vs C의 차이, B vs C의 차이를 알 수 없습니다. 즉, 어떤 집단까리 다른지는 확인할 수 없다는 것입니다. 그래서 추가 분석이 필요하며, 그 대표적인 방법이 Tukey HSD(Honestly Significant Difference) 검정입니다.
'Tukey'는 이 개념을 고안한 존 투키(John Tukey) 박사의 이름에서 유래된 것입니다. 존 투키 박사는 여러 집단을 한꺼번에 비교할 경우, 단순히 집단의 수가 많다는 이유만으로 "우연히" 차이가 나는 것처럼 보일 확률이 올라갈 수 있다고 보았습니다. 이에 존 투키 박사는 사후검정 방법론을 고안하여 "이 정도의 차이라면 실제로 정직하게(Honestly) 차이가 있다고 신뢰할 수 있다."라는 확신을 줄 수 있는 개념을 탄생시켰습니다.
Tukey 검정은 각 집단 중에서 "가장 멀리 떨어진 두 집단의 중심의 차이(거리)"와 "각 집단의 데이터가 본래 갖고 있는 표준오차"를 비교하는 방식으로 계산합니다. 이렇게 계산된 값을 "q-value"라고 하며, 이 값을 "Studentized Range Statistic"이라고 부릅니다. "Studentized"는 t-test를 고안한 윌리엄 고셋의 필명인 'Student'에서 따온 말로, 속뜻은 "모집단의 표준편차를 모르니까 내가 표집한 데이터에서 계산한 표준편차로 나누어 보정해서 도출되는 값"입니다.
본래 Tukey q값의 기본 계산은 [이론-q값]과 같습니다. 분자는 "가장 멀리 떨어진 두 집단의 차이"를, 분모"는 "집단 내에서 평균을 만드는 데 활용되는 해당 데이터가 원래 갖고 있는 평균적인 오차 범위"를 뜻합니다. 그래서 이 방정식은 [우리가 발견한 집단 간의 차이]를 [집단 내에서 우연히 발생할 수 있는 변동]으로 나눈 값으로 정의할 수 있습니다.
[이론 q-값]의 [분자] 기본 논리는 이렇습니다. 여러 집단을 동시에 비교할 경우 실제로는 차이가 없는데도 우연히 특정한 두 집단의 평균이 멀어 보인다고 판단할 확률(제1종 오류)이 높아지기 때문에 "가장 극단적인 두 집단의 차이"를 기준으로 삼겠다는 것입니다. 가장 멀리 떨어진 집단 간에도 통계적으로 유의한 차이가 없다면, 그보다 가까운 나머지 집단 역시 통계적으로 유의한 차이가 없을 것이라는 것입니다.
[이론 q-값]의 [분모] 기본 논리는 집단 내부에서 발생하는 평균적인 변동을 기준으로 분자의 차이를 평가하겠다는 것입니다. 만약 두 집단의 평균이 10점 차이가 나더라도, 집단 내 데이터 포인트가 제각각이라서 원래 점수의 변화가 심하다면 해당 10점의 차이는 큰 차이라고 보지 않겠다는 것입니다.
따라서 Tukey q값은 "우연히 발생할 수 있는 오차에 비해, 가장 극단적인 두 집단 간의 차이가 몇 배 더 큰가?"를 계산하는 수치라고 하겠습니다. 이 값이 미리 정한 기준 값(임계 값)보다 크다면, 이 차이는 해당 집단의 표본에 따른 우연한 변동에 의한 것이 아니라 실제로 집단 간의 차이에 따른 것이라고 결론을 내리게 됩니다.
[현실 q-값]은 [이론 q-값]과 분자의 식이 차이가 있는데, 가장 극단적인 두 집단의 차이를 기준으로 하지 않고, 검정의 대상이 되는 각 집단의 쌍대 비교를 수행하는 방식입니다. 우리의 Data Set에서 A와 B, A와 C, C와 A 모두 q값으로 비교해보는 것입니다.
위 q값에 관한 공식에서 [분모]는 [MS_Within]을 각 집단의 표본의 크기 n으로 나눈 값의 제곱근입니다. Tukey HSD는 각 집단의 표본 크기가 동일하다고 가정합니다. 따라서 각 집단의 표본의 크기로 나눕니다. 만약, 각 집단의 표본의 크기가 서로 다르다면, 산술평균이 아닌 조화평균의 개념을 활용하게 됩니다.
이 Data Set에서 [MS_Within=2], 각 집단의 표본의 크기는 6입니다. 따라서 [표준오차(SE)=√1/3=0.577]입니다.
우리가 확인한 기술통계량을 가지고 이제 Tukey 통계량(q값)을 아래와 같이 계산합니다.
[ 평균 차이 계산 ]
A집단 평균=40
B집단 평균=45
C집단 평균=50
A vs B: 45-40=5
A vs C: 50-40=10
B vs C: 50-45=5
[ 표준오차 ]
SE=0.577
[ Tukey q값 계산 ]
A vs B: q=5/0.577≒8.66
A vs C: q=10/0.577≒17.32
B vs C: q=5/0.577≒8.66
유의수준 α=0.05(5%)에서 [ Tukey-test table ]을 활용하여 임계 값과 비교해보겠습니다. Tukey 검정의 경우에는 df1은 집단의 수, df2는 표본크기의 자유도를 활용합니다. 따라서 df1=3, df2=15입니다. 아래 table을 보면, 유의수준 0.05에서 임계 값은 약 3.67 입니다.
Reference: Saskatchewan Organization for Heritage Languages (SOHL). (n.d.). F-Distribution Table. Retrieved from https://www.saskoer.ca/app/uploads/sites/313/2020/11/Tukey-Test-Critical-Values-Table.pdf
우리가 계산한 Tukey q값은 [A~B=8.66], [A~C=17.32], [B~C=8.66] 이었습니다. 모든 값이 임계 값보다 크다는 것을 알 수 있습니다. 따라서 모든 집단의 평균 차이가 통계적으로 유의하다고 볼 수 있습니다. 또한, 광고 메시지 버전 기준으로 A<B<C 순서로 평균 전환 건수가 증가하고 있음을 알 수 있습니다.
최종적으로 이번 일원분산분석을 통해서 ① 광고 메시지의 유형에 따라 전환의 성과가 달라진다는 점, ② 세 가지의 메시지 버전 모두 서로 다른 평균 전환을 보여주고 있다는 점, ③ 광고 메시지 버전 C가 가장 높은 성과를 보였다는 점을 알 수 있습니다. 즉, 마케팅 전략 측면에서 보면, 메시지 C가 가장 효과적인 광고 효과가 있다고 추정할 수 있습니다.
무료 설치가 가능한 Jamovi를 통해 [Analyses>ANOVA>One-way ANOVA]를 클릭한 후 [Dependent Variables]에는 광고 메시지별 전환 건수 데이터, [Grouping Variable]에는 그룹 데이터를 지정하여 검정하였습니다.
우선 아래 ①의 결과를 보겠습니다. 앞서 우리가 지나온 과정에서 이번 Data Set의 F-통계량(Fisher's), df1 및 df2 자유도, p-value를 계산한 결과가 [One-Way ANOVA]에 그대로 반영되었습니다. 아울러 [Group Description]에는 그룹 간의 표본 수, 평균(Mean), 표준편차(SD) 및 표준오차(SE)가 있습니다. 여기서 평균 및 표준오차는 우리가 계산한 값임을 알 수 있습니다.
다음은 이 검정을 위한 기본 전제와 관련한 결과입니다. [Nomality Test]에 대하여는 지난 시간에 다뤘던 샤피로-윌크(Shapiro-Wilk) W-통계량과 p-value 값이 나와 있습니다. 이 검정은 정규성에 관한 검정으로 p-value가 0.05보다 크다면 기존의 귀무가설(데이터가 정규분포를 따른다)을 기각하지 못하므로, 정규성이 충족되는 것으로 판단됩니다.
[Homogeneity of Variances Test]는 등분산성 검정입니다. 집단 간의 분산이 서로 일정한 것인지 확인하는 검사라고 볼 수 있습니다. Levene's F-통계량이 3.47e-31로 거의 0에 가깝고, p-value가 정확히 1.000으로 나옵니다. p-value가 0.05보다 크다면 기준의 귀무가설(집단 간 분산이 같다)을 기각하지 못하므로, 등분산성이 충족되는 것으로 판단됩니다.
아래 ②의 결과를 보겠습니다. [Plots]은 평균을 중심으로 95%신뢰수준에서 각 집단의 중심과 변동의 수준을 표시하고 있습니다. 각 집단의 중심도 큰 차이가 있지만, 이 변동의 상/하한이 서로 중첩되지 않는 모습을 선명하게 보여주고 있습니다.
[Post Hoc Tests]는 이 단원에서 학습한 Tukey HSD 결과를 요약하여 보여주고 있습니다. 세 집단의 쌍대 비교 결과 모든 비교에서 p-value<.001로 유의한 차이가 있음을 보여주고 있습니다.
일원분산분석은 다음의 세 가지를 만족해야 합니다.
첫째, 독립성(Independence) 입니다. 각 집단의 관측치는 서로 독립적이어야 하며, 다른 관측치에 영향을 주지 않아야 합니다. 예컨대, 한 사람의 점수를 여러 번 측정하거나 형제자매를 같은 그룹에 넣는 경우 독립성에 위배될 수 있습니다. 그래서 이와 같은 실험(조사) 설계 단계에서는 무작위 추출(Random Sampling)을 통해 보정하는 것이 필요합니다.
둘째, 정규성(Normality) 입니다. 각 집단의 종속 변수는 정규분포를 따라야 합니다. 이는 시각적으로 확인 가능한 Q-Q Plot(또는 히스토그램), 통계적으로는 Shapiro-Wilk Test를 통해 검정할 수 있었습니다.
셋째, 등분산성(Homegeneity of Variance) 입니다. 비교하려는 모든 집단의 분산이 서로 비슷해야 합니다. 한 그룹은 데이터가 빽빽하게 몰려 있는데, 다른 그룹은 널찍하게 퍼져 있다면 F-검정의 신뢰도 역시 떨어집니다. 이러한 등분산성의 가정이 충족되지 않는 Data Set이 있는 경우 Welch's ANOVA 검정을 활용합니다. 위의 Jamovi와 같은 통계 S/W를 활용하면 Welch's ANOVA 검정을 손쉽게 할 수 있습니다.