Mann-Whitney U-toets

A/B-testen in R

Lauryn Burleigh

Data Scientist

Mann-Whitney U

  • Tijd om Kaas vs. Pepperoni te eten
  • Geen normale verdeling
  • Niet-parametrisch
    • Vorm verdeling niet verondersteld
    • Mann-Whitney U-toets

Twee links-scheve histogrammen. Pepperoni in roze met een gemiddelde van 8 en Kaas in blauw met een gemiddelde van 6,2.

A/B-testen in R

Aannames

  • Zelfde vorm verdeling
  • Toetst verschil in medianen
  • Normaal: gemiddelde = mediaan
  • Niet-normaal: mediaan geschikter
  • Extra aannames: krachtiger toets
  • Nulhypothese: geen verschil in mediane eettijd voor kaas- en pepperonipizza
library(ggplot2)
ggplot(pizza, aes(x = Time, 
                  fill = Topping)) +
       geom_histogram() + 
       facet_grid(Topping~.)

Twee links-scheve histogrammen. Pepperoni in roze met een gemiddelde van 8 en Kaas in blauw met een gemiddelde van 6,2.

A/B-testen in R

Steekproefgrootte

library(pwr)
pwr.2p2n.test(h = 0.40, 
              sig.level = 0.05, 
              power = 0.8, n1 = 100)
    verschil in proporties power-
 berekening voor binomiale verdeling
              h = 0.4
             n1 = 100
             n2 = 96.29156
      sig.level = 0.05
          power = 0.8
    alternative = two.sided
OPMERKING: verschillende steekproefgroottes
pwr.2p2n.test(h = 0.40, 
              sig.level = 0.05, 
              power = 0.8, n1 = 110)
    verschil in proporties power-
 berekening voor binomiale verdeling
              h = 0.4
             n1 = 110
             n2 = 88.54092
      sig.level = 0.05
          power = 0.8
    alternative = two.sided
OPMERKING: verschillende steekproefgroottes
  • Verwachte effectgrootte h: rang-biseriële correlatie r
    • Bekijk hoe proefpersonen per groep rangschikken
A/B-testen in R

Toets

wilcox.test(Time ~ Topping, 
            data = Pizza)
  • y ~ x
    • y: data
    • x: groep
    Wilcoxon rangsomtoets met 
    continuïteitscorrectie
data:  Enjoyment by Topping
W = 6051, p-value = 0.01026
alternatieve hypothese: echte locatieshift 
is niet gelijk aan 0
A/B-testen in R

Effectgrootte en power

Effectgrootte

library(effectsize)
rank_biserial(Time ~ Topping, 
              data = pizza)
r (rang-biserieel) |         95% BI
<----------------------------------
0.21              | [0.05, 0.36]
  • Klein: 0.1
  • Middel: 0.3
  • Groot: 0.5

1 - 0.14 = 0.86 kans op type II-fout

Poweranalyse

library(pwr)
pwr.2p2n.test(h = 0.21, sig.level = 0.01, 
              n1 = 100, n2 = 100)
     verschil in proporties power-berekening voor binomiale verdeling 

              h = 0.21
             n1 = 100
             n2 = 100
      sig.level = 0.01
          power = 0.1376818
    alternative = two.sided

OPMERKING: verschillende steekproefgroottes
A/B-testen in R

Laten we oefenen!

A/B-testen in R

Preparing Video For Download...