T-Test i R-programmering: En prøve og sammenkoblet T-test [Eksempel]

Hva er statistisk slutning?

Statistisk slutning er kunsten å generere konklusjoner om fordelingen av dataene. En dataforsker blir ofte utsatt for spørsmål som bare kan besvares vitenskapelig. Derfor er statistisk inferens en strategi for å teste om en hypotese er sann, altså validert av dataene.

En vanlig strategi for å vurdere hypotese er å gjennomføre en t-test. En t-test kan fortelle om to grupper har samme gjennomsnitt. En t-test kalles også en Studentprøve. En t-test kan estimeres for:

  1. En enkelt vektor (dvs. en-prøve t-test)
  2. To vektorer fra samme prøvegruppe (dvs. paret t-test).

Du antar at begge vektorene er tilfeldig utvalgt, uavhengige og kommer fra en normalfordelt populasjon med ukjente, men like varianser.

Hva er T-Test i R-programmering?

Den grunnleggende ideen bak en T-Test er å bruke statistikk for å evaluere to motsatte hypoteser:

  • H0: NULL hypotese: Gjennomsnittet er det samme som utvalget som ble brukt
  • H3: Sann hypotese: Gjennomsnittet er forskjellig fra utvalget som ble brukt

T-testen brukes ofte med små prøvestørrelser. For å utføre en t-test, må du anta normaliteten til dataene.

T-testsyntaks i R

Den grunnleggende syntaksen for t.test() i R er:

t.test(x, y = NULL,
       mu = 0, var.equal = FALSE)
arguments:
- x : A vector to compute the one-sample t-test
- y: A second vector to compute the two sample t-test
- mu: Mean of the population- var.equal: Specify if the variance of the two vectors are equal. By default, set to `FALSE`

Én prøve T-test i R

One Sample t-testen, eller elevens test, sammenligner gjennomsnittet av en vektor mot et teoretisk gjennomsnitt, Én prøve T-test i R. Formelen som brukes for å beregne t-testen er:

Én prøve T-test i R

Her

  • Én prøve T-test i R refererer til gjennomsnittet
  • Én prøve T-test i R til det teoretiske middelet
  • s er standardavviket
  • n antall observasjoner.

For å evaluere den statistiske signifikansen til t-testen, må du beregne p-verdien. De p-verdien varierer fra 0 til 1, og tolkes som følger:

  • En p-verdi lavere enn 0.05 betyr at du er veldig sikker på å forkaste nullhypotesen, og dermed er H3 akseptert.
  • En p-verdi høyere enn 0.05 indikerer at du ikke har nok bevis til å forkaste nullhypotesen.

Du kan konstruere p-verdien ved å se på den tilsvarende absolutte verdien til t-testen i Studentfordelingen med en frihetsgrader lik Én prøve T-test i R

Hvis du for eksempel har 5 observasjoner, må du sammenligne t-verdien vår med t-verdien i Studentfordelingen med 4 frihetsgrader og med 95 prosent konfidensintervall. For å forkaste nullhypotesen bør t-verdien være høyere enn 2.77.

Se tabellen nedenfor:

Én prøve T-test i R

Ett eksempel på T-test i R

Anta at du er et selskap som produserer informasjonskapsler. Hver informasjonskapsel skal inneholde 10 gram sukker. Kakene produseres av en maskin som tilsetter sukkeret i en bolle før alt blandes. Du mener at maskinen ikke tilsetter 10 gram sukker for hver informasjonskapsel. Hvis antagelsen din er sann, må maskinen fikses. Du lagret sukkernivået til tretti informasjonskapsler.

Merknader: Du kan lage en randomisert vektor med funksjonen rnorm(). Denne funksjonen genererer normalfordelte verdier. Den grunnleggende syntaksen er:

rnorm(n, mean, sd)
arguments
- n: Number of observations to generate
- mean: The mean of the distribution. Optional
- sd: The standard deviation of the distribution. Optional

Du kan lage en fordeling med 30 observasjoner med et gjennomsnitt på 9.99 og et standardavvik på 0.04.

set.seed(123) sugar_cookie <- rnorm(30, mean = 9.99, sd = 0.04)
head(sugar_cookie)

Utgang:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

Du kan bruke en en-prøve t-test for å sjekke om nivået av sukker er annerledes enn oppskriften. Du kan tegne en hypotesetest:

  • H0: Gjennomsnittlig sukkernivå er lik 10
  • H3: Gjennomsnittlig sukkernivå er annerledes enn 10

Du bruker et signifikansnivå på 0.05.

# H0 : mu = 10
t.test(sugar_cookie, mu = 10)

Her er utgangen:

Ett eksempel på T-test i R

P-verdien for den ene prøvens t-test er 0.1079 og over 0.05. Med 95 % kan du være sikker på at mengden sukker som tilsettes av maskinen er mellom 9.973 og 10.002 gram. Du kan ikke forkaste null (H0) hypotesen. Det er ikke nok bevis for at mengden sukker tilsatt av maskinen ikke følger oppskriften.

Paret T-test i R

Paret T-test, eller avhengig prøve t-test, brukes når gjennomsnittet for den behandlede gruppen beregnes to ganger. Den grunnleggende anvendelsen av den sammenkoblede t-testen er:

  • A / B-testing: Sammenlign to varianter
  • Case Control Studies: Før/etter behandling

Paret T-testeksempel i R

Et drikkevareselskap er interessert i å vite ytelsen til et rabattprogram på salget. Selskapet bestemte seg for å følge det daglige salget til en av butikkene der programmet promoteres. På slutten av programmet ønsker bedriften å vite om det er en statistisk forskjell mellom gjennomsnittlig salg av butikken før og etter programmet.

  • Selskapet sporet salget hver dag før programmet startet. Dette er vår første vektor.
  • Programmet promoteres i en uke og salget registreres hver dag. Dette er vår andre vektor.
  • Du vil utføre t-testen for å bedømme effektiviteten til programmet. Dette kalles en paret t-test fordi verdiene til begge vektorene kommer fra samme fordeling (dvs. samme butikk).

Hypotesetestingen er:

  • H0: Ingen forskjell i gjennomsnitt
  • H3: De to virkemidlene er forskjellige

Husk at en antakelse i t-testen er en ukjent, men lik varians. I virkeligheten har dataene knapt like gjennomsnitt, og det fører til feil resultater for t-testen.

En løsning for å lempe på antakelsen om lik varians er å bruke Welchs test. R antar at de to variansene ikke er like som standard. I datasettet ditt har begge vektorene samme varians, du kan sette var.equal= TRUE.

Du lager to tilfeldige vektorer fra en gaussisk fordeling med et høyere gjennomsnitt for salget etter programmet.

set.seed(123)
# sales before the program
sales_before <- rnorm(7, mean = 50000, sd = 50)
# sales after the program.This has higher mean
sales_after <- rnorm(7, mean = 50075, sd = 50)
# draw the distribution
t.test(sales_before, sales_after,var.equal = TRUE)

Paret T-testeksempel i R

Du oppnådde en p-verdi på 0.04606, lavere enn terskelen på 0.05. Du konkluderer med at gjennomsnittene for de to gruppene er signifikant forskjellige. Programmet forbedrer salget av butikker.

Sammendrag

  • Statistisk slutning er kunsten å generere konklusjoner om fordelingen av dataene.
  • T-testen tilhører familien av konklusjonsstatistikk. Det brukes ofte for å finne ut om det er en statistisk forskjell mellom gjennomsnittene for to grupper.
  • One Sample t-testen, eller studenttesten, sammenligner gjennomsnittet av en vektor med et teoretisk gjennomsnitt.
  • Paret T-test, eller avhengig prøve t-test, brukes når gjennomsnittet for den behandlede gruppen beregnes to ganger.

Vi kan oppsummere t-testen i tabellen nedenfor:

Test Hypotese å teste p-verdien Kode Valgfritt argument
en-prøve t-test Gjennomsnittet av en vektor er forskjellig fra det teoretiske gjennomsnittet 0.05
t.test(x, mu = mean)
paret prøve t-test Gjennomsnitt A er forskjellig fra gjennomsnitt B for samme gruppe 0.06
t.test(A,B, mu = mean)
var.equal= TRUE

Hvis vi antar at variansene er like, må vi endre parameteren var.equal= TRUE.