Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Luottamusvälit | A/B-testauksen tilastolliset Perusteet
A/B-testaus Pythonilla

Luottamusvälit

Pyyhkäise näyttääksesi valikon

Luottamusvälit ovat tilastotieteen peruskäsite ja niillä on keskeinen rooli A/B-testauksessa. Siinä missä p-arvot kertovat, voiko havaittu ero johtua sattumasta, luottamusvälit antavat arvion vaihteluvälistä, joka todennäköisesti sisältää todellisen vaikutuksen suuruuden. Tämä vaihteluväli auttaa ymmärtämään paitsi sen, onko tilastollisesti merkitsevää eroa, myös kuinka suuri ero mahdollisesti on ja kuinka varmoja siitä voidaan olla.

Luottamusväli lasketaan otosaineistosta ja se ilmaistaan yleensä prosentteina, kuten 95 %. Tämä tarkoittaa, että jos koe toistettaisiin monta kertaa, 95 % lasketuista luottamusväleistä sisältäisi todellisen populaatioparametrin. A/B-testauksessa luottamusvälejä käytetään usein arvioimaan kontrolli- ja varianttiryhmien konversioasteiden eroa.

Konversioasteen (proportion) luottamusvälin laskeminen perustuu havaittujen arvojen keskivirheen määrittämiseen ja z-arvon käyttämiseen vaihteluvälin rajaamiseksi havaittujen arvojen ympärille. Luottamusvälit ovat informatiivisempia kuin pelkät p-arvot, koska ne osoittavat sekä vaikutuksen suuruuden että arvion tarkkuuden, mikä mahdollistaa parempien päätösten tekemisen testitulosten perusteella.

123456789101112131415161718192021222324252627282930313233343536
import numpy as np from scipy.stats import norm # Sample data: number of conversions and total users in each group conversions_A = 200 users_A = 2000 conversions_B = 240 users_B = 2000 # Calculating conversion rates rate_A = conversions_A / users_A rate_B = conversions_B / users_B # Calculatig the standard error for each group se_A = np.sqrt(rate_A * (1 - rate_A) / users_A) se_B = np.sqrt(rate_B * (1 - rate_B) / users_B) # 95% confidence interval uses a z-score of approximately 1.96 z = norm.ppf(0.975) # Calculating confidence intervals ci_A = (rate_A - z * se_A, rate_A + z * se_A) ci_B = (rate_B - z * se_B, rate_B + z * se_B) print(f"Group A conversion rate: {rate_A:.3f}") print(f"95% CI for Group A: ({ci_A[0]:.3f}, {ci_A[1]:.3f})") print(f"Group B conversion rate: {rate_B:.3f}") print(f"95% CI for Group B: ({ci_B[0]:.3f}, {ci_B[1]:.3f})") # Confidence interval for the difference in conversion rates diff = rate_B - rate_A se_diff = np.sqrt(se_A**2 + se_B**2) ci_diff = (diff - z * se_diff, diff + z * se_diff) print(f"Difference in conversion rates (B - A): {diff:.3f}") print(f"95% CI for difference: ({ci_diff[0]:.3f}, {ci_diff[1]:.3f})")

Kun tulkitset luottamusväliä A/B-testauksessa, tarkastelet vaihteluväliä, jossa todellinen konversioasteiden ero todennäköisesti sijaitsee. Jos konversioasteiden eron luottamusväli ei sisällä nollaa, voidaan olla melko varmoja, että todellinen vaikutus on olemassa. Jos nolla sisältyy väliin, havaittu ero voi johtua sattumasta.

Päätöksenteossa luottamusvälit auttavat ymmärtämään sekä vaikutuksen mahdollisen suuruuden että siihen liittyvän epävarmuuden. Tämä helpottaa tulosten viestimistä sidosryhmille: pelkän tilastollisen merkitsevyyden sijaan voidaan selittää todennäköinen parannuksen (tai heikennyksen) vaihteluväli ja kuinka varmoja arviosta ollaan. Tämä tukee liiketoimintapäätöksiä selkeämmällä riskien ja mahdollisuuksien ymmärryksellä.

question mark

Mikä seuraavista väittämistä kuvaa parhaiten 95 %:n luottamusvälin käytännön tulkintaa kahden ryhmän konversioeroille A/B-testissä?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 3
some-alt