Optimum numune boyutuna ulaşılmadan önce A / B testini durdurmak neden yanlıştır?


13

Şirketimde A / B testlerinin sonuçlarını (web sitesi varyasyonlarında çalıştırılır) sunmaktan sorumluyum. Testi bir ay boyunca yürütüyoruz ve daha sonra, anlamlılığa ulaşana kadar (veya testi uzun süre çalıştırdıktan sonra önem kazanılmazsa vazgeçene kadar) p değerlerini düzenli aralıklarla kontrol ediyoruz, şimdi öğrendiğim bir şey yanlış bir uygulamadır .

Bu uygulamayı şimdi durdurmak istiyorum, ama bunu yapmak için bunun neden yanlış olduğunu anlamak istiyorum. Etki büyüklüğünün, örneklem büyüklüğünün (N), alfa anlamlılık ölçütünün (α) ve istatistiksel gücün veya seçilen veya ima edilen beta'nın (β) matematiksel olarak ilişkili olduğunu anlıyorum . Ancak, gerekli numune boyutuna ulaşmadan testimizi durdurduğumuzda tam olarak ne değişir?

Burada birkaç yazı okudum (yani bu , bu ve bu ) ve tahminlerimin önyargılı olacağını ve Tip 1 hatasının oranı önemli ölçüde arttığını söylüyorlar. Fakat bu nasıl oluyor? Matematiksel bir açıklama arıyorum , örneklem büyüklüğünün sonuçlar üzerindeki etkilerini açıkça gösterecek bir şey. Sanırım yukarıda bahsettiğim faktörler arasındaki ilişkilerle ilgili bir şey var, ancak kesin formülleri bulamadım ve bunları kendi başıma çözemedim.

Örneğin, testi erken durdurmak Tip 1 hata oranını artırır. Peki. Ama neden? Tip 1 hata oranını arttırmak için ne olur? Burada sezgiyi kaçırıyorum.

Yardım lütfen.



1
Evet, bu bağlantıdan geçtim, ancak verilen örneği anlamadım.
sgk

üzgünüm Gopalakrishnan - ilk bağlantınızın buna işaret ettiğini görmemiştim.
seanv507

1
Anlamadığınızı açıklayabilir misiniz? Matematik / sezgi oldukça açık görünüyor: gerekli örnek boyutundan önce durmak değil, tekrar tekrar kontrol etmek. , bu nedenle tekli kontroller için tasarlanmış bir testi birden çok kez kullanamazsınız. P(ben1...N-xben>θ)P(xN->θ)
seanv507

Cevabımda verilen matematiksel açıklama
Tomka

Yanıtlar:


4

Sabit tip-1 hata ( ) seviyesi ile aynı veriler üzerinde tekrar tekrar test yapan A / B testleri temelde kusurludur. Bunun böyle olmasının en az iki nedeni vardır. İlk olarak, tekrarlanan testler ilişkilendirilir ancak testler bağımsız olarak yapılır. İkincisi, sabit α , tip-1 hata enflasyonuna yol açan çarpma testlerini hesaba katmaz.αα

İlkini görmek için, her yeni gözlemde yeni bir test yaptığınızı varsayın. Açıkça, sonraki iki p değeri birbiriyle ilişkilendirilecektir çünkü iki test arasında vaka değişmemiştir. Sonuç olarak @ Bernhard'ın planında p-değerlerinin bu korelasyonunu gösteren bir eğilim görüyoruz.n-1

İkinci görmek için, test altında bir p-değerine sahip olan olasılığı bağımsız bile dikkat test sayısı ile artar t P ( A ) = 1 - ( 1 - α ) t , burada bir olay olan yanlış reddedilen sıfır hipotezi. Yani en az bir pozitif test sonucuna sahip olma olasılığı 1αt

P(bir)=1-(1-α)t,
bir1tekrar tekrar a / b testi. Daha sonra ilk olumlu sonuçtan sonra durursanız, yalnızca bu formülün doğruluğunu göstermiş olursunuz. Başka bir deyişle, sıfır hipotezi doğru olsa bile, sonuçta reddedersiniz. Bu nedenle a / b testi, bulunmayan yerlerde etki bulmanın nihai yoludur.

Bu durumda hem korelasyon hem de çoklu test aynı anda bulunduğundan, testinin p-değeri t'nin p-değerine bağlıdır . Sonunda bir p < α'ya ulaşırsanız , bir süre bu bölgede kalabilirsiniz. Bunu @ Bernhard'ın 2500 ila 3500 ve 4000 ila 5000 bölgesindeki komploda da görebilirsiniz.t+1tp<α

Birden fazla test per-meşru, ancak sabit bir karşı test değildir. Hem çoklu test prosedürü hem de ilişkili testlerle ilgilenen birçok prosedür vardır. Bir test düzeltmesi ailesine aile açısından hata oranı kontrolü denir . Yaptıkları şey P ( A ) α'yı sağlamaktır .α

P(bir)α.

Tartışmasız en ünlü düzenleme (sadeliği nedeniyle) Bonferroni'dir. Burada ayarladık , bunun için bağımsız testlerin sayısı büyükse P ( A ) α'nın kolayca gösterilebileceği gösteriliyor . Testler ilişkilendirilirse, konservatif olması muhtemeldir, P ( A ) < α . Yapabileceğiniz en kolay ayar, alfa seviyenizi 0,05'e önceden yaptığınız test sayısına bölmektir.

αbirdj=α/t,
P(bir)αP(bir)<α0.05

(0,0.1)α=0.05

resim açıklamasını buraya girin

Gördüğümüz gibi, ayarlama çok etkilidir ve ailenin akıllıca hata oranını kontrol etmek için p değerini ne kadar radikal olarak değiştirmemiz gerektiğini gösterir. Özellikle artık önemli bir test bulamıyoruz çünkü olması gerektiği gibi @ Berhard'ın sıfır hipotezi doğrudur.

P(bir)α


İşte kod:

set.seed(1)
n=10000
toss <- sample(1:2, n, TRUE)

p.values <- numeric(n)
for (i in 5:n){
  p.values[i] <- binom.test(table(toss[1:i]))$p.value
}
p.values = p.values[-(1:6)]
plot(p.values[seq(1, length(p.values), 100)], type="l", ylim=c(0,0.1),ylab='p-values')
abline(h=0.05, lty="dashed")
abline(v=0)
abline(h=0)
curve(0.05/x,add=TRUE, col="red", lty="dashed")

2
Bu benim için çalışıyor. Şimdi konuyu yaşlılarımla buluşturmak için bunu iş konuşmasına çevirmem gerekecek, ama bu benim kendi sorunum. Çok teşekkür ederim
sgk

8

Eğer sıfır hipotezi doğruysa, insanlar genellikle p değerinin çok yüksek olmasını beklerler. Bu doğru değil. Eğer sıfır hipotezi doğruysa, p eşit olarak dağıtılmış rastgele bir değişkendir. Yani, zaman zaman rastgele sadece 0.05'in altında olacak. Çok sayıda farklı alt örneğe bakarsanız, bazen p değeri 0.05'in altında olacaktır.

Bunu daha kolay kavramak için, burada küçük bir simülasyon var R:

Bu parayı 10.000 kez atacak ve biliyoruz ki bu adil bir para:

set.seed(1)
n=10000
toss <- sample(1:2, n, TRUE)

5. atıştan başlayarak, bu her atıştan sonra adalet için bir binom testi gerçekleştirecek ve p değerlerini kaydedecektir:

p.values <- numeric(n)
for (i in 5:n){
     p.values[i] <- binom.test(table(toss[1:i]))$p.value
}

Ve bu, p-değerlerini birbiri ardına çizecektir:

plot(p.values, type="l")
abline(h=0.05)

resim açıklamasını buraya girin

'H0'H0

(Sadece mükemmel açık olmak gerekirse, bu örnekte olduğu gibi net olarak önce ben daha numaralı jeneratör için bir tohum daha denedim, ama bu eğitim amaçlı adil. Eğer varsa Ryüklü ve çalışır, kolayca sayılarla oynayabilir .)


Basit deney için teşekkürler. Ama testi böyle bir aşamada durdurduğumu söyleyin (p değeri <0.05 olduğunda), sonuçlarım ne anlama geliyor? (bunun yanlış olmasından başka). P-değeri eşiğini azaltarak telafi etmek mümkün mü?
sgk

+1 İlişkili testleri ve ilgili çoklu test problemini not edin. (Çok iyi) örneğinize göre aşağıdaki ayar seçenekleriyle genişletilmiş cevabımı görün.
tomka

αα

Benim asıl mesele, aile tipi hata (FWER) oranını veya yanlış keşif oranını (FDR) her iki tip-1 hatasını hedeflemektir. Tip-2 hatasını kontrol etmek, genellikle çok büyük numuneler nedeniyle a / b testlerinde daha az sorun yaratır.
tomka

p=0.05
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.