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( A ) = 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( A ) ≤ α .
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.
αa dj= α / t ,
P( A ) ≈ αP( A ) < α0.05
( 0 , 0.1 )α = 0.05
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( A ) ≈ α
İş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")