Power en steekproefgrootte

A/B-testen in R

Lauryn Burleigh

Data Scientist

Power: definitie

  • Kans om de nulhypothese te verwerpen wanneer die onwaar is
  • Geen type II-fout maken (niet verwerpen)
  • Ideaal: lage type II-foutkans, hoge power

Een normale nulhypotheseverdeling links en alternatieve hypothese rechts, deels overlappend. Een stippellijn markeert de p-waarde waar ze overlappen. Links van de lijn onder de alternatieve hypothese = type II-fout; rechts = power.

A/B-testen in R

Voordelen van power

Nuttigheid van test

  • Nulhypothese verwerpen wanneer dat moet

Een normale nulhypotheseverdeling links en alternatieve hypothese rechts, deels overlappend. Een stippellijn markeert de p-waarde waar ze overlappen. Links van de lijn onder de alternatieve hypothese = type II-fout; rechts = power.

Power

  • Bepaal benodigde steekproefgrootte
  • Check of resultaten betrouwbaar zijn
A/B-testen in R

Steekproefgrootte

  • Geschatte effectgrootte
  • Geschatte power (vaak 0,8)
  • Alfa (vaak 0,05)

Overlappende verdelingen voor verschillende steekproefgroottes; kleinere steekproef heeft smallere verdeling dan grotere voor een t-waarde op de x-as. Kleinere steekproeflijn toont dat kleine n een grotere t-waarde nodig heeft voor significantie.

library(pwr)
pwr.t.test(d = .8, power = 0.8,

sig.level = 0.05,
type = "one.sample",
alternative = "two.sided")
     One-sample t test power calculation 
              n = 14.30276
              d = 0.8
      sig.level = 0.05
          power = 0.8
    alternative = two.sided
A/B-testen in R

Effectgrootte

  • Verwachte effectgrootte
  • Gemiddelde controlegroep - gemiddelde experimentele groep

Een normale nulhypotheseverdeling links en alternatieve hypothese rechts, deels overlappend. Een stippellijn markeert de p-waarde waar ze overlappen. Links van de lijn onder de alternatieve hypothese = type II-fout; rechts = power. Een rode balk toont de effectgrootte als het verschil tussen de toppen.

Voor analyse

Bepaal effectgrootte via:

  • Achtergrondinformatie
  • Voorlopige data

 

Na analyse

Bepaal effectgrootte via:

  • Volledige dataset
A/B-testen in R

Poweranalyse van test

Hogere power = grotere kans om nulhypothese correct te verwerpen

Drie benodigdheden:

  • Steekproefgrootte
  • Effectgrootte
  • Alfa
library(pwr)
pwr.t.test(n = 20, sig.level = 0.045, 
           d = .81, type = "one.sample")
     One-sample t test power calculation 
              n = 20
              d = 0.81
      sig.level = 0.045
          power = 0.9223189
    alternative = two.sided
A/B-testen in R

Pizzaverdelingen

Vergelijkbare verdelingen

Geen significant verschil

Twee histogrammen, Pepperoni in roze en Cheese in blauw. X-as: ontvangen waarden; y-as: frequentie. De pieken liggen dicht bij elkaar op de x-as.

Verschillende verdelingen

Waarschijnlijk significant verschil

Twee histogrammen, Pepperoni in roze en Cheese in blauw. X-as: ontvangen waarden; y-as: frequentie. De pieken liggen verder uit elkaar op de x-as.

A/B-testen in R

Pizzahypothesen

Nulhypotheseverdeling in roze met gemiddeld verschil 0 en alternatieve hypothese in blauw met gemiddeld verschil 3,5; kritieke grens als verticale lijn bij 1,64.

  • Gelijkend: links van verwerpingsgrens
  • Verschillend: rechts van verwerpingsgrens
library(ggplot2)
ggplot(HypDists, 
       aes(x = Time, fill = Hypothesis)) + 
  geom_histogram() + 
  xlab("Difference Between Groups") + 
  geom_vline(xintercept = 1.64)
A/B-testen in R

Pizzapower

Nulhypotheseverdeling in roze met gemiddeld verschil 0 en alternatieve hypothese in blauw met gemiddeld verschil 3,5; kritieke grens als verticale lijn bij 1,64.

  • Gelijkend: links van verwerpingsgrens
  • Verschillend: rechts van verwerpingsgrens
  • Power: kans om niet foutief gelijke toppingverdelingen te vinden (type II-fout)
library(ggplot2)
ggplot(HypDists, 
       aes(x = Time, fill = Hypothesis)) + 
  geom_histogram() + 
  xlab("Difference Between Groups") + 
  geom_vline(xintercept = 1.64)
A/B-testen in R

Laten we oefenen!

A/B-testen in R

Preparing Video For Download...