이번 편에서는 평균을 비교하는 방법을 다룹니다. 통계 분석에서 가장 자주 쓰는 질문이 “두 집단(또는 여러 집단)의 평균이 정말 다른가”인데, 이 질문에 답하는 절차가 t-검정과 분산분석입니다.
예제 데이터로 던져 볼 질문은 네 가지입니다.
- 교육을 받은 실험군과 받지 않은 대조군은 점수 향상분이 다른가 — 독립표본 t-검정
- 전체 참가자의 교육 전 점수와 교육 후 점수가 달라졌는가 — 대응표본 t-검정
- 만족도 평균이 ‘보통'(3점)과 다른가 — 일표본 t-검정
- 부서에 따라 연봉이 다른가, 다르다면 어느 부서끼리 다른가 — 일원분산분석과 사후검정
세 가지 t-검정은 이름이 비슷하지만 비교하는 대상이 다릅니다. 독립표본은 서로 다른 두 집단을, 대응표본은 같은 사람의 두 측정값을, 일표본은 한 집단의 평균과 정해 둔 기준값을 비교합니다. 집단이 셋 이상이면 t-검정을 여러 번 하는 대신 분산분석을 씁니다.
데이터
2편에서 만든 data/training_survey.sav를 그대로 씁니다. 이 데이터는 결과를 미리 알 수 있도록 설계해서 만들었습니다. 실험군의 점수 향상분은 평균 약 +8, 대조군은 약 +1이 되도록 했으니, 독립표본 t-검정은 유의하게 나와야 정상입니다. 연봉도 개발부서가 높도록 설계했기 때문에 분산분석 역시 유의하게 나와야 합니다.
이렇게 답을 알고 있는 데이터를 쓰면, PSPP가 계산을 제대로 하는지 확인하기가 쉽습니다. 기대한 방향과 크기가 나오는지 보면 되니까요.
메뉴로 하기
평균 비교 절차는 모두 Analyze > Compare Means 아래에 모여 있습니다. Means, One Sample T Test, Independent Samples T Test, Paired Samples T Test, One Way ANOVA가 차례로 보이는데, 메뉴 이름과 위치가 SPSS와 같으므로 SPSS를 써 보셨다면 바로 찾으실 수 있습니다.
독립표본 t-검정 대화상자에서는 비교할 값인 검정 변수(gain)를 위 칸에, 사람을 두 집단으로 나누는 집단 변수(group)를 아래 칸에 넣습니다. 그다음 Define Groups 버튼을 눌러 집단 값 1과 2를 지정합니다. 이 데이터에서는 group이 1이면 대조군, 2면 실험군입니다. 집단 변수에 값이 여러 개 있을 수 있기 때문에, 그중 어느 두 값을 비교할지 직접 알려 주는 단계입니다.

일원분산분석 대화상자에는 종속변수(salary)와 요인(dept)을 넣습니다. 분산분석은 “세 부서 중 어딘가에 차이가 있다”까지만 알려 주기 때문에, 구체적으로 어느 부서끼리 다른지 보려면 사후검정이 필요합니다. Post Hoc 버튼에서 Tukey와 Bonferroni를 켜 주세요. Options에서는 부서별 기술통계와 분산 동질성 검정을 켤 수 있습니다.

신택스로 하기
같은 작업을 신택스로 하면 syntax/04_ttest.sps와 syntax/05_anova.sps가 됩니다. 메뉴에서 대화상자를 채우고 OK를 누르는 것과 결과는 같습니다. 신택스로 남겨 두면 나중에 같은 분석을 한 번에 다시 돌릴 수 있다는 점이 다릅니다.
먼저 t-검정 세 가지입니다.
* 실험군 vs 대조군 점수 향상분 비교.
* GROUPS=group(1 2) 는 group 값이 1인 사람과 2인 사람을 비교하라는 뜻입니다.
* 메뉴의 Define Groups 에서 1과 2를 넣은 것과 같습니다.
* VARIABLES 에 적은 변수마다 따로 t-검정을 합니다(향상분, 사후 점수).
* CRITERIA=CI(.95) 는 95% 신뢰구간을 내라는 옵션입니다.
T-TEST GROUPS=group(1 2)
/VARIABLES=gain post_score
/CRITERIA=CI(.95).
* 전체 사전 vs 사후.
* 같은 사람의 두 점수를 짝지어 비교합니다.
* PAIRED 를 붙이면 WITH 앞뒤 변수를 한 쌍으로 묶습니다.
T-TEST PAIRS=pre_score WITH post_score (PAIRED).
* 만족도 평균이 3(보통)과 다른가.
* TESTVAL 에 비교 기준값을 적습니다.
T-TEST /TESTVAL=3 /VARIABLES=sat_mean.
다음은 일원분산분석입니다. BY 앞에 종속변수, 뒤에 집단을 나누는 요인을 씁니다.
* 부서(dept)에 따라 연봉(salary)이 다른가.
* DESCRIPTIVES 는 부서별 평균·표준편차, HOMOGENEITY 는 Levene 등분산 검정입니다.
* POSTHOC 에는 사후검정 방법을 나열하고, ALPHA 로 유의수준을 정합니다.
ONEWAY salary BY dept
/STATISTICS=DESCRIPTIVES HOMOGENEITY
/POSTHOC=TUKEY BONFERRONI ALPHA(.05).
* 학력(edu)에 따라 만족도 평균(sat_mean)이 다른가.
* 사후검정은 Scheffe 로 바꿔 보았습니다.
ONEWAY sat_mean BY edu
/STATISTICS=DESCRIPTIVES
/POSTHOC=SCHEFFE ALPHA(.05).
출력 읽기
독립표본 t-검정부터 보겠습니다. 첫 번째 표는 집단별 요약입니다.
Group Statistics
+-----------------------------+---+-----+--------------+---------+
| Group | N | Mean|Std. Deviation|S.E. Mean|
+-----------------------------+---+-----+--------------+---------+
|점수 향상분(사후-사전) 대조군| 94| .72| 6.37| .66|
| 실험군|106| 8.27| 5.54| .54|
+-----------------------------+---+-----+--------------+---------+
N 열은 각 집단의 인원(대조군 94명, 실험군 106명), Mean 열은 향상분 평균입니다. 대조군은 .72점, 실험군은 8.27점 올랐습니다. 설계한 대로 약 +1과 +8에 가깝게 나왔습니다. 검정을 보기 전에 이 표에서 차이의 방향과 크기를 먼저 확인해 두면 뒤의 표를 읽기가 훨씬 쉽습니다.
다음은 검정 결과 표입니다.
| | F |Sig.| t | df |tailed)|Difference|Difference| Lower|
+-------------+----+----+-----+------+-------+----------+----------+------+
|점 Equal |1.29|.258|-8.96|198.00| .000| -7.54| .84| -9.20|
|수 variances| | | | | | | | |
|향 assumed | | | | | | | | |
|상 | | | | | | | | |
|분 Equal | | |-8.88|185.61| .000| -7.54| .85| -9.22|
|(사 variances| | | | | | | | |
|후- not | | | | | | | | |
|사 assumed | | | | | | | | |
이 표는 두 줄로 되어 있습니다. 윗줄(Equal variances assumed)은 두 집단의 분산이 같다고 가정한 결과, 아랫줄(Equal variances not assumed)은 그 가정을 하지 않은 결과입니다. 어느 줄을 읽을지는 맨 앞의 F와 Sig. 열, 즉 Levene 등분산 검정이 정해 줍니다. Sig.가 .258로 .05보다 크므로 “분산이 같다”는 가정을 받아들이고 윗줄을 읽습니다.
윗줄의 값은 t=-8.96, df=198, 유의확률(2-tailed) .000, 평균차 -7.54입니다. 유의확률이 .000으로 인쇄된 것은 0이라는 뜻이 아니라 .001보다 작다는 뜻이므로 p<.001로 보고합니다. 평균차가 음수인 것은 계산이 대조군(1) − 실험군(2) 순서로 되었기 때문입니다. 실험군이 7.54점 더 올랐다는 뜻으로 읽으시면 됩니다.
위 블록에 신뢰구간 상한(Upper) 열이 보이지 않는 것은, 텍스트 출력에서 표가 넓으면 이렇게 열이 잘려 두 조각으로 나오기 때문입니다. 불편하시다면 -O width=100처럼 출력 폭을 늘리거나 html로 뽑으면 한 표로 나옵니다. PSPPIRE의 출력 뷰어에서는 처음부터 한 표로 보입니다.

대응표본 t-검정은 t=-9.50, df=199, p<.001, 평균차 -4.72입니다. 이번에도 평균차는 첫 변수에서 둘째 변수를 뺀 값(사전 − 사후)이라 음수로 나왔습니다. 전체 참가자의 점수가 교육 후에 평균 4.72점 올랐다는 뜻입니다. 대응표본은 같은 사람의 두 점수를 짝지어 차이를 보기 때문에, 사람마다 원래 실력이 다른 부분이 상쇄되어 작은 변화도 잘 잡아냅니다.
일표본 t-검정은 t=1.00, df=199, p=.317입니다. 만족도 평균은 3.06으로 3보다 조금 높지만, p가 .05보다 크므로 “보통과 다르다”고 말할 수는 없습니다.
이제 일원분산분석입니다.
| |Sum of Squares| df|Mean Square| F |Sig.|
|연봉(만원) Between Groups| 12152252| 2| 6076126|22.47|.000|
| Within Groups | 53271298|197| 270412.7| | |
| Total | 65423550|199| | | |
Between Groups 줄이 부서 간 차이, Within Groups 줄이 부서 안에서 사람들끼리의 차이입니다. F는 두 줄의 Mean Square를 나눈 값으로, 부서 간 차이가 부서 안의 흩어짐에 비해 얼마나 큰지를 나타냅니다. Between Groups 줄의 F=22.47, Sig. .000(p<.001)이므로 세 부서의 연봉 평균이 모두 같지는 않다고 결론 내립니다. 보고할 때 쓰는 자유도는 df 열의 2와 197, 즉 F(2, 197)입니다.
분산분석은 “어딘가 다르다”까지만 알려 주므로, 어느 부서끼리 다른지는 사후검정 표에서 확인합니다.
|Tukey HSD 영업 개발 | -537.73| 82.85|.000| -733.38| -342.09|
| 관리 | -131.16| 100.22|.392| -367.83| 105.52|
| 개발 관리 | 406.58| 98.47|.000| 174.03| 639.12|
각 줄은 두 부서의 쌍입니다. 둘째 열이 평균차(I − J), 넷째 열이 유의확률, 마지막 두 열이 95% 신뢰구간입니다. 개발부서는 영업보다 537.73만원, 관리보다 406.58만원 높고 둘 다 p<.001로 유의합니다. 반면 영업과 관리의 차이(131.16만원)는 p=.392로 유의하지 않습니다. 신뢰구간이 0을 포함하는지(-367.83 ~ 105.52)를 봐도 같은 결론이 나옵니다. 정리하면 “개발부서만 연봉이 높고, 영업과 관리는 비슷하다”입니다.
SPSS와 대조
같은 신택스를 SPSS 32에서 돌린 값과 나란히 놓았습니다.
| 항목 | PSPP 2.1.1 | SPSS 32 |
|---|---|---|
| 대조군 / 실험군 향상분 평균 | .72 / 8.27 | .722 / 8.266 |
| Levene F / p | 1.29 / .258 | 1.288 / .258 |
| 독립표본 t / df / p | -8.96 / 198 / .000 | -8.959 / 198 / <.001 |
| 평균차 / 표준오차 | -7.54 / .84 | -7.5437 / .8420 |
| 95% 신뢰구간 | -9.20 ~ -5.88 | -9.2041 ~ -5.8833 |
| 대응표본 t / df / p | -9.50 / 199 / .000 | -9.499 / 199 / <.001 |
| 일표본 t / df / p | 1.00 / 199 / .317 | 1.003 / 199 / .317 |
| ONEWAY F (2, 197) / p | 22.47 / .000 | 22.470 / <.001 |
| Tukey 영업–개발 / 개발–관리 / 영업–관리 p | .000 / .000 / .392 | <.001 / <.001 / .392 |
| sat_mean BY edu F (3, 196) / p | 4.24 / .006 | 4.243 / .006 |
값은 전부 같습니다. SPSS가 소수 자리를 더 많이 보여 줄 뿐, PSPP가 인쇄하는 자리까지는 일치합니다. 유의확률 표기도 PSPP는 .000, SPSS 32는 <.001로 다르게 보이지만 같은 뜻입니다.
차이는 출력의 양에 있습니다. SPSS는 Levene 검정을 평균·중앙값·절삭평균 기준으로 네 가지 내고, 사후검정에서 동질적 부분집합 표를 하나 더 냅니다. PSPP는 Levene 검정을 하나만 냅니다. 분석 결론에는 영향이 없지만, SPSS 출력에 익숙하시다면 표가 몇 개 적다고 느끼실 수 있습니다.
함정과 메모
- 대응표본 t-검정에서 차이의 방향은 PSPP와 SPSS 모두 “첫 변수 − 둘째 변수”입니다. 그런데 6편에서 다룰 Wilcoxon 부호순위 검정에서는 PSPP와 SPSS의 표기가 반대로 나옵니다. 대응 검정의 부호는 습관적으로 해석하지 말고, 항상 표 머리글에서 무엇에서 무엇을 뺐는지 확인한 다음 읽으시기 바랍니다.
- 이 데이터는 사전·사후 측정에 집단까지 있어서 반복측정 GLM(사전·사후 × 집단)으로 분석하고 싶어지는 구조입니다. 하지만 PSPP에는 반복측정 GLM이 없습니다. 대신 이 편에서 한 향상분(gain)의 독립표본 t-검정이 “집단에 따라 변화량이 다른가”라는 같은 질문에 답합니다. 8편에서 SPSS의 반복측정 결과와 맞춰 봅니다.
다음 편
5편에서는 평균 비교에서 한 걸음 나아가, 변수 사이의 관계를 보는 상관, 다중회귀, 로지스틱 회귀를 돌려 봅니다.
시리즈 목차: 0편 총론 · 1편 · 2편 · 3편 · 4편 t-검정과 분산분석 · 5편 · 6편 · 7편 · 8편 · 9편