T-test i R-programmering: Én prøve og parret T-test [Eksempel]

Hvad er statistisk inferens?

Statistisk inferens er kunsten at generere konklusioner om fordelingen af ​​dataene. En data scientist bliver ofte udsat for spørgsmål, der kun kan besvares videnskabeligt. Derfor er statistisk inferens en strategi til at teste om en hypotese er sand, altså valideret af dataene.

En almindelig strategi til at vurdere hypotese er at udføre en t-test. En t-test kan fortælle, om to grupper har samme middelværdi. En t-test kaldes også en Elevprøve. En t-test kan estimeres til:

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

Du antager, at begge vektorer er tilfældigt udtaget, uafhængige og kommer fra en normalfordelt population med ukendte, men lige store varianser.

Hvad er T-Test i R-programmering?

Den grundlæggende idé bag en T-test er at bruge statistik til at evaluere to modsatrettede hypoteser:

  • H0: NULL hypotese: Gennemsnittet er det samme som den anvendte prøve
  • H3: Sand hypotese: Gennemsnittet er forskelligt fra den anvendte prøve

T-testen bruges almindeligvis med små prøvestørrelser. For at udføre en t-test skal du antage normaliteten af ​​dataene.

T-test syntaks i R

Den grundlæggende syntaks 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`

En prøve T-test i R

One Sample t-testen, eller elevens test, sammenligner gennemsnittet af en vektor med et teoretisk gennemsnit, En prøve T-test i R. Formlen brugt til at beregne t-testen er:

En prøve T-test i R

Her,

  • En prøve T-test i R henviser til middelværdien
  • En prøve T-test i R til den teoretiske middelværdi
  • s er standardafvigelsen
  • n antallet af observationer.

For at evaluere den statistiske signifikans af t-testen skal du beregne p-værdi. Det p-værdi går fra 0 til 1 og fortolkes som følger:

  • En p-værdi lavere end 0.05 betyder, at du er meget sikker på at forkaste nulhypotesen, og derfor er H3 accepteret.
  • En p-værdi højere end 0.05 indikerer, at du ikke har nok beviser til at afvise nulhypotesen.

Du kan konstruere p-værdien ved at se på den tilsvarende absolutte værdi af t-testen i Student-fordelingen med en frihedsgrader svarende til En prøve T-test i R

For eksempel, hvis du har 5 observationer, skal du sammenligne vores t-værdi med t-værdien i Student-fordelingen med 4 frihedsgrader og med 95 procents konfidensinterval. For at afvise nulhypotesen skal t-værdien være højere end 2.77.

Se tabellen nedenfor:

En prøve T-test i R

Et eksempel på T-test i R

Antag, at du er en virksomhed, der producerer cookies. Hver småkage skal indeholde 10 gram sukker. Småkagerne fremstilles af en maskine, der tilsætter sukkeret i en skål, inden det hele blandes. Du mener, at maskinen ikke tilsætter 10 gram sukker for hver småkage. Hvis din antagelse er sand, skal maskinen repareres. Du har gemt niveauet af sukker i tredive småkager.

Bemærk: Du kan oprette en randomiseret vektor med funktionen rnorm(). Denne funktion genererer normalfordelte værdier. Den grundlæggende syntaks 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 lave en fordeling med 30 observationer med et gennemsnit på 9.99 og en standardafvigelse på 0.04.

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

Output:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

Du kan bruge en t-test med én prøve til at kontrollere, om indholdet af sukker er anderledes end opskriften. Du kan tegne en hypotesetest:

  • H0: Det gennemsnitlige sukkerindhold er lig med 10
  • H3: Det gennemsnitlige sukkerniveau er anderledes end 10

Du bruger et signifikansniveau på 0.05.

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

Her er output:

Et eksempel på T-test i R

P-værdien af ​​den ene prøve t-test er 0.1079 og over 0.05. Du kan med 95% være sikker på, at mængden af ​​sukker, der tilsættes af maskinen, er mellem 9.973 og 10.002 gram. Du kan ikke forkaste nulhypotesen (H0). Der er ikke tilstrækkelig dokumentation for, at mængden af ​​sukker, der tilsættes af maskinen, ikke følger opskriften.

Parret T-test i R

Den parrede T-test, eller afhængig prøve-t-test, bruges, når middelværdien af ​​den behandlede gruppe beregnes to gange. Den grundlæggende anvendelse af den parrede t-test er:

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

Parret T-test eksempel i R

En drikkevarevirksomhed er interesseret i at vide, hvordan et rabatprogram fungerer på salget. Virksomheden besluttede at følge det daglige salg i en af ​​sine butikker, hvor programmet promoveres. I slutningen af ​​programmet ønsker virksomheden at vide, om der er en statistisk forskel mellem butikkens gennemsnitlige salg før og efter programmet.

  • Virksomheden sporede salget hver dag, før programmet startede. Dette er vores første vektor.
  • Programmet promoveres i en uge, og salget registreres hver dag. Dette er vores anden vektor.
  • Du vil udføre t-testen for at bedømme programmets effektivitet. Dette kaldes en parret t-test, fordi værdierne af begge vektorer kommer fra den samme fordeling (dvs. den samme butik).

Hypotesetestningen er:

  • H0: Ingen forskel i middelværdi
  • H3: De to midler er forskellige

Husk, at en antagelse i t-testen er en ukendt, men lige stor varians. I virkeligheden har dataene knap det samme middelværdi, og det fører til forkerte resultater for t-testen.

En løsning til at slække på antagelsen om lige varians er at bruge Welch's test. R antager, at de to varianser ikke er ens som standard. I dit datasæt har begge vektorer den samme varians, du kan indstille var.equal= TRUE.

Du opretter to tilfældige vektorer fra en gaussisk fordeling med et højere gennemsnit for salget efter 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)

Parret T-test eksempel i R

Du opnåede en p-værdi på 0.04606, lavere end tærsklen på 0.05. Du konkluderer, at gennemsnittet af de to grupper er væsentligt forskellige. Programmet forbedrer salget af butikker.

Resumé

  • Statistisk inferens er kunsten at generere konklusioner om fordelingen af ​​dataene.
  • T-testen tilhører familien af ​​inferentielle statistikker. Det er almindeligt anvendt til at finde ud af, om der er en statistisk forskel mellem middelværdierne for to grupper.
  • One Sample t-testen, eller elevens test, sammenligner gennemsnittet af en vektor med et teoretisk gennemsnit.
  • Den parrede T-test, eller afhængig prøve-t-test, bruges, når middelværdien af ​​den behandlede gruppe beregnes to gange.

Vi kan opsummere t-testen i tabellen nedenfor:

Test Hypotese at teste p-værdi Kode Valgfrit argument
en-prøve t-test Middelværdien af ​​en vektor er forskellig fra den teoretiske middelværdi 0.05
t.test(x, mu = mean)
parret prøve t-test Middel A er forskellig fra gennemsnit B for samme gruppe 0.06
t.test(A,B, mu = mean)
var.equal= TRUE

Hvis vi antager, at varianserne er ens, skal vi ændre parameteren var.equal= TRUE.