모던지 / 빅데이터분석기사 / 실기 실무 3강. 작업형 제3유형 통계 검정

실기 실무 3강. 작업형 제3유형 통계 검정

3유형은 모델을 만드는 문제가 아닙니다. 어떤 검정을 골라야 하는지만 알면 코드는 두 줄입니다.

풀고 시작

문제 1. 같은 환자 20명의 투약 전후 혈압을 비교하려 합니다. 알맞은 검정은?
같은 대상을 두 번 측정한 짝지어진 자료이므로 대응표본 t검정입니다. 독립표본 t검정은 서로 다른 두 집단을 비교할 때 쓰며, 짝을 무시하면 개인차가 잡음으로 남아 검정력이 떨어집니다.

고르는 것이 시험입니다

3유형에서 코드는 대부분 한두 줄입니다. 진짜 문제는 어떤 검정을 고를 것인가이고, 그 판단은 2과목 6강에서 배운 그대로입니다. 자료의 종류와 집단의 수, 그리고 짝지어져 있는지만 확인하면 답이 나옵니다.

상황 검정
한 집단의 평균이 특정 값과 다른가 단일표본 t검정
같은 대상의 전후 비교 대응표본 t검정
서로 다른 두 집단의 평균 비교 독립표본 t검정
세 집단 이상의 평균 비교 일원배치 분산분석
두 범주형 변수가 관련 있는가 카이제곱 독립성 검정
관측 분포가 기대 분포와 맞는가 카이제곱 적합도 검정
정규성 확인 샤피로윌크 검정

코드는 짧습니다

from scipy import stats

# 단일표본: 평균이 100과 다른가
print(stats.ttest_1samp(df["score"], 100))

# 대응표본: 같은 대상의 전후
print(stats.ttest_rel(df["before"], df["after"]))

# 독립표본: 두 집단 비교, 등분산을 가정하지 않는 편이 안전
a = df[df["group"] == "A"]["score"]
b = df[df["group"] == "B"]["score"]
print(stats.ttest_ind(a, b, equal_var=False))

# 세 집단 이상
print(stats.f_oneway(g1, g2, g3))

# 정규성
print(stats.shapiro(df["score"]))

범주형 자료는 교차표를 먼저 만듭니다.

table = pd.crosstab(df["성별"], df["구매여부"])
chi2, p, dof, expected = stats.chi2_contingency(table)
print(round(chi2, 3), round(p, 3), dof)

반환값의 순서를 외워 두세요. 카이제곱 통계량, p값, 자유도, 기대빈도 순입니다. 문제가 자유도를 물으면 세 번째 값이고, 기대빈도를 물으면 네 번째입니다.

회귀 결과를 묻는 문제에는 statsmodels를 씁니다.

import statsmodels.api as sm
from statsmodels.formula.api import ols, logit

m = ols("y ~ x1 + x2", data=df).fit()
print(m.summary())          # 계수, p값, 결정계수가 한 표에
print(round(m.params["x1"], 3))

lm = logit("target ~ x1 + x2", data=df).fit()
print(round(np.exp(lm.params["x1"]), 3))   # 오즈비

로지스틱 회귀에서 오즈비를 물으면 계수에 지수를 취해야 한다는 것, 3과목 3강에서 본 그대로입니다. 계수를 그대로 적으면 틀립니다.

답을 쓰는 법

3유형은 소문항으로 쪼개져 나옵니다. 검정통계량, p값, 그리고 결론을 차례로 묻는 식이죠. 여기서 지켜야 할 것이 셋입니다.

반올림 자리를 정확히 맞추세요. 소수 셋째 자리라고 하면 round로 셋째 자리까지 만듭니다.

결론은 유의수준과 비교해 쓰세요. p값이 유의수준보다 작으면 귀무가설을 기각합니다. 여기서 표현을 조심해야 하는데, 기각하지 못했다고 해서 귀무가설이 참임을 증명한 것은 아닙니다. 채택이라는 말보다 기각하지 못했다는 표현이 정확합니다.

가설의 방향을 확인하세요. 크다 또는 작다를 묻는 단측 검정인지, 다르다를 묻는 양측 검정인지에 따라 p값의 처리가 달라집니다. 파이썬의 기본 반환은 양측 기준입니다.

여기까지가 이 서가의 마지막 강입니다. 남은 일은 하나뿐입니다. 오답노트에 쌓인 문제를 다시 푸는 것. 읽어서 아는 것과 꺼내 쓸 수 있는 것은 다르고, 시험장에서 쓰이는 것은 후자입니다.

인출 문제

문제 1. 성별과 상품 구매 여부가 서로 관련이 있는지 확인하려 합니다. 알맞은 검정은?
두 변수 모두 범주형이므로 교차표를 만들어 카이제곱 독립성 검정을 수행합니다. t검정과 분산분석은 연속형 자료의 평균을 비교하는 방법이라 여기에는 맞지 않습니다.
문제 2. 파이썬에서 카이제곱 독립성 검정을 수행했을 때 반환되는 값의 순서로 옳은 것은?
검정통계량이 먼저, p값이 그다음, 자유도, 기대빈도 순으로 반환됩니다. 문항이 자유도를 요구하면 세 번째 값을 꺼내면 됩니다.
문제 3. 로지스틱 회귀에서 특정 변수의 오즈비를 구하려면?
로지스틱 회귀의 계수는 로그 오즈의 변화량이므로 지수를 취해야 오즈비가 됩니다. 계수를 그대로 적으면 문항이 요구한 값과 달라집니다.
문제 4. 유의수준 0.05에서 p값이 0.21로 나왔습니다. 올바른 결론 표현은?
기각하지 못했다는 것은 차이가 없다는 증명이 아니라 차이를 확인할 근거가 부족하다는 뜻입니다. 표본이 작아 검정력이 낮을 때도 같은 결과가 나오므로 증명이라는 표현은 쓸 수 없습니다.

이전: 2강 작업형 제2유형 예측 모형 · 서가 처음으로: 빅데이터분석기사

모던지 · 궁금하면 모던지 GitHub · 2026-09-10