베이지안 A / B 테스트를 언제 종료해야합니까?


10

해커베이지안 A / B 테스트에 대한 확률 적 프로그래밍 에서와 같이 베이지안 방식으로 A / B 테스트를 수행하려고합니다 . 두 기사 모두 의사 결정자가 어떤 기준의 확률에 기초하여 더 나은 변형을 결정한다고 가정합니다 ( 예 : ). 따라서 가 더 낫습니다. 이 확률은 결론을 도출하기에 충분한 양의 데이터가 있는지 여부에 대한 정보를 제공하지 않습니다. 따라서 테스트를 언제 중단해야하는지 명확하지 않습니다.(>)=0.97

이 두 바이너리의 RV, 가정합시다 와 , 나는 그것이 가능성을 추정하려는 , 그리고 의 관찰을 기반으로 와 . 또한, 및 후부는 베타-분포 된다고 가정하자 .>pApBpA>5%ABpApB

및 대한 매개 변수를 찾을 수 있으므로 , 를 샘플링하고 . 파이썬의 예 :α,βpA|datapB|dataP(pA>pB | data)

import numpy as np

samples = {'A': np.random.beta(alpha1, beta1, 1000),
           'B': np.random.beta(alpha2, beta2, 1000)}
p = np.mean(samples['A'] > samples['B'])

예를 들어 있습니다. 이제 과 같은 것을 원합니다 .P(pA>pB)=0.95P(pA>pB | data)=0.95±0.03

신뢰할 수있는 구간과 베이 즈 요인에 대해 조사했지만 적용 가능한 경우이 사례에 대한 계산 방법을 이해할 수 없습니다. 종료 기준이 양호하도록 이러한 추가 통계를 어떻게 계산할 수 있습니까?


1
이에 대한 좋은 기사는 부록을 확인하여 계산 예제를 확인하십시오 ... support.google.com/analytics/answer/2844870?hl=ko
Fabio Beltramini

답변:


10

내가 진행하고있는 한 프로젝트가 베이지안 A / B 테스트에 대한 전체 장을 작성하는 것이므로이 예제를 언급하게되어 기쁩니다.

우리는 두 가지 수량에 관심이 있습니다 : 및 "증가"의 측정 값. 나는 P ( p A > p B(>|) 먼저 수량.(>|)

P ( p A > p B) 에 오차 한계가 없습니다. , 그 실제 양이다. 이것은 "후부의 평균은 무엇입니까?"라고 말하는 것과 유사하며, 평균은 1 개 뿐이며 모든 표본의 평균을 취하여 계산할 수 있습니다 (몬테카를로 오류는 무시할 수 있으므로 무시합니다) 더 샘플링하여 무의미 함). 나는 당신이 "+ -3 %"와 같은 것을 말할 수있는 미지의 양과 뒤 계산 된 양을 섞고 있다고 생각합니다.(>|데이터)

내가 말하는 것은 는 확실합니다 : 관찰 된 데이터와 이전의 경우, 이것이 당신의 결론입니다.(>|데이터)=0.95

우리가 알고있는 것을 참고 빠르게 : 서로 다른 정도에 대한 관찰의 적당한 양을 필요로 P는P는 B를 . A가 B에 비해 증가한 것을 측정하는 것이 훨씬 어렵고 흥미 롭습니다 (그리고 종종 A / ​​B 테스트의 목표입니다. 전환 수가 얼마나 증가하고 있는지). 당신이 언급 한 P는 - P는 B를>5 %-당신은 이것을 얼마나 확신합니까?>

반면 유의 부울 값이고, 따라서 쉽게 측정 할 피의 - (P)의 B> 는 확실히 불리언이 아닙니다. 가능성의 분포입니다.

여기에 이미지 설명을 입력하십시오

점점 더 많은 데이터가 수집됨에 따라이 분포는 실제 상대 증가에 수렴하여 분포가 안정화된다고 말할 수 있습니다. 여기에서 실험 종료에 대해 생각하는 것이 좋습니다. 이 분포가 "진정한"것처럼 보이면 증가에 대해 확신을 갖고 실험을 종료 할 수 있습니다.


답장을 보내 주셔서 감사합니다! 새로운 장을 곧 만나기를 기대합니다. 지금은 의 표본 분산을 고려하고 있습니다

@ Cam.Davidson.Pilon 님, 답장을 보내 주셔서 감사합니다. 나는 다음과 같은 확률을주는 것에 여전히 혼란 스럽다. 하나는 다른 것보다 10 % 더 좋고 큰 N 값을 사용하므로 diff (A / B-1)는 평균 10 %의 정규 분포를 갖습니다. 따라서 (diff> .10) .mean ()은 ~ 50 %를 반환하지만 100 %가되어서는 안됩니까?
CanCeylan

@CanCeylan 공유 코드가 있습니까? 난 당신이 분포 ... 어떻게 만들 었는지 모르겠어요
Cam.Davidson.Pilon

0

나는 베이지안 A / B 테스트를 중단하는 방법을 실험 해 왔으며 당신이 옳습니다. 내가 가장 좋아하는 방법은 다음을 기반으로 한 정밀 기반 방법입니다. http://doingbayesiandataanalysis.blogspot.com/2013/11/optional-stopping-in-data-collection-p.html . 그러나 나는 이것에 관해 많은 수학적 문헌을 찾지 못 했으므로 지금은 좋은 휴리스틱입니다.

(>|)


0

베이지안 A / B 테스트에는 의사 결정을위한 두 가지 주요 접근 방식이있는 것 같습니다. 첫 번째는 Indiana University의 John Kruschke의 논문을 기반으로합니다 (K. Kruschke, Bayesian Estimation은 t Test, Journal of Experimental Psychology : General, 142, 573 (2013)). 이 백서에서 사용 된 의사 결정 규칙은 ROPE (Region of Practical Equivalence) 개념을 기반으로합니다.

또 다른 가능성은 예상 손실 개념을 사용하는 것입니다. Chris Stucchio (VWO의 Bayesian A / B Testing, C. Stucchio)가 제안했습니다. 내가 고려해야 할 또 다른 접근법입니다.

()/

이 블로그 게시물에서 자세한 내용을 확인할 수 있습니다 : Bayesian A / B Testing : 단계별 가이드 . 또한 대부분 Github에서 호스팅 되는 Python 프로젝트를 기반으로하는 일부 Python 코드 스 니펫도 포함 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.