책 <A/B 테스트(론 코하비.다이앤 탕.야 쉬 지음)>의 18장을 요약정리한 내용입니다.
주목해야 하는 이유
18장에서는 p값의 신뢰구간 계산에 가장 중요한 요소인 분산에 대해 설명한다.
분산은 실험 분석의 핵심으로, 주요 통계적 개념 (통계적 유의성, P값, 검정력 및 신뢰 구간)은 분산과 관련이 있다.
따라서 분산을 정확하게 추정하는 것뿐만 아니라 통계적 가설 검정의 민감도를 얻기 위해 분산을 줄이는 방법을 이해하는 것은 매우 중요하다.
우리는 주로 두 가지 주제에 중점을 두고 학습합니다. 여기서 두 가지 주제란 1) 분산 추정에서의 일반적인 함정(및 해결책)과 2) 민감도를 향상시키기 위해 분산을 줄이는 기법입니다.
i =1, … , n 개의 독립적으로 동일하게 분포된 i.d.d. 표본을 사용해서 지표의 표본 평균 분산을 계산하기 위한 일반적인 절차를 살펴보겠습니다. 대부분의 경우에서는 i는 사용자이지만, 세션이나 페이지, 날짜 등이 될 수도 있습니다.
일반적인 함정
분산을 잘못 추정하면 p값과 신뢰구간이 잘못돼 가설 검정의 결론에 오류가 발생한다.
분산을 실제보다 크게 추정하면 거짓 음성으로, 분산을 실제보다 과소추정하면 거짓 양성으로 이어진다.
여기에 분산 추정과 관련해 몇 가지 일반적인 함정이 있다.
델타 vs 델타 %
실험 결과를 보고할 때 절대적 차이 대신 상대적 차이를 사용하는 것이 매우 일반적이다. 의사 결정자들은 일반적으로 1% 세션 증가의 의미를 이해한다. 퍼센트 델타라고 하는 상대적인 차이는 아래와 같이 정의합니다.
△%의 신뢰구간을 올바르게 추정하려면 분산을 추정해야 한다. 델타의 분산은 각 요소의 분산의 합이다.
△%의 분산을 추정하기 위해 하는 위와 같은 일반적인 실수가 있습니다. 이는 var(△)을 yc제곱으로 나누는 것,
즉 var(△)/yc제곱 으로 추정하는 것이다. yc제곱 자체가 임의 변수이기 때문에 이렇게 해서는 안된다.
분산을 올바르게 추정하는 방법은 아래와 같다.
이제부터는 비율의 분산을 추정하는 방법에 대해 논의해 보겠다.
비율 지표, 분석 단위가 실험 단위와 다른 경우
많은 중요한 지표들은 두 지표의 비율에서 비롯된다.
클릭률을 예로 들어보겠다. 클릭률은 일반적으로 총 클릭 수 대 중 페이지 뷰 수의 비율로 정의된다.
사용자 당 클릭 수 또는 사용자 당 수익과 같은 지표와 달리 두 지표의 비율을 사용하면 분석 단위는 더 이상 사용자가 아닌 페이지 뷰 또는 클릭이 된다. 실험이 사용자 단위로 랜덤화되면 분산 추정에 어려움이 생길 수 있다.
우리는 분산공식이 매우 간단하여 뒤에 숨겨진 중요한 가정을 잊기 쉽습니다. 주요한 가정이란, 표본 (Y1, …, Yn)이 i.d.d. (독립적으로 동일하게 분포됨) 거나 적어도 서로 상관관계가 없어야 한다는 것이다. 분석 단위가 실험 랜덤화 단위와 동일한 경우 이 가정이 충족되지만, 그렇지 않은 경우에는 일반적으로 위반된다.
사용자 수준 지표의 경우 각 Yi는 사용자의 측정값을 나타낸다. 이 경우 분석 단위는 실험 단위와 일치하므로 i.d.d.가정이 유효하다. 그러나 페이지 수준 지표의 경우 각 Yi는 페이지에 대한 측정 값을 나타내며 실험은 사용자에 의해 랜덤화되므로 Y1, Y2와 Y3은 모두 동일한 사용자의 것일 수 있으며 서로 상관관계가 있다.
이러한 상관관계로 인해, 위의 간단한 공식으로 계산된 분산은 편향되게 된다.
분산을 정확하게 추정하기 위해 비율 지표를 "사용자 수준 지표의 평균"의 비율로 작성할 수 있습니다.
X와 Y는 극한에서 이변량 결합 정규분포로 수렴하므로, 두 평균의 비율인 M도 정규분포이다.
따라서 델타방법으로 분산을 (Deng er al, 2017)과 같이 추정할 수 있다.
△%의 경우 Y1와 Yc는 독립적이므로 아래를 참고하라.
실험군과 대조군 평균이 크게 다를 경우 이 값은 잘못돈 값인 var(△)/yc제곱 와 매우 다르다.
두 개의 사용자 수준 지표의 비율로 기록할 수 없는 지표의 경우 대체하는 샘플링 방식으로 랜덤화를 하며,
이 작업을 반복해서 분산을 추정하는 부트스트랩 방법을 사용해야 한다. 부트스트랩은 계산 비용이 많이 들지만,
강력한 기술이며 광범위하게 적용 가능하고 델타 방법을 보완한다.
이상치
이상치는 다양한 형태로 존재하는데, 가장 일반적인 것은 봇이나 스팸 행위로 인해 많은 페이지 뷰를 클릭하거나 수행하는 것이다. 이상치는 평균과 분산 모두에 큰 영향을 미친다. 아래 시뮬레이션에서 보여지듯, 통계 테스트에서 분산에 대한 영향이 평균에 대한 영향보다 더 큰 경향이 있다.
시뮬레이션에서 실험군은 대조군에 대한 양의 참 델타를 갖는다. 우리는 실험 집단에 하나의 양의 이상치를 추가합니다.
이상치의 크기는 델타 크기의 배수입니다. 승수(상대 크기)를 변경하면 이상치가 실험군의 평균을 증가시키는 반면 분산(또는 표준편차)이 더 많이 증가함을 알 수 있다. 결과적으로 그림에서 이상치의 상대적 크기가 증가함에 따라 t-통계량이 감소하고 결과적으로 검정이 더 이상 통계적으로 유의하지 않음을 알 수 있다.
분산을 추정할 때 이상치를 제거하는 것이 중요하다. 실용적이고 효과적인 방법 하나는 합리적인 임계값 이하의 값으로 관측값을 제한하는 것이다.
민감도 향상
종합 대조 실험을 실행할 때 실험 효과가 있는 경우라면 우리는 그것을 감지하고자 한다.
이 감지 능력을 일반적으로 검정력 또는 민감도라고 부른다. 민감도를 향상시키는 한 가지 방법은 분산을 줄이는 것이다.
분산을 줄이는 방법 중 몇 가지는 아래와 같다.
- 유사한 정보를 포함하면서도 더 적은 분산을 가진 평가 지표를 만들어라. 예를 들어 구매 금액(실제 가치)은 구매여부보다 분산이 더 크다. kohavi et al은 구매 여부 지출 대신 전환율을 사용해 필요한 표본 크기를 3.3배로 줄인 구체적인 예를 제시한다.
- 값 제한, 이진화 또는 로그 변환을 통해 지표를 변환하라. 예를 들어 넷플릭스는 평균 스트리밍 시간을 사용하는 대신 이진 지표를 사용해서 사용자가 지정된 시간 동안 x시간 이상 스트리밍 했는지 여부를 나타내는 지표를 사용한다. 두껍고 긴 꼬리를 가지는 지표며 해석력이 중요하지 않을 경우 로그 변환을 고려하라. 그러나 수익과 같은 일부 지표는 로그 변환 버전이 비즈니스를 최적화하기에 좋은 목표가 아닐 수 있다.
- 트리거 분석을 사용하라. 이 방법은 변수의 영향을 받지 않는 사람들에 의해 발생하는 노이즈를 제거하는 좋은 방법이다.
- 계층화, 통제변수 또는 CUPED를 사용하라. 계층화는 샘플링 영역을 계층으로 나눈 뒤, 각 층에서 개별적으로 샘플을 수집한 다음 추정치에 대해 개별 층의 결과를 결합하는 것으로, 계층화 없이 추정하는 것보다 일반적으로 분산이 작다. 계층화는 샘플링 단계(런타임)에서 흔히 수행되지만 일반적으로 대규모로 구현하는 데는 비용이 많이 든다. 따라서 대부분의 응용 프로그램은 분석 단계 동안 계층화를 소급해 적용하는 사후 계층화를 사용한다. 사후 계층화는 표본 크기가 큰 경우 계층화된 샘플링처럼 작동하지만 표본 크기가 작고 표본 간 변동성이 큰 경우 분산이 줄지 않을 수 있다. CUPED는 온라인 실험에서 사전 실험 데이터를 통제 변수로 활용하는 방법이다. 통제 변수는 계층화와 유사한 아이디어를 기반으로 하지만 공변량을 층을 구성하는 데 쓰는 것이 아닌 회귀 변수로 사용한다.
- 더 세분화된 단위로 랜덤화하라.
- 쌍으로 묶인 실험을 설계하라. 동일한 사용자에게 실험군과 대조군의 디자인을 모두 제공할 수 있다면 사용자 간 변동 효과를 제거하고 분산을 더 작게 만들 수 있다.
- 대조집단을 통합하라. (=나눠져 있는 집단을 한데 모아 관리하라) 트래픽을 분할하는 실험이 여러 개이며 각각에 고유한 대조군이 있는 경우 별도의 대조군을 한 데 모아 더 큰 공유 대조 집단을 구성하는 것이 좋다. 각 실험군을 공유 대조군과 비교하면 관련된 모든 실험의 검정력이 증가한다.
기타 통계량들의 분산
이 책의 대부분의 논의에서 우리는 관심 계량이 평균이라고 가정한다. 분위수와 같은 다른 통계량에 관심이 있다면 어떻게 해야 할까? PLT와 같은 시간 기반 지표의 경우 사이트 기반 지표의 경우 사이트 속도 성능을 측정하기 위해 평균이 아닌 분위수를 사용하는 것이 일반적이다. 분포의 꼬리 확률을 찾아 통계 테스트를 수행하기 위해 항상 부트스트랩을 사용할 수 있지만 데이터 크기가 커짐에 따라 계산 비용이 많이 든다. 반면에 통계량이 점근적으로 정규 분포를 따르는 경우 적은 계산 비용으로 분산을 추정할 수 있다.ㄴ ㅁㅇ
퀴즈 1. 빈칸을 채워주세요.
두 개의 사용자 수준 지표의 비율로 기록할 수 없는 지표의 결우 대체하는 샘플링 방식으로 랜덤화를 하며,
이 작업을 반복해서 분산을 추정하는 (부트스트랩 방법)을 사용해야 한다. (부트스트랩)은 계산 비용이 많이 들지만,
강력한 기술이며 광범위하게 적용 가능하고 (델타 방법)을 보완한다.
퀴즈 2. 민감도 향상에 대한 설명 중 틀린 것을 모두 고르시오.
① 나눠져 있는 집단을 한 데 모아 관리해야 한다.
② 사후 계층화는 표본 크기가 큰 경우 계층화된 샘플링처럼 작동하지만 표본 크기가 크고 표본 간 변동성이 적은 경우 분산이 줄지 않을 수 있다.
③ 변수의 영향을 받지 않는 사람들에 의해 발생하는 노이즈를 제거하는 좋은 방법은 통제 변수를 이용하는 것이다.
④ 통제 변수는 공변량을 층을 구성하는 데 쓰는 것이 아닌 회귀 변수로 사용한다.
⑤ 민감도를 향상시키는 한 가지 방법은 분산을 높이는 것이다.
답: 드래그하세요-> ②,③,⑤
'Data > AB Test' 카테고리의 다른 글
실험 간의 누출 및 간섭 (0) | 2023.09.25 |
---|---|
[A/B 테스트] 10. 보완 기법들 (0) | 2023.08.15 |
[A/B 테스트] 05. 속도의 중요성: 엔드-투-엔드 사례 연구 (1) | 2023.07.25 |
[A/B 테스트] 02. 실험의 실행과 분석 - 엔드 - 투 - 엔드 예제 (0) | 2023.07.04 |