Тест Фішера

A/B Testing в R

Lauryn Burleigh

Data Scientist

Специфікації

  • Непараметричний для категоріальних даних
    • Чи їли б знову піцу Cheese чи Pepperoni
  • Вибірка < 1000
  • Частота < 5 принаймні у 20%
  • Використовуйте тест Фішера для точного p-значення
  • Частотна таблиця 2x2

Гіпергеометричний розподіл

  • Ймовірність для частотної таблиці
table(Pizza$Topping, Pizza$EatAgain)
              No Yes
  Cheese     140 360
  Pepperoni   80 420
A/B Testing в R

Гіпотези

  • Нульова гіпотеза: немає зв'язку між повторним вибором піци та групою топінгів

Фотографія скибок піци, які беруть різні люди.

A/B Testing в R

Вибірка

library(pwr)
pwr.chisq.test(w = 0.1, df = 2, 
               power = 0.80, 
               sig.level = 0.05)
     Chi squared power calculation 
              w = 0.1
              N = 963.4689
             df = 2
      sig.level = 0.05
          power = 0.8
NOTE: N is the number of observations
table(Pizza$Topping, Pizza$EatAgain)
              No Yes
  Cheese     140 360
  Pepperoni   80 420
A/B Testing в R

Тест

freqtbl <- table(Pizza$Topping, 
                 Pizza$Time)
fisher.test(freqtbl) 
    Fisher's Exact Test for Count Data
data:  freqtbl
p-value = 0.001809
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
 0.4569013 0.8417208
sample estimates:
odds ratio 
 0.6209987 
A/B Testing в R

Розмір ефекту

freqtbl <- table(Pizza$Topping, 
                 Pizza$Time)
fisher.test(freqtbl) 
  • Small: 1,5
  • Medium: 2,5
  • Large: 4
  • Піцу Pepperoni обирають у 0,62 раза рідше, ніж Cheese
Fisher's Exact Test for Count Data
data:  freqtbl
p-value = 0.001809
alternative hypothesis: true odds 
ratio is not equal to 1
95 percent confidence interval:
 0.4569013 0.8417208
sample estimates:
odds ratio 
 0.6209987  
A/B Testing в R

Потужність

library(pwr)
pwr.2p.test(h = 0.62, n = 500, 
            sig.level = 0.002) 
    Difference of proportion power 
 calculation for binomial distribution

              h = 0.62
              n = 500
      sig.level = 0.002
          power = 1
    alternative = two.sided

NOTE: same sample sizes
A/B Testing в R

Давайте потренуємось!

A/B Testing в R

Preparing Video For Download...