Pengujian Bayesian AB

9

Saya menjalankan Tes AB pada halaman yang hanya menerima kunjungan 5k per bulan. Akan terlalu lama untuk mencapai tingkat lalu lintas yang diperlukan untuk mengukur perbedaan + -1% antara pengujian dan kontrol. Saya telah mendengar bahwa saya dapat menggunakan statistik Bayesian untuk memberi saya peluang bagus untuk menentukan apakah tesnya mengungguli. Bagaimana saya bisa menggunakan statistik Bayesian untuk menganalisis data saya saat ini?

        Visitors    Conversions
Control 1345         1165
Test A  961          298
Test B  1274         438
Bi-Gnomial
sumber
1
Anda tidak dapat menyiasati batasan ukuran sampel dengan sihir Bayesian. Kumpulkan data Anda.
Aksakal

Jawaban:

9

Saya sedang mengerjakan pertanyaan yang sama. Sekarang ada beberapa artikel bermanfaat yang tidak tersedia ketika Anda mengajukan pertanyaan ini.


"Bayesian A / B testing dengan teori dan kode" oleh Antti Rasinen - kesimpulan logis dari seri artikel yang belum selesai "Inact Bayesian Inference untuk pengujian A / B" oleh Evan Haas (diselamatkan sebagian di sini part1 dan part2 ).

Konjugat sebelum distribusi binomial adalah distribusi beta. Oleh karena itu, distribusi tingkat konversi untuk satu varian adalah distribusi beta. Anda dapat memecahkan numerik atau tepat. Penulis merujuk pada sebuah esai yang ditulis oleh Bayes sendiri, "Sebuah Esai menuju penyelesaian Masalah dalam Ajaran Peluang" .Pr(A>B)


"Pengujian A / B Proporsional" oleh Ian Clarke - Penulis menjelaskan bahwa distribusi beta adalah kunci untuk memahami bagaimana menerapkan solusi Bayesian untuk pengujian A / B. Dia juga membahas penggunaan Thompson Sampling untuk menentukan nilai sebelumnya untuk dan .αβ


"Bab 2: Lebih banyak tentang PyMC" dari buku "Metode Bayesian untuk Peretas" oleh Cam Davidson Pilon - Ini adalah buku iPython yang menjelaskan metode Bayesian dalam sejumlah aplikasi. Sekitar setengah jalan melalui Bab 2 (judul bagian adalah Contoh: Bayesian A / B testing ), penulis memberikan penjelasan rinci tentang bagaimana menghitung probabilitas bahwa A lebih baik daripada B (atau sebaliknya) menggunakan pymc library. Kode python lengkap diberikan, termasuk memplot hasilnya.


Sekarang juga ada sejumlah kalkulator signifikansi Bayesian secara online:

Lenwood
sumber
(+1) terima kasih banyak, memang sangat membantu
steffen
2
Bisakah Anda menambahkan ikhtisar informasi dalam artikel, sehingga orang dapat mengetahui apakah mereka ingin mengejarnya & jika tautannya mati? Dapatkah Anda memberikan kutipan lengkap jika tautannya mati?
gung - Reinstate Monica
8

Anda dapat melakukan Integrasi Monte-Carlo dari interval kredibel dari setiap grup yang diwakili oleh distribusi beta untuk menghitung probabilitas bahwa parameter benar yang tidak diketahui dari satu kelompok lebih baik daripada parameter yang tidak diketahui sebenarnya dari kelompok lain. Saya telah melakukan sesuatu yang serupa dalam pertanyaan ini. Bagaimana seorang frequentist menghitung peluang bahwa grup A mengalahkan grup B mengenai respons biner di mana uji coba = Pengunjung dan uji coba yang berhasil = konversi

TETAPI: Berhati-hatilah bahwa Bayes hanya akan memberi Anda kemungkinan subjektif tergantung pada data yang dikumpulkan sejauh ini, bukan "kebenaran" objektif. Ini berakar pada perbedaan filosofi antara sering (yang menggunakan tes statistik, p-nilai dll) dan Bayesia. Karenanya Anda tidak dapat mengharapkan untuk mendeteksi perbedaan yang signifikan menggunakan Bayes ketika prosedur statistik gagal melakukannya.

Untuk memahami mengapa hal ini penting, mungkin perlu dipelajari terlebih dahulu perbedaan antara interval kepercayaan dan interval kredibel, karena MC-Integration yang disebutkan di atas "hanya" membandingkan dua interval kredibel yang independen satu sama lain.

Untuk detail lebih lanjut tentang topik ini, lihat misalnya pertanyaan ini:

steffen
sumber
0

Ada beberapa pendekatan untuk melakukan pengujian Bayesian A / B.

Pertama-tama, Anda harus memutuskan apakah Anda ingin menggunakan pendekatan analitik (menggunakan distribusi konjugat seperti yang disebutkan Lenwood) atau pendekatan MCMC. Untuk percobaan A / B sederhana, terutama pada tingkat konversi yang merupakan kasus Anda, benar-benar tidak perlu menggunakan pendekatan MCMC: cukup gunakan distribusi Beta sebagai sebelumnya dan distribusi posterior Anda juga akan menjadi distribusi Beta.

Kemudian, Anda perlu memutuskan aturan keputusan mana yang akan diterapkan. Di sini, tampaknya ada dua pendekatan utama untuk pengambilan keputusan. Yang pertama didasarkan pada makalah oleh John Kruschke dari Indiana University (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 ).

Pada prinsipnya, Anda bisa menggunakan aturan keputusan yang berbeda.

Anda dapat menemukan ini dan banyak lagi di posting blog ini: Bayesian A / B Testing: panduan langkah demi langkah . Ini juga mencakup beberapa cuplikan kode Python dan menggunakan proyek Python yang di- host di Github .

cbellei
sumber