Machine Learning/공부 기록

A/B 테스트에서의 양측검정 vs 단측검정

W_log 2023. 10. 12. 17:04

이 글은 "One-tailed vs Two-tailed Tests of Significance in A/B Testing"(링크)에 대해서 번역한 글입니다. 쓰게 된 배경은 저조차도 실무에서 A/B 테스트를 하는 과정에서 당연히 양측 검정을 해왔는데 단측검정이 실제 A/B 테스트에서 더 효과적일 수 있다는 점을 정리한 글이어서 혹시나 저와 같은 생각을 가지고 계신 분들을 위해 정리해본 글입니다.

 

심지어 서론에서 글을 쓰신 분은 너무나 답이 단측검정으로 자명해서 이 의문에 대해서 대수롭게 여기지 않았다는 점에서 너무 관행처럼 일했던 내 자신을 반성한다... 다행히도 Optimizely, VWO, 어도비 타겟 등 실제로 A/B 테스팅 툴을 제공하는 밴더사조차도 대부분 양측검정을 default로 제공하고 있다고 한다.

 

물론, 마지막에 약간의 반론 아닌 반론을 적어두었는데 이 글을 읽고도 나의 결론은 결국 둘다 고려해야한다이다. 그 이유는 아래에서 살펴보시면 좋을 것 같다.(이것도 의견일 뿐이긴 하다.)


단측검정에 대한 잘못된 의견들

 

다른 아티클에서는 흔히 양측검정과 단측검정을 아래와 같이 정리하고 있다.

 

이러한 잘못된 개념은 실제 최적화/온라인 테스팅 커뮤니티에만 국한된 것이 아니라 몇몇 논문을 비롯한 과학계에서도 퍼져있는 것을 보았다.

 

일부 논문에서는 마치 단측 검정이 특별한 케이스이고 적절한 이유에 한해서만 써야되는 것처럼 왜 양측 검정대신 단측검정을 사용하게 되었는지 명확하게 증명하려고 하는 케이스도 있었다.

 

어디서 이러한 잘못된 개념들이 생겨난 것일까?

첫번째로 모든 통계학 책,블로그,논의에서 나오는 잘못된 advice에서 기원하는 것으로 보인다.

 

A two-tailed test is appropriate if the estimated value may be more than or less than the reference value, for example, whether a test taker may score above or below the historical average. A one-tailed test is appropriate if the estimated value may depart from the reference value in only one direction, for example, whether a machine produces more than one-percent defective products.”

 

사전적 의미이기 때문에 명확한 구분처럼 보이는데 이러한 표현은 약간의 오해를 불러일으킬 수 있어서, 이를 좀 더 명확하게 수정해보면 아래와 같다.

 

A one-tailed hypothesis, or directional hypothesis, predicts the actual DIRECTION in which the findings will go. It is more precise, and usually used when other research has been carried out previously, giving us a good idea of which way the results will go e.g. we predict more or less, an increase or decrease, higher or lower.

A two-tailed hypothesis, or non-directional hypothesis, predicts an OPEN outcome thus the results can go in 2 directions. It is left very general and is usually used when no other research has been done before thus we do not know what will happen e.g. we predict a difference, an effect or a change but we do not know in what direction.”

 

비교해보면 둘다 고려해서 two-tail이 좋은 것이 아니라, two-tailed 검정은 사실 선행된 연구결과가 없을 때, 그 방향을 예측하기 어려울 때 검증하는 것이고 one-tailed 검정은 이미 전의 결과가 존재하고 우리가 이를 올바른 방향으로 개선(매출이면 증가, 에러면 감소)하는 목적을 가지고 있는지 판단하기에 적합하다라고 볼 수 있다.

 

 

두번째는, 동일한 데이터라고 하더라도 신뢰구간에 있어서 단측 검정이 p-value가 더 낮게 나오는 문제이다.

실제로 10000명의 표본을 대상으로 전환율이 20%, 21%일 때 단측검정은 96.01%(p-value가 0.039)의 significance가 나온 반면 양측검정은 92.2%(p-value가 0.078)로 나오기에 우리는 단측검정이 덜 stringest test라고 평가한다는 것이다. 즉 단측 검정이 더 에러가 발생할 가능성이 높은 테스트라고 보는 것이다.

 

과연 이것이 맞았을까? 틀렸다.

 

두 가지 유형의 테스트를 이해하려면 유의성 테스트의 사용에 대해 다시 한 번 살펴보는 것이 도움이 될 것이다. 유의도 테스트는 의사 결정 과정에서 사용되며, 사실은 테스트 이후가 아니라 테스트 사전에 테스트할 항목과 증거 임계값을 결정합니다. 이것이 소위 유의성 임계값 또는 신뢰도 임계값입니다.

 

앞서 우리는 95%(0.05)를 기준으로 사용했지만, 이 수치에 특별한 의미는 없으며 특정 위험 조정 비용과 편익에 따라 이보다 훨씬 높거나 낮은 값을 사용할 수 있습니다. 사실은 더 중요한 것은 노이즈를 실제 효과로 착각하거나(유형 I 오류), 분산이 있음에도 실제 효과가 없는 것으로 착각하는 오류(유형 II 오류)를 범하는 것입니다.

 

즉 A와 B가 다른지에 대해서 제대로 판단하는지가 중요한 것이지 significance가 중요한 것이 아니다.

 

이해관계자(스타트업에서는 제품팀)들을 확신시켜서 다음 액션으로 넘어가도록 하려면 결국 어떤 값(수치)을 기준으로 판단해야합니다. 만일 우리가 쇼핑 카트를 변형했다면 어떤 임계치를 넘어갔을 때 변형된 카트 형태로 배포를 할것이고 그렇지 않았을 때는 이미 잘 정착되고 만족스러운 결과를 깨지 않기 위해 아무것도 하지 않을 것이다.

 

즉 이 때 우리가 기각해야할 null 가설은 현재인 경우가 대부분이고 우리가 기각하는 가설의 결과는 변형된 쇼핑카트로의 배포이다.

 

정리해보면 양측 가설은 결국 통계적으로 유의미한 차이가 발견될 경우 동일한 방식으로 행동(여기서는 배포)을 해야하는데 실제로 A/B 테스팅 환경에서는 그렇지 않다. 

 

 

이를 도식화해봤는데, 결론적으로 가설 검정에 따라 기각되었다고 하더라도 그 세부 결과에 따라서 행동이 달라지는게 이상하다는 것이 블로그에서 얘기하는 요점이다.

 

또한, 1종 오류, 2종 오류 역시도 significance에 따라서 양측 검정에서도 충분히 날 수 있다.

 

 

 

양측 검정과 단측 검정의 실제 차이

가장 큰 차이는 실험을 진행하는 실험자의 의도이다. 우리가 실험 결과가 negative, positive이냐에 따라서 결과가 달라진다면 양측 검정은 사실 소용이 없다. 하지만 단순히 같지 않음을 보이거나 같은지를 확인하려면 양측 검정을 사용하는 것이 적합하다는 것이다.

 

왜, 같은 데이터 내에서 단측 검정은 양측검정보다 낮은 신뢰수준을 보이는 것일까? 단측 검정에서는 95%의 신뢰수준을 보이는 결과가 양측으로 가면 90%가 되는걸까?

 

간단하게 말하면 서로 다른 질문이기 때문에 답이 다른 건 당연하며 하나의 질문이 다른 질문보다 더 구체적이기 때문이라고 볼 수 있다.

단측 검정은 관심있는 범위를 제한시키기에 통계적으로는 다른 추론적 의미를 가지게 된다. 

 

결과가 어느 방향이든 동일하게 행동할 것이라고 선언하는 것은 우리가 기각해야하는 값의 범위가 늘어나기에 오류가 발생할 가능성이 높기에 유의도가 낮아진다.

 

양측검정의 경우 일종의 서로다른 방향을 가진 단측검정 2개를 대칭적으로 사용하기 때문에 3종 오류를 발생할 가능성 또한 발생시킬 수 있다.

 

3종 오류란 어떤 문제가 발생했을 경우 그 원인을 잘못 진담함으로써 엉뚱한 해결책을 처방하여 기대하지 않은 효과를 가져오는 것으로 병원 진단의 경우 하나의 증상에 대해서 다양한 원인을 분석하기 때문에 발생할 수 있다.  양측검정 또한 서로 다른 방향의 원인을 찾기에 3종 오류가 발생할 수 있다.

 

정리해보면 서로 다른 질문에 대해서 동일한 기준으로 비교하는 것에는 어폐가 있으며 단측 검정으로만 답할 수 있는 문제들에 대해서 너무 자주 양측 검정이 사용되는 것에 대해 유의해야한다.

 

결론

양측 검정은 단측검정보다 가정이 적은 것이 아닙니다. 양면 테스트는 일방 테스트보다 더 많은 시나리오를 고려하는 것도 아닙니다. 양면 테스트는 단측 검정 더 정확하고 신뢰할 수 있는 결과를 도출하지 못하며, 오히려 유형 III 오류로 인한 오해에 더 개방적이기 때문에 잘못된 결론을 도출할 가능성이 더 높을 수 있다.

 

계획 단계에서는 가설이 명확하게 설정되어 있고 특정 증거 임계값이 충족될 경우 취할 조치에 대해 합의된 것이 있다면 양면 테스트를 계획할 이유가 전혀 없다고 생각합니다. 효과의 방향이 명확하게 명시되어 있기 때문에 일방적인 가설을 사용하는 것이 더 명확하다고 생각한다.

 

그래도 세 가지 가능한 결과(양의 방향으로 유의한 차이, 유의하지 않음, 음의방향으로 유의한 차이)에 따라 세 가지 가능한 조치를 고려하고 싶다면 두 가지 단측가설을 명시적으로 정의한 다음, 단측검정을 기반으로 테스트의 검정력(필요한 표본 크기 계산)을 계산하는 것이 낫다.

95% 양측 유의도로 주어진 효과를 안정적으로 감지하려면 95% 일측 유의도로 동일한 효과를 감지할 때보다 20~60% 더 많은 표본 크기가 필요합니다. 두 경우 모두 기준선은 동일합니다. 20%는 필요한 유의도가 90%대인 경우이고, 60은 80~90% 범위인 경우이며, 유의도 임계값의 낮은 범위에서는 이보다 더 높습니다. 질문하지도 않았고 답도 차이가 없는 질문에 답하기 위해 20~60% 느린 테스트를 하는 이유는 무엇일까요?

 

 

 

개인적인 생각 추가

 

기본적으로 스타트업에서는 팀에서 목표로 하는 중요한 지표가 있고, 그 지표를 올리기 위해(비용 줄이기가 목표라면 내리기 위해) 다양한 가설을 세우고 개발 -> A/B 테스트의 이터레이션을 도는 작업을 거친다.

 

하지만 극 초기 스타트업의 경우에는 린스타트업 방법론을 사용하는데 이 방법론의 핵심은 빠른 실패를 통한 누적된 학습을 가져가는 것이다. 즉 위에서 얘기했듯이 어떠한 행동의 목적 자체가 학습이라는 점이다. 

 

그렇게 되면 사실 앞서 이 블로그를 쓰신 분이 단측검정을 해야한다고 가정한 전제가 무너지게 된다. 어떤 지표가 당연히 올라갈 것이라고 가정해서 세운 가설이 아닌 목표가 어떤 것이 오를지 모르니 배포해서 유저의 반응을 통해서 유저에 대해서 학습하자가 되는 것이기 때문이다.

 

또한 실무에서 A/B 테스트를 돌려보면 실제로 개선한 아이디어가 오히려 결과가 낮게 나오는 경우가 있다. 그 원인을 분석하는 과정에서 해당 제품팀은 유저에 대해 알게 되는 경우도 발생할 수 있다.

 

따라서 내가 생각하는 가장 적합한 방법은 가설이 명확하게 특정 지표를 올리는 것이 목적일 경우, 단순히 단측 검정으로 유의미한 결과 여부만 판단하고 끝내는 것이 아니라 유의미한 결과가 안나왔다면 반대방향으로 단측 검정을 추가로 수행하는 것이 좋고, 정말로 방향을 모를 경우에는 양측 검정을 하는 방식이다.

 

 

References

0. 이 블로그 글의 출처 : https://blog.analytics-toolkit.com/2017/one-tailed-two-tailed-tests-significance-ab-testing/#authorStart

1. Hurlbert, S.H., Lombardi, C.M. (2009) “Misprescription and misuse of one-tailed tests”, Austral Ecology 34:447-468
2. Hyun-Chul Cho Shuzo Abe (2013) “Is two-tailed testing for directional research hypotheses tests legitimate?”, Journal of Business Research 66:1261-1266
3. Ruxton, G.D., Neuhäuser, M. (2010) “When should we use one-tailed hypothesis testing?”, Methods in Ecology and Evolution 1:114–117