250602

AnalytiCode·2025년 6월 2일

6월도 화이팅!


A/B test

👩‍🔬 1. A/B 테스트란 무엇인가?

두 이상의 그룹(대조군, 실험군, +@)을 비교하여 특정 변화(예: 새로운 기능, 디자인 등)가 비즈니스 목표에 미치는 영향을 측정하는 실험 방법

A/B 테스트의 핵심 요소

  1. 대조군(Control Group): 아무 변화도 주지 않은 그룹.
  2. 실험군(Treatment Group): 새로운 조건(예: 업데이트)을 적용한 그룹.
  3. 평가지표(Metrics): 실험 효과를 측정할 수 있는 기준.
    • 예: 전환율, 클릭률, 평균 구매 금액 등.

🎲 2. Randomization

실험군(Treatment Group)과 대조군(Control Group)을 실험에서 무작위로 배정하는 방법

두 그룹 간의 차이는 오직 어떠한 처치(Treatment)으로 인해 발생한 것이며, 다른 외부 요인의 영향을 배제할 수 있다.
랜덤화는 편향(Bias)을 제거하고, 두 그룹을 비교 가능하게 만들어줌

왜 랜덤화가 중요한가?

랜덤화는 상관관계(Association)를 인과관계(Causation)로 해석할 수 있게 해준다.

아래와 같은 문제를 방지:

  • 편향된 표본(Bias): 특정 그룹이 실험에 과잉 대표되거나 소외되는 경우
    • 예: 온라인 학습이 오직 자기 주도적인 학생들에게서만 긍정적인 결과를 보였다면, 이 결과는 온라인 학습의 실제 효과를 반영하지 못함.
  • 숨겨진 요인(Confounding Variables): 처치와 결과 모두에 영향을 미치는 외부 요인이 존재하는 경우
    • 예: 부유한 가정의 학생들이 전통적 학습보다 온라인 학습을 선호하고 동시에 성적도 더 높은 경우.

랜덤화를 통해, 대조군과 실험군이 잠재적으로 동일한 특성을 갖게 하여 이러한 문제를 최소화

예시: 온라인 학습 vs 대면 학습

  • 질문: 온라인 학습이 학생들의 시험 점수에 어떤 영향을 미칠까?
  • 잘못된 접근: 온라인 학습을 하는 학생과 대면 학습을 하는 학생들의 점수를 단순히 비교한다.
    • 이 경우, 학생들의 성향, 가정환경, 학습동기와 같은 숨겨진 요인이 영향을 줄 수 있다.
      Bias가 있을 확률 증가.
  • 랜덤화 접근:
    • 학생들을 무작위로 두 그룹(온라인, 대면)으로 나눔.
    • 이렇게 하면, 각 그룹의 학생들이 기본적으로 비슷한 특성을 가지며, 두 그룹의 차이는 오직 학습 방식(온라인 또는 대면)으로 인해 발생한 것으로 볼 수 있다.

랜덤화는 잠재적 결과(Potential Outcomes)를 Treatment와 독립적으로 만들어 줌.

랜덤화가 이루어진 실험에서는 다음이 성립:

E[Y0T=1]=E[Y0T=0]E[Y_0 | T = 1] = E[Y_0 | T = 0]
  • Y_0 : 통제 상태에서의 결과.
  • T : 실험 여부(0은 대조군, 1은 실험군)

실험군과 대조군의 평균성적은 똑같아야한다.(실험전)

  • 해석: 실험군이 대조군과 통계적으로 동일하므로, 그룹 간 차이는 오직 어떠한 처리 효과 때문입니다.

실험 전부터 차이가 있다? -> 편향이 있다. 랜덤화 다시 해야함.

랜덤화가 잘 작동한 사례: 온라인 학습의 효과

2020년 코로나 팬데믹 동안, 한 연구에서는 온라인 학습과 대면 학습이 학생들의 성적에 미치는 영향을 실험하기 위해 다음과 같은 랜덤화 설계 적용:

  1. 학생들을 세 그룹으로 랜덤 배정
    • 대면 학습 그룹 (Face-to-face)
    • 온라인 학습 그룹 (Online)
  2. 각 그룹의 학생들에게 동일한 학습 자료와 시험을 제공
  3. 학기 종료 후, 각 그룹의 시험 점수를 비교

결과:

  • 대면 학습 그룹의 평균 점수: 78.54점
  • 온라인 학습 그룹의 평균 점수: 73.63점
  • 온라인 수업의 효과: -4.91점

=> 온라인 수업은 학생들이 평균적으로 약 5점 낮은 성과를 내게 한다.

온라인 수업을 듣는 학생들이 대면 수업을 들을 여유가 없는 더 낮은 수준의 학생일 수 있다는 점이나, 각 그룹의 학생들이 수업 방식 외의 다른 요인에서 다를 수 있다는 점도 신경 쓰지 않아도 됨(랜덤화를 했으니까, 랜덤 실험의 설계 자체가 이러한 차이를 제거하기 위해 만들어졌기 때문에)

랜덤화 덕분에 두 그룹의 학생들이 기본적으로 비슷한 특성을 가졌으며, 점수 차이는 학습 방식의 효과로 설명할 수 있다.

TIP
실험에서 우리는 처리 효과를 추정하기 위해 평균의 차이를 계산.
하지만, 이 차이가 실제로 의미 있는지를 판단하려면 결과의 불확실성을 이해하는 것이 중요
=> 표준 오차(Standard Error)

📋 3. Standard Error

표준 오차(Standard Error)는 샘플 평균이 모집단 평균에서 얼마나 벗어날 수 있는지를 측정하는 값
쉽게 말해, 실험 결과가 얼마나 신뢰할 수 있는지 알려주는 지표

Moivre’s Equation

SE=σnSE = \frac{\sigma}{\sqrt{n}}
  • SE: 평균의 표준 오차
  • σ: 모집단의 표준편차
  • n: 샘플 크기

왜 표준 오차가 중요한가?

  1. 샘플 크기가 클수록 결과가 더 신뢰할 만하다:
    • 샘플이 작으면, 평균 값의 변동성이 커져서 결과가 극단적으로 나올 가능성이 높다.
    • 반대로, 샘플 크기가 크면 변동성이 줄어들고, 평균이 모집단 평균에 더 가까워진다.
  2. 샘플 간의 차이를 비교할 때 사용:
    • 예를 들어, 두 그룹(실험군과 대조군)의 평균 차이가 있다고 해도, 그 차이가 우연일 가능성을 판단해야 한다.
    • 표준 오차가 작으면 결과가 우연일 가능성이 낮고, 신뢰할 만한 결과로 볼 수 있다.

학교 성적 데이터와 표준 오차

랜덤화된 실험에서 온라인 학습 그룹과 대면 학습 그룹의 시험 점수를 비교한다고 가정
두 그룹의 평균 점수를 비교하려면 표본 크기표준 오차가 실험 결과에 어떤 영향을 미치는지 이해해야 함

표본 크기가 작은 경우

  • 온라인 학습 그룹에서 학생 5명의 시험 점수를 뽑았더니 평균 점수가 90점
  • 하지만 이 5명이 운 좋게 우수한 학생들로만 구성되어 있을 가능성
  • 이 경우, 샘플 크기가 작기 때문에 변동성이 크고, 평균 점수가 모집단(모든 온라인 학습 학생들)의 평균을 제대로 반영하지 못할 수 있다.
  • 따라서 표준 오차(SE)가 커지고, 결과의 신뢰도가 낮아짐

표본 크기가 큰 경우:

  • 이번에는 같은 온라인 학습 그룹에서 100명의 시험 점수를 샘플로
  • 이 표본에서도 평균 점수가 90점으로 동일하게 나왔더라도 더 다양한 학생들의 점수가 포함되었을 가능성이 높음
  • 즉 샘플 크기가 크면 평균 점수가 모집단 평균에 더 가까워지며, 표준 오차(SE)는 작아짐
  • 결과적으로 신뢰도가 높아짐

보통 모집단의 데이터를 알 수 없기 때문에 샘플 데이터를 활용해서 모집단의 SE를 추정해서 계산

σ^=1N1i=1N(xixˉ)2\hat{\sigma} = \sqrt{\frac{1}{N-1} \sum_{i=1}^N (x_i - \bar{x})^2}

Python 에서 pandas 의 .std() 함수로도 구현 가능

data = pd.read_csv("online_classroom.csv")
online = data.query("format_ol==1")["falsexam"]
face_to_face = data.query("format_ol==0 & format_blended==0")["falsexam"]

def se(y: pd.Series):
	return y.std() / np.sqrt(len(y))

print("대면 학습 그룹의 SE:", se(face_to_face))
print("온라인 학습 그룹의 SE:", se(online))
  • 대면 학습 그룹의 SE: 0.8724
  • 온라인 학습 그룹의 SE: 1.537

📊 4. Confidence Interval(신뢰구간)

신뢰 구간은 우리가 계산한 평균(또는 다른 추정치)에 대해 “이 추정치가 어느 범위 안에 있을 가능성이 높다”는 것을 나타냄.
일반적으로, 95% 신뢰 구간은 우리가 같은 실험을 여러 번 반복한다면, 그 중 95%의 경우 모집단 평균이 이 구간 안에 포함될 것임을 의미

왜 신뢰 구간이 중요한가?

  1. 불확실성을 정량화:
    • 표본이나 실험 데이터는 모집단의 일부에 불과하므로, 추정치에는 항상 불확실성이 존재하는데, 신뢰 구간은 이 불확실성을 수치로 표현함
  2. 결과의 신뢰성 판단:
    • 두 그룹의 신뢰 구간이 겹치지 않는다면, 두 그룹 간의 차이는 우연일 가능성이 낮음 (통계적으로 유의미)

중앙극한정리(Central Limit Theorem)

  • 모집단의 분포가 어떤 형태이든 관계없이, 동일한 크기의 표본을 여러 번 추출하여 각 표본의 평균을 계산하면, 이 표본 평균들의 분포는 점점 정규분포에 가까워집니다.
  • 정규 분포의 95%는 평균에서 약 1.96 표준편차 안에 포함됨

신뢰 구간 계산 방법

CI=xˉ±zSECI = \bar{x} \pm z \cdot SE
  • x̄: 샘플 평균
  • z : 신뢰 수준에 따른 임계값 (95% 신뢰 구간에서는 Z ≈ 1.96 )
  • SE : 표준 오차

예시: 온라인 학습 vs 대면 학습

실험 결과로, 다음과 같은 평균과 표준 오차가 계산되었다고 가정해봅니다.

대면학습 그룹

  • 평균 점수: 78.54점
  • SE: 0.8724
  • 95% 신뢰 구간:
    CI대면학습=78.54±0.87241.96=(76.83,80.25)CI_{대면학습} = 78.54 \pm 0.8724 \cdot 1.96 = (76.83, 80.25)

온라인 학습 그룹

  • 평균 점수: 73.63점
  • SE: 1.537
  • 95% 신뢰 구간:
    CI온라인학습=73.64±1.961.537=(70.63,76.65)CI_{온라인학습} = 73.64 \pm 1.96 \cdot 1.537 = (70.63, 76.65)

두 그룹의 신뢰 구간이 겹치지 않는다는 점에서,
대면 학습이 온라인 학습보다 시험 점수에 긍정적인 영향을 미친다는 것을 통계적으로 유의미하게 확인할 수 있다.

신뢰 구간의 실제 의미

  • 95% 신뢰 구간이 의미하는 것은, 우리가 같은 실험을 여러 번 반복한다면, 그 실험들 중 95%의 신뢰 구간이 모집단 평균을 포함할 것이라는 뜻
  • 특정 신뢰 구간 하나가 모집단 평균을 포함할 확률이 95%라는 뜻x
    특정 신뢰 구간은 포함하거나(100%) 포함하지 않거나(0%) 둘 중 하나

⚡ TL;DR

주제: A/B 테스트를 통해 인과 관계를 검증하며, 실험 설계와 통계적 신뢰(표준 오차, 신뢰 구간)의 개념 학습

핵심 내용

  1. A/B 테스트란?
    • 두 그룹(대조군 vs 실험군)을 비교하여 변화의 영향을 측정하는 실험
    • 랜덤화를 통해 두 그룹의 비교 가능성을 확보하고 외부 요인에 의한 편향을 최소화
  2. 표준 오차(Standard Error)
    • 실험 데이터의 신뢰도를 평가하는 지표
    • 샘플 크기가 클수록 표준 오차는 줄어들며, 평균 추정치의 정확성이 높아짐
  3. 신뢰 구간(Confidence Interval, CI)
    • 실험 결과의 불확실성을 정량화
    • 95% 신뢰 구간은 동일 실험 반복 시 모집단 평균이 해당 범위에 포함될 확률이 95%임을 의미
    • 예: 대면 학습의 CI는 (76.83, 80.25), 온라인 학습의 CI는 (70.63, 76.65). 두 CI가 겹치지 않아 대면 학습의 시험 점수가 유의미하게 높음을 확인함.

결론: 랜덤화와 통계적 신뢰 지표(SE, CI)를 활용해 실험 결과의 신뢰성을 평가하고 인과 관계를 명확히 할 수 있다.

0개의 댓글