logo

대응 표본

대응표본

  • 대응표본(paired samples): 두 집단의 자료를 쌍으로 묶을 수 있을 때 평균 차이가 유의한지 검정하는 방법
  • 동일한 개체를 전후로 측정하는 경우
    • 장비 개선 전후
    • 치료 전후 환자의 증상 개선 정도
    • 교육 프로그램 전후 학생의 시험 점수
  • 쌍으로 관찰된 경우
    • 같은 차량의 좌우 두 바퀴
    • 남편과 아내의 비교
    • 쌍둥이 형제의 비교
    • 같은 날짜의 두 지역 온도 차이
  • 두 집단의 자료를 쌍으로 묶어야 하므로, 독립표본과 달리 두 집단의 자료 개수가 같아야 함

대응표본 t-검정의 절차

  • 각 쌍의 차이 를 계산
  • 귀무가설(): 모든 쌍의 차이의 평균이 0이다.
  • 차이의 평균과 표준편차를 계산
  • 통계량을 계산해 t-분포에서 p-value를 계산
    • 자유도(df):
  • p-value가 유의수준(보통 0.05)보다 작으면 귀무가설 기각
    • 으로 판단

대응표본 t-검정 실습

  • 각 설비에서 개선 전후 불량률(%) 측정 데이터 사용
df_paired.to_excel("machine_defect_before_after.xlsx")
  • 전후 차이(diff)를 만들고 기술통계 확인
df_paired["diff"] = df_paired["after"] - df_paired["before"]

df_paired[["before", "after", "diff"]].agg(["mean", "std"])
  • pingouinttest에서 paired=True를 지정해 대응표본 t-검정 수행
pg.ttest(df_paired["before"], df_paired["after"], paired=True)

독립표본 t-검정과 대응표본 t-검정의 차이

  • 독립표본 t-검정: 평균의 차이를 비교
  • 대응표본 t-검정: 차이의 평균을 비교
  • 평균의 차이와 차이의 평균 자체는 같음
  • 하지만 표준편차가 달라져 신뢰구간이 달라짐
  • 예: [1, 2, 3] vs. [2, 3, 4]
    • 독립표본일 경우: 평균의 차이 1, 표준편차 1
    • 대응표본일 경우: 차이 [1, 1, 1]의 평균 1, 표준편차 0

독립표본과 대응표본의 예시

  • 예시 데이터 생성
import numpy as np

a = np.array([1, 2, 3, 4, 5])
b = np.array([3, 3, 4, 5, 6])
  • 독립표본 t-검정은 두 배열을 서로 독립적인 표본으로 보고 비교
pg.ttest(a, b)
  • 독립표본일 경우 전체 값의 표준편차를 기준으로 변동성을 봄
np.std(np.concatenate([a, b]), ddof=1)
  • 대응표본 t-검정은 같은 위치에 있는 값들의 차이를 기준으로 검정
pg.ttest(a, b, paired=True)
  • 대응표본일 경우 쌍별 차이의 표준편차를 봄
np.std(b - a)
  • b = [2, 3, 4, 5, 6]이면 모든 차이가 1이 되어 표준편차가 0
  • 차이의 변동이 없으면 대응표본 t-검정에서 에러가 발생할 수 있음

전후 변화 시각화

  • 같은 설비의 전후 값을 선으로 연결
  • 대부분의 선이 아래로 내려가면 개선 후 불량률이 감소하는 경향으로 해석
import seaborn as sns
import matplotlib.pyplot as plt

df_long = df_paired.melt(
    id_vars="machine",
    value_vars=["before", "after"],
    var_name="timing",
    value_name="defect_rate",
)

sns.pointplot(data=df_long, x="timing", y="defect_rate", hue="machine")

paired-samples-slide130-image01

Previous
계획 비교