Kapan harus mengakhiri tes Bayesian A / B?

10

Saya mencoba untuk melakukan pengujian A / B dengan cara Bayesian, seperti dalam Probabilistic Programming for Hackers dan Bayesian A / B tes . Kedua artikel berasumsi bahwa pembuat keputusan memutuskan varian mana yang lebih baik hanya berdasarkan probabilitas beberapa kriteria, misalnya , oleh karena itu, lebih baik. Probabilitas ini tidak memberikan informasi apa pun tentang apakah ada jumlah data yang cukup untuk menarik kesimpulan darinya. Jadi, tidak jelas bagi saya, kapan harus menghentikan tes.AP(pA>pB)=0.97A

Misalkan ada dua RVs biner, dan , dan saya ingin memperkirakan berapa besar kemungkinan , dan berdasarkan pengamatan dari dan . Selain itu, anggap saja dan secara beta.B p A > p B p A - p BABpA>pBABpApBpApBpA>5%ABpApB

Karena saya dapat menemukan parameter untuk dan , saya dapat mengambil sampel posisi, dan memperkirakan . Contoh dalam python:p Aα,βp BpA|dataP ( p A > p B | data )pB|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'])

Saya bisa mendapatkan, misalnya, . Sekarang saya ingin memiliki sesuatu seperti .P ( p A > p B | data ) = 0,95 ± 0,03P(pA>pB)=0.95P(pA>pB | data)=0.95±0.03

Saya telah meneliti tentang interval yang kredibel dan faktor Bayes, tetapi tidak dapat memahami bagaimana menghitungnya untuk kasus ini jika mereka berlaku sama sekali. Bagaimana saya bisa menghitung statistik tambahan ini sehingga saya memiliki kriteria terminasi yang baik?

Bogdan Kulynych
sumber
1
Artikel bagus tentang ini, periksa lampiran untuk contoh dengan perhitungan ... support.google.com/analytics/answer/2844870?hl=id
Fabio Beltramini

Jawaban:

10

Saya senang Anda menyebutkan contoh ini, karena satu proyek yang sedang saya kerjakan adalah menulis seluruh bab tentang pengujian A / B Bayesian.

Kami tertarik pada dua kuantitas: dan beberapa ukuran "kenaikan". Saya akan membahas terlebih dahulu.P ( p A > p BP(pA>pB|data)P(pA>pB|data)

Tidak ada batasan kesalahan pada , ini adalah jumlah yang benar. Ini mirip dengan mengatakan "Apa artinya posterior?", Hanya ada 1 rata-rata, dan kita dapat menghitungnya dengan mengambil rata-rata semua sampel (saya mengabaikan kesalahan Monte Carlo, karena mereka dapat dikurangi untuk tidak penting dengan sampling lebih lanjut) Saya pikir Anda mencampur jumlah yang tidak diketahui, di mana kita dapat mengatakan sesuatu seperti "+ - 3%", dan jumlah yang dihitung di posterior.P(pA>pB|data)

P(pA>pB|data)=0.95

pA>pBpApBpApBpB>

pA>pBpApBpB

masukkan deskripsi gambar di sini

Semakin banyak data diperoleh, distribusi ini menyatu dengan peningkatan relatif yang sebenarnya, dapat dikatakan distribusi stabil. Di sinilah saya menyarankan untuk berpikir untuk menghentikan percobaan. Setelah distribusi ini tampaknya "tenang", dan kita dapat merasa yakin tentang peningkatan tersebut, lalu hentikan percobaan.

Cam.Davidson.Pilon
sumber
pApBpA
hey @ Cam.Davidson.Pilon, terima kasih atas balasan Anda. Saya masih bingung dalam memberikan probabilitas seperti: "Kemungkinannya adalah A adalah 10% lebih baik daripada B adalah X%" Saya membuat 2 distribusi; satu adalah 10% lebih baik daripada yang lain, dan menggunakan nilai N besar, oleh karena itu diff (A / B-1), memiliki distribusi seperti normal dengan rata-rata 10%. Oleh karena itu (diff> .10) .mean () mengembalikan ~ 50%, tetapi bukankah seharusnya 100%?
CanCeylan
@CanCeylan Anda punya kode untuk dibagikan? Saya tidak yakin bagaimana Anda membuat distribusi ...
Cam.Davidson.Pilon
0

Saya telah bereksperimen dengan cara-cara untuk menghentikan tes Bayesian A / B dan Anda benar - tidak ada banyak cara yang jelas dari googling. Metode yang paling saya sukai adalah metode berbasis presisi, berdasarkan ini: http://doingbayesiandataanalysis.blogspot.com/2013/11/optional-stopping-in-data-collection-p.html . Namun, saya belum menemukan banyak literatur matematika di sekitar ini, jadi sekarang ini hanya heuristik yang bagus.

P(A>B|data)

ilanman
sumber
0

Tampaknya ada dua pendekatan utama untuk pengambilan keputusan dalam pengujian Bayesian A / B. Yang pertama didasarkan pada makalah oleh John Kruschke dari Universitas Indiana (K. Kruschke, Bayesian Estimation Supersedes the Test, Jurnal Psikologi Eksperimental: Umum, 142, 573 (2013)). Aturan keputusan yang digunakan dalam makalah ini didasarkan pada konsep Region Of Practical Equivalence (ROPE).

Kemungkinan lain adalah menggunakan konsep Kerugian yang Diharapkan. Ini telah diusulkan oleh Chris Stucchio (C. Stucchio, Bayesian A / B Testing di VWO). Ini adalah pendekatan lain yang akan saya pertimbangkan.

(pApB)/pA

Anda dapat menemukan lebih banyak di posting blog ini: Bayesian A / B Testing: panduan langkah demi langkah . Ini juga mencakup beberapa cuplikan kode Python yang sebagian besar didasarkan pada proyek Python yang dihosting di Github .

cbellei
sumber