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 tracKรถrde 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 Code 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.

Sammanfatta detta inlรคgg med: