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.A
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 BABpApB
Karena saya dapat menemukan parameter untuk dan , saya dapat mengambil sampel posisi, dan memperkirakan . Contoh dalam python:p Ap BP ( p A > p B | 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,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?
sumber
Jawaban:
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( halSEBUAH> pB|da t a ) P( halSEBUAH> pB|da t a )
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( halSEBUAH> pB|data )
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.
sumber
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.
sumber
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.
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 .
sumber