T-test i R-programmering: ett prov och ihopkopplat T-test [Exempel]

Vad är statistisk slutledning?

Statistisk slutledning är konsten att dra slutsatser om fördelningen av data. En dataforskare utsätts ofta för frågor som bara kan besvaras vetenskapligt. Därför är statistisk slutledning en strategi för att testa om en hypotes är sann, dvs validerad av data.

En vanlig strategi för att bedöma hypoteser är att genomföra ett t-test. Ett t-test kan säga om två grupper har samma medelvärde. Ett t-test kallas också a Studentprov. Ett t-test kan uppskattas för:

  1. En enskild vektor (dvs ett t-test med ett sampel)
  2. Två vektorer från samma provgrupp (dvs parat t-test).

Du antar att båda vektorerna är slumpmässigt samplade, oberoende och kommer från en normalfördelad population med okända men lika stora varianser.

Vad är T-Test i R-programmering?

Grundidén bakom ett T-test är att använda statistik för att utvärdera två motsatta hypoteser:

  • H0: NULL-hypotes: Genomsnittet är detsamma som provet som används
  • H3: Sann hypotes: Genomsnittet skiljer sig från det använda urvalet

T-testet används ofta med små provstorlekar. För att utföra ett t-test måste du anta normaliteten hos data.

T-testsyntax i R

Den grundläggande syntaxen för t.test() i R är:

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`

Ett prov T-test i R

One Sample t-testet, eller studenttestet, jämför medelvärdet av en vektor med ett teoretiskt medelvärde, Ett prov T-test i R. Formeln som används för att beräkna t-testet är:

Ett prov T-test i R

Här,

  • Ett prov T-test i R hänvisar till medelvärdet
  • Ett prov T-test i R till det teoretiska medelvärdet
  • s är standardavvikelsen
  • n antalet observationer.

För att utvärdera den statistiska signifikansen för t-testet måste du beräkna p-värde. De p-värde sträcker sig från 0 till 1 och tolkas enligt följande:

  • Ett p-värde lägre än 0.05 betyder att du är starkt säker på att förkasta nollhypotesen, därför accepteras H3.
  • Ett p-värde högre än 0.05 indikerar att du inte har tillräckligt med bevis för att förkasta nollhypotesen.

Du kan konstruera p-värdet genom att titta på motsvarande absoluta värde för t-testet i Studentfördelningen med en frihetsgrader lika med Ett prov T-test i R

Om du till exempel har 5 observationer måste du jämföra vårt t-värde med t-värdet i Studentfördelningen med 4 frihetsgrader och med 95 procents konfidensintervall. För att förkasta nollhypotesen bör t-värdet vara högre än 2.77.

Se tabellen nedan:

Ett prov T-test i R

Ett exempel på T-test i R

Anta att du är ett företag som producerar cookies. Varje kaka ska innehålla 10 gram socker. Kakorna tillverkas av en maskin som tillsätter sockret i en skål innan allt blandas. Du tror att maskinen inte tillsätter 10 gram socker för varje kaka. Om ditt antagande är sant måste maskinen fixas. Du lagrade sockernivån för trettio kakor.

Anmärkningar: Du kan skapa en randomiserad vektor med funktionen rnorm(). Denna funktion genererar normalfördelade värden. Den grundläggande syntaxen är:

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 skapa en fördelning med 30 observationer med ett medelvärde på 9.99 och en standardavvikelse på 0.04.

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

Produktion:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

Du kan använda ett t-test med ett prov för att kontrollera om sockernivån skiljer sig från receptet. Du kan rita ett hypotestest:

  • H0: Den genomsnittliga nivån av socker är lika med 10
  • H3: Den genomsnittliga nivån av socker är annorlunda än 10

Du använder en signifikansnivå på 0.05.

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

Här är utgången:

Ett exempel på T-test i R

P-värdet för ett provs t-test är 0.1079 och över 0.05. Du kan med 95% vara säker på att mängden socker som tillsätts av maskinen är mellan 9.973 och 10.002 gram. Du kan inte förkasta nollhypotesen (H0). Det finns inte tillräckligt med bevis för att mängden socker som tillsatts av maskinen inte följer receptet.

Parat T-test i R

Parat T-test, eller beroende prov t-test, används när medelvärdet för den behandlade gruppen beräknas två gånger. Den grundläggande tillämpningen av det parade t-testet är:

  • A / B-test: Jämför två varianter
  • Fallkontrollstudier: Före/efter behandling

Parat T-testexempel i R

Ett dryckesföretag är intresserade av att veta resultatet av ett rabattprogram på försäljningen. Företaget bestämde sig för att följa den dagliga försäljningen i en av sina butiker där programmet marknadsförs. I slutet av programmet vill företaget veta om det finns en statistisk skillnad mellan den genomsnittliga försäljningen i butiken före och efter programmet.

  • Företaget spårade försäljningen varje dag innan programmet startade. Detta är vår första vektor.
  • Programmet marknadsförs under en vecka och försäljningen registreras varje dag. Detta är vår andra vektor.
  • Du kommer att utföra t-testet för att bedöma programmets effektivitet. Detta kallas ett parat t-test eftersom värdena för båda vektorerna kommer från samma distribution (dvs samma butik).

Hypotestestningen är:

  • H0: Ingen skillnad i medelvärde
  • H3: De två sätten är olika

Kom ihåg att ett antagande i t-testet är en okänd men lika stor varians. I verkligheten har uppgifterna knappt samma medelvärde, och det leder till felaktiga resultat för t-testet.

En lösning för att lätta på antagandet om lika varians är att använda Welchs test. R antar att de två varianserna inte är lika som standard. I din datauppsättning har båda vektorerna samma varians, du kan ställa in var.equal= TRUE.

Du skapar två slumpmässiga vektorer från en gaussisk fördelning med ett högre medelvärde för försäljningen 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)

Parat T-testexempel i R

Du fick ett p-värde på 0.04606, lägre än tröskeln på 0.05. Du drar slutsatsen att medelvärdena för de två grupperna är signifikant olika. Programmet förbättrar försäljningen av butiker.

Sammanfattning

  • Statistisk slutledning är konsten att dra slutsatser om fördelningen av data.
  • T-testet tillhör familjen av slutsatsstatistik. Det används ofta för att ta reda på om det finns en statistisk skillnad mellan medelvärdena för två grupper.
  • One Sample t-testet, eller studenttestet, jämför medelvärdet av en vektor med ett teoretiskt medelvärde.
  • Parat T-test, eller beroende prov t-test, används när medelvärdet för den behandlade gruppen beräknas två gånger.

Vi kan sammanfatta t-testet i tabellen nedan:

Testa Hypotes att testa p-värde Koda Valfritt argument
ett-prov t-test Medelvärdet för en vektor skiljer sig från det teoretiska medelvärdet 0.05
t.test(x, mu = mean)
parat prov t-test Medel A skiljer sig från medelvärde B för samma grupp 0.06
t.test(A,B, mu = mean)
var.equal= TRUE

Om vi ​​antar att varianserna är lika måste vi ändra parametern var.equal= TRUE.