T-test u R programiranju: Jedan uzorak i parni primjer

⚡ Pametni sažetak

T-test u R-u uspoređuje srednje vrijednosti pomoću funkcije t.test(), pokrivajući jedan uzorak s fiksnim ciljem, dvije neovisne skupine i uparene ponovljene mjere. Ovaj vodič pokreće svaku varijantu, ispravno očitava p-vrijednost i provjerava temeljne pretpostavke.

  • 📐 Osnovna statistika: T-vrijednost dijeli opaženu razliku srednjih vrijednosti sa standardnom pogreškom, pa veće veličine govore protiv nulte hipoteze.
  • 🧪 Test s jednim uzorkom: t.test(x, mu = 10) provjerava jedan vektor u odnosu na teorijsku vrijednost kao što je specifikacija recepta.
  • 👥 Dvostruki test: t.test(x, y) uspoređuje dvije neovisne skupine i zadano koristi Welchovu korekciju za nejednaku varijancu.
  • 🔗 Test u parovima: Dodavanjem uparenog = TRUE testira se srednja vrijednost razlika unutar ispitanika i uklanja se zajednička varijacija.
  • Provjere pretpostavki: Koristite shapiro.test() za normalnost i var.test() za jednaku varijancu prije izvještavanja bilo koje p-vrijednosti.
  • 📊 Pravilo odlučivanja: P-vrijednost ispod 0.05 odbacuje nultu hipotezu, ali nikada ne dokazuje istinitost alternativne hipoteze.

T-test u R-u Jedan upareni uzorak

Što je statističko zaključivanje?

Statističko zaključivanje je umijeće generiranja zaključaka o distribuciji podataka. Znanstvenik podataka često se suočava s pitanjima na koja se može odgovoriti samo znanstveno. Stoga je statističko zaključivanje strategija za provjeru je li hipoteza istinita, tj. je li potvrđena podacima.

Uobičajena strategija za procjenu hipoteze je t-test, koji govori jesu li dvije srednje vrijednosti jednake. Također je poznat kao Studentski testT-test se može izračunati za:

  1. Jedan vektor naspram fiksne vrijednosti (t-test jednog uzorka)
  2. Dva vektora iz dvije odvojene skupine (neovisni t-test s dva uzorka)
  3. Dva vektora izmjerena na istim subjektima (parni t-test)

Svaki t-test pretpostavlja da su podaci nasumično uzorkovani i da vrijednosti (ili, za test parova, razlike) dolaze iz približno normalno distribuirane populacije. Verzija s dva neovisna uzorka dodatno pretpostavlja da su dvije skupine međusobno neovisne, a klasični oblik pretpostavlja da su im varijance jednake.

Što je T-test u R programiranju?

Osnovna ideja iza T-testa je korištenje statistike za procjenu dviju suprotnih hipoteza:

  • H0: nulta hipoteza, da je srednja vrijednost populacije jednaka testiranoj vrijednosti
  • H1alternativna hipoteza, da se srednja vrijednost populacije razlikuje od te vrijednosti

T-test je osmišljen za male veličine uzoraka, gdje je normalna aproksimacija nepouzdana. Zahtijeva da podaci budu približno normalno distribuirani.

Sintaksa T-testa u R

Osnovna sintaksa za t.test() u R je:

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 under the null hypothesis
- var.equal: Specify whether the variances of the two vectors are equal. By default, set to `FALSE`
- paired: Set to `TRUE` when the two vectors are repeated measures on the same subjects

Prije nego što bilo što pokrenete, uskladite raspored podataka s ispravnom varijantom testa.

Vrste T-testa u R-u

Odabir pogrešne varijante najčešća je pogreška t-testa, stoga počnite usklađivanjem rasporeda podataka s ispravnim pozivom.

Tip Koristite ga kada R poziv
Jedan uzorak Jedna skupina u usporedbi s poznatom ciljnom vrijednošću t.test(x, mu = vrijednost)
Neovisni dva uzorka (Welch) Dvije odvojene skupine, moguće nejednake varijance t.test(x, y)
Neovisna dva uzorka (združena) Dvije odvojene skupine s jednakom varijancom t.test(x, y, var.equal = TRUE)
sparen Isti subjekti mjereni su dva puta t.test(x, y, upareno = ISTINA)
Jednostrano Zanima te samo razlika u jednom smjeru t.test(x, mu = vrijednost, alternativa = “veće”)

Iznad tri skupine, t-test više nije prikladan. Prebacite se na ANOVA test, što održava ukupnu stopu pogreške na 5 posto umjesto da je povećava tijekom ponovljenih parnih usporedbi.

Jedan uzorak T-testa u R

T-test jednog uzorka, ili Studentov test, uspoređuje srednju vrijednost vektora s teoretskom sredinom, Jedan uzorak T-testa u R. Formula koja se koristi za izračunavanje t-testa je:

Jedan uzorak T-testa u R

Ovdje,

  • Jedan uzorak T-testa u R odnosi se na srednju vrijednost
  • Jedan uzorak T-testa u R do teorijske sredine
  • s je standardna devijacija
  • n broj opažanja.

Da biste procijenili statističku značajnost t-testa, morate izračunati p-vrijednost, p-vrijednost kreće se od 0 do 1 i tumači se na sljedeći način:

  • P-vrijednost niža od 0.05 znači da možete odbaciti nultu hipotezu. Imajte na umu da odbacivanje H0 nije isto što i dokazivanje istinitosti H1, to samo znači da su podaci malo vjerojatni pod H0.
  • P-vrijednost veća od 0.05 ukazuje na to da nemate dovoljno dokaza za odbacivanje nulte hipoteze.

P-vrijednost možete konstruirati gledajući odgovarajuću apsolutnu vrijednost t-testa u Studentovoj distribuciji sa stupnjevima slobode jednakim Jedan uzorak T-testa u R

Na primjer, s 5 opažanja uspoređujete svoju t-vrijednost sa Studentovom distribucijom s 4 stupnja slobode na razini pouzdanosti od 95 posto. Da bi se odbacila nulta hipoteza u dvostranom testu, apsolutna t-vrijednost mora biti veća od 2.776.

Vidi tablicu ispod:

Jedan uzorak T-testa u R

Jedan primjer T-testa u R

Pretpostavimo da ste tvrtka koja proizvodi kolačiće. Svaki kolačić treba sadržavati 10 grama šećera. Kolačići se proizvode pomoću stroja koji dodaje šećer u zdjelu prije nego što sve izmiješa. Vjerujete da stroj ne dodaje 10 grama šećera za svaki kolačić. Ako je vaša pretpostavka točna, stroj treba popraviti. Pohranili ste razinu šećera od trideset kolačića.

bilješke: Možete stvoriti nasumični vektor s funkcijom rnorm(). Ova funkcija generira normalno distribuirane vrijednosti. Osnovna sintaksa je:

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

Možete stvoriti distribuciju s 30 opažanja sa srednjom vrijednošću od 9.99 i standardnom devijacijom od 0.04.

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

Izlaz:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

Možete upotrijebiti t-test jednog uzorka da provjerite razlikuje li se razina šećera od one u receptu. Možete nacrtati test hipoteze:

  • H0: Prosječna razina šećera jednaka je 10
  • H1: Prosječna razina šećera razlikuje se od 10

Koristite razinu značajnosti od 0.05.

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

Evo rezultata:

Jedan primjer T-testa u R

P-vrijednost t-testa jednog uzorka iznosi 0.1079, što je iznad praga od 0.05. Interval pouzdanosti od 95 posto za prosjek kreće se od 9.973 do 10.002 grama i sadrži ciljnu vrijednost od 10. Stoga ne možete odbaciti H0: nema dovoljno dokaza da stroj odstupa od recepta.

Neovisni dvouzorni t-test u R-u

Nezavisni t-test s dva uzorka najčešće je korištena varijanta i primjenjuje se kad god dva seta mjerenja dolaze od različitih ispitanika: dvije radionice, dva stroja, dva tima za obradu.

Pretpostavimo da tvornica ima dvije proizvodne linije i želite znati pune li staklenke do iste težine.

set.seed(123)
line_a <- rnorm(25, mean = 500, sd = 8)
line_b <- rnorm(25, mean = 505, sd = 8)

# Welch test, the safe default
t.test(line_a, line_b)

# Pooled test, only when the variances are equal
t.test(line_a, line_b, var.equal = TRUE)

Pročitajte izlaz u četiri koraka.

  1. t je standardizirana veličina jaza između dvaju srednjih vrijednosti. Njegov predznak odražava samo redoslijed kojim ste proslijedili vektore.
  2. df je broj stupnjeva slobode. Welch daje frakcijsku vrijednost; združeni test daje cijeli broj jednak n1 + n2 – 2.
  3. p-vrijednost je vjerojatnost da se vidi ovolika razlika ako bi stvarne srednje vrijednosti bile identične.
  4. Interval pouzdanosti ograničava stvarnu razliku. Kada sadrži nulu, razlika nije značajna na toj razini.

Ako se vaši podaci nalaze u jednom okviru podataka s jednim stupcem vrijednosti i jednim stupcem faktora, umjesto toga koristite sučelje formule, koje je lakše za čitanje i izbjegava ručno dijeljenje podataka:

t.test(weight ~ line, data = jars)

Koju verziju koristiti. Ostavite var.equal na zadanu vrijednost FALSE osim ako niste testirali i potvrdili jednake varijance. Welchova korekcija gotovo ništa ne košta kada se varijance podudaraju, a štiti vas kada se ne podudaraju.

Upareni T-test u R

Parni t-test, također nazvan t-test ovisnog uzorka, primjenjuje se kada se ista skupina mjeri dva puta. Tipične primjene su:

  • A / B testiranje: Usporedite dvije varijante
  • Studije slučaja i kontroleprije i poslije tretmana na istim subjektima

Primjer uparenog T-testa u R

Tvrtka za proizvodnju pića zainteresirana je za učinak programa popusta na prodaju. Tvrtka je odlučila pratiti dnevnu prodaju jedne od svojih trgovina u kojoj se promovira program. Na kraju programa, tvrtka želi znati postoji li statistička razlika između prosječne prodaje trgovine prije i nakon programa.

  • tvrtka tracPratili smo prodaju svaki dan prije početka programa. Ovo je naš prvi vektor.
  • Program se promovira tjedan dana, a prodaja se bilježi svaki dan. Ovo je naš drugi vektor.
  • Provest ćete t-test kako biste procijenili učinkovitost programa. To se naziva upareni t-test jer vrijednosti oba vektora dolaze iz iste distribucije (tj. iste trgovine).

Testiranje hipoteze je:

  • H0: Nema razlike u prosjeku
  • H1: Dva su sredstva različita

Imajte na umu da klasični t-test pretpostavlja nepoznatu, ali jednaku varijancu u obje skupine. Stvarni podaci rijetko to točno zadovoljavaju, a ignoriranje razlike može iskriviti rezultat.

Rješenje je Welchov t-test, koji ublažava pretpostavku o jednakoj varijanci. R ga primjenjuje prema zadanim postavkama jer je var.equal NETOČNO osim ako ne kažete drugačije. U ovom skupu podataka oba vektora su generirana s istom standardnom devijacijom, tako da možete sigurno postaviti var.equal = TRUE.

Kreirate dva slučajna vektora iz Gaussove distribucije s višom sredinom za prodaju nakon programa.

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)

Primjer uparenog T-testa u R

P-vrijednost je 0.04606, odmah ispod praga od 0.05, pa odbacujete H0 i zaključujete da se dva prosjeka značajno razlikuju. Čini se da je program popusta povećao prodaju.

⚠️ Važno: Gornji poziv uspoređuje dva vektora kao nezavisan uzorci. Budući da su obje serije mjerenja u istoj radionici, statistički ispravan poziv zbraja upareno = ISTINA:

t.test(sales_before, sales_after, paired = TRUE)

Spareni oblik testira srednju vrijednost dnevnih razlika umjesto razlike dviju srednjih vrijednosti. Uklanja varijaciju na razini trgovine koju dijele oba vektora i stoga ima veću statističku snagu.

Kako provjeriti pretpostavke T-testa u R-u

P-vrijednost t-testa ima smisla samo kada su njene pretpostavke važeće. Svaka od njih ima izravnu provjeru.

1. Normalnost. Testovi s jednim uzorkom i testovi s dva uzorka pretpostavljaju da su vrijednosti približno normalne; test s parovima pretpostavlja razlike su. Pregledajte QQ dijagram i potvrdite Shapiro-Wilkovim testom:

qqnorm(sugar_cookie); qqline(sugar_cookie)
shapiro.test(sugar_cookie)

# for a paired design, test the differences
shapiro.test(sales_after - sales_before)

Shapiro-Wilkova p-vrijednost iznad 0.05 znači da se normalnost ne može odbaciti. S više od otprilike 30 opažanja po skupini, središnji granični teorem čini t-test robusnim do umjereno asimetričnim.

2. Jednaka varijanca. Samo združeni test s dva uzorka treba ovo. Testirajte ga F-testom:

var.test(line_a, line_b)

P-vrijednost iznad 0.05 podržava jednake varijance, što opravdava var.equal = TRUE.

3. Nezavisnost. To proizlazi iz dizajna studije i ne može se testirati naknadno. Ako isti ispitanik doprinosi oba vektora, neovisni test je jednostavno pogrešan alat i potreban vam je upareni = TOČNO.

Kada pretpostavka ne uspije. Za očito nenormalne podatke s malim uzorcima, koristite alternative temeljene na rangu: wilcox.test(x, y) zamjenjuje t-test s dva uzorka, a wilcox.test(x, y, paired = TRUE) zamjenjuje uparenu verziju. Nijedan ne zahtijeva normalnost, iako oba imaju malu razliku u snazi ​​kada su podaci zapravo normalni.

T-test u R-u: Ključne informacije i reference testova

  • Statističko zaključivanje je umijeće generiranja zaključaka o distribuciji podataka.
  • T-test pripada obitelji inferencijalne statistike. Obično se koristi da bi se otkrilo postoji li statistička razlika između srednjih vrijednosti dviju skupina.
  • Jednouzorkovni t-test, ili Studentov test, uspoređuje srednju vrijednost vektora s teoretskom srednjom vrijednošću.
  • Parni t-test, ili t-test ovisnog uzorka, primjenjuje se kada se ista skupina mjeri dva puta.

Donja tablica sažima svaki gore navedeni test:

test Hipoteza za testiranje p-vrijednost Code Neobavezni argument
t-test jednog uzorka Srednja vrijednost vektora razlikuje se od teorijske sredine 0.05
t.test(x, mu = mean)
t-test uparenog uzorka Prosjek A se razlikuje od prosjeka B za iste subjekte 0.05
t.test(A, B, paired = TRUE)
var.equal = TRUE

Ako ste spremni pretpostaviti jednake varijance u neovisnom testu s dva uzorka, postavite var.equal = TRUE. Ostavite je na zadanoj vrijednosti FALSE kako biste pokrenuli sigurniju Welchovu korekciju.

Pitanja i odgovori

Test uparenih podataka analizira razlike unutar ispitanika kada se isti ispitanici mjere dva puta. Neovisni test uspoređuje dvije odvojene skupine. Korištenje neovisnog testa na sparenim podacima odbacuje informacije i smanjuje statističku snagu.

Koristite Welch kad god niste potvrdili jednake varijance, zbog čega ga R primjenjuje prema zadanim postavkama. Ne troši gotovo nikakvu energiju kada se varijance podudaraju, a štiti stopu pogrešaka kada se ne podudaraju.

Za male uzorke, prebacite se na Wilcoxon rang-sum ili signed-rang test s wilcox.test(). Za veće uzorke, centralni granični teorem održava t-test pouzdanim unatoč umjerenim odstupanjima od normalnosti.

Timovi koriste sparene t-testove za usporedbu dva modela s identičnim unakrsnim validacijskim naborima i za procjenu je li rezultat A/B eksperimenta stvaran. Spareni dizajn uklanja varijacije od nabora do nabora iz usporedbe.

Da. AI asistenti mogu objasniti stupnjeve slobode, prevesti intervale pouzdanosti na jednostavan jezik i upozoriti kada je odabrana pogrešna varijanta. Potvrdite svako očitanje vlastitim rezultatima shapiro.test() i var.test().

Sažmite ovu objavu uz: