T-test R programmeerimises: üks näidis ja paarisnäide

⚡ Nutikas kokkuvõte

R-i t-test võrdleb keskmisi t.test() funktsiooni abil, hõlmates ühte valimit fikseeritud sihtmärgi, kahe sõltumatu rühma ja paaris korduvate mõõtmiste suhtes. See läbimäng läbib iga variandi, loeb p-väärtuse õigesti ja kontrollib aluseks olevaid eeldusi.

  • 📐 Põhistatistika: T-väärtus jagab vaadeldava keskmise erinevuse selle standardveaga, seega suuremad suurused räägivad nullhüpoteesi vastu.
  • 🧪 Ühe valimi test: t.test(x, mu = 10) kontrollib üksikut vektorit teoreetilise väärtuse, näiteks retsepti spetsifikatsiooni, suhtes.
  • 👥 Kahe valimi test: t.test(x, y) võrdleb kahte sõltumatut rühma ja kasutab ebavõrdse dispersiooni korral vaikimisi Welchi korrektsiooni.
  • 🔗 Paaristest: Paaritud = TRUE lisamine testib subjektisiseste erinevuste keskmist ja eemaldab jagatud variatsiooni.
  • Eelduste kontrollimine: Enne p-väärtuse esitamist kasutage normaalsuse jaoks shapiro.test() ja võrdse dispersiooni jaoks var.test() funktsiooni.
  • 📊 Otsustusreegel: P-väärtus alla 0.05 lükkab tagasi nullhüpoteesi, kuid ei tõesta kunagi alternatiivhüpoteesi tõesust.

T-test R-s, üks valim paaris

Mis on statistiline järeldus?

Statistiline järeldus on andmete jaotuse kohta järelduste tegemise kunst. Andmeteadlane seisab sageli silmitsi küsimustega, millele saab vastata ainult teaduslikult. Seetõttu on statistiline järeldus strateegia, mille eesmärk on kontrollida, kas hüpotees on tõene ehk kas andmed seda kinnitavad.

Hüpoteesi hindamiseks on levinud strateegia t-test, mis näitab, kas kaks keskmist on võrdsed. Seda tuntakse ka kui Õpilase testT-testi saab arvutada järgmiste väärtuste jaoks:

  1. Üksikvektor fikseeritud väärtuse vastu (ühe valimi t-test)
  2. Kaks vektorit kahest eraldi rühmast (sõltumatu kahe valimi t-test)
  3. Kaks vektorit, mis on mõõdetud samadel katsealustel (paaris-t-test)

Iga t-test eeldab, et andmed on juhuslikult valitud ja väärtused (või paaristesti puhul erinevused) pärinevad ligikaudselt normaaljaotusega populatsioonist. Sõltumatu kahe valimi versioon eeldab lisaks, et kaks rühma on teineteisest sõltumatud, ja klassikaline vorm eeldab, et nende dispersioonid on võrdsed.

Mis on T-test R-programmeerimises?

T-testi põhiidee on kasutada statistikat kahe vastupidise hüpoteesi hindamiseks:

  • H0nullhüpotees, mille kohaselt populatsiooni keskmine on võrdne testitava väärtusega
  • H1alternatiivne hüpotees, et populatsiooni keskmine erineb sellest väärtusest

T-test on mõeldud väikeste valimimahtude jaoks, mille puhul normaaljaotus on ebausaldusväärne. See eeldab, et andmed oleksid ligikaudu normaaljaotusega.

T-testi süntaks keeles R

R-i t.test() põhisüntaks on:

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

Enne millegi käivitamist sobita oma andmete paigutus testi õige variandiga.

T-testi tüübid R-is

Vale variandi valimine on kõige levinum t-testi viga, seega alustage oma andmete paigutuse sobitamisest õige kutsumisega.

KASUTUSALA Kasutage seda siis, kui R-kõne
Üks proov Üks rühm võrreldes teadaoleva sihtväärtusega t.test(x, müü = väärtus)
Sõltumatu kahe valimi (Welch) Kaks eraldi rühma, dispersioonid võivad olla ebavõrdsed t.test(x, y)
Sõltumatu kahe valimi (koondatud) Kaks eraldi rühma võrdse dispersiooniga t.test(x, y, muutuja = TÕENE)
Seotud Samad katsealused mõõdeti kaks korda t.test(x, y, paaris = TÕENE)
Ühepoolne Sind huvitab ainult ühesuunaline erinevus t.test(x, mu = väärtus, alternatiiv = „suurem“)

Alates kolmest rühmast ei ole t-test enam sobiv. Lülitu üle ANOVA test, mis hoiab üldise veamäära 5 protsendi juures, selle asemel, et seda korduvate paaripõhiste võrdluste korral suurendada.

Üks näidis T-test R-s

One Sample t-test ehk Studenti test võrdleb vektori keskmist teoreetilise keskmisega, Üks näidis T-test R-s. T-testi arvutamiseks kasutatav valem on järgmine:

Üks näidis T-test R-s

Siin

  • Üks näidis T-test R-s viitab keskmisele
  • Üks näidis T-test R-s teoreetilise keskmiseni
  • s on standardhälve
  • n vaatluste arv.

T-testi statistilise olulisuse hindamiseks peate arvutama p-väärtus. p-väärtus on vahemikus 0 kuni 1 ja seda tõlgendatakse järgmiselt:

  • P-väärtus alla 0.05 tähendab, et nullhüpoteesi saab ümber lükata. Pane tähele, et H0 ümberlükkamine ei ole sama mis H1 tõeks tegemine, see tähendab ainult seda, et andmed on H0 korral ebatõenäolised.
  • P-väärtus, mis on suurem kui 0.05, näitab, et nullhüpoteesi ümberlükkamiseks pole piisavalt tõendeid.

P-väärtuse saab konstrueerida, vaadates Studenti jaotuse t-testi vastavat absoluutväärtust vabadusastmetega, mis on võrdne Üks näidis T-test R-s

Näiteks võrdlete oma t-väärtust viie vaatluse korral Studenti jaotusega, millel on 4 vabadusastet ja 95-protsendiline usaldusnivoo. Nullhüpoteesi ümberlükkamiseks kahepoolse testi abil peab absoluutne t-väärtus ületama 2.776.

Vt allolevat tabelit:

Üks näidis T-test R-s

Üks näidis T-testi näide R-is

Oletame, et olete küpsiseid tootev ettevõte. Iga küpsis peaks sisaldama 10 grammi suhkrut. Küpsiseid toodab masin, mis lisab enne kõige segamist kaussi suhkru. Arvate, et masin ei lisa iga küpsise kohta 10 grammi suhkrut. Kui teie oletus vastab tõele, tuleb masin parandada. Salvestasite kolmekümne küpsise suhkru taseme.

märkused: Saate luua juhusliku vektori funktsiooniga rnorm(). See funktsioon genereerib normaalselt jaotatud väärtused. Põhiline süntaks on:

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

Saate luua 30 vaatlusega jaotuse, mille keskmine on 9.99 ja standardhälve 0.04.

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

Väljund:

## [1]  9.967581  9.980793 10.052348  9.992820  9.995172 10.058603

Ühe prooviga t-testi abil saate kontrollida, kas suhkru tase erineb retseptist. Saate koostada hüpoteesi testi:

  • H0: Keskmine suhkru tase on 10
  • H1: Keskmine suhkru tase on erinev kui 10

Kasutate olulisuse taset 0.05.

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

Siin on väljund:

Üks näidis T-testi näide R-is

Ühe valimi t-testi p-väärtus on 0.1079, mis on üle 0.05 läve. Keskmise 95-protsendiline usaldusvahemik on 9.973 kuni 10.002 grammi ja see sisaldab sihtväärtust 10. Seega ei saa te H0-d tagasi lükata: pole piisavalt tõendeid selle kohta, et masin kaldub retseptist kõrvale.

Sõltumatu kahe valimi T-test R-is

Sõltumatu kahe valimi t-test on kõige sagedamini kasutatav variant ja seda rakendatakse alati, kui kaks mõõtmiskomplekti pärinevad erinevatelt subjektidelt: kahelt töökojalt, kahelt masinalt, kahelt ravirühmalt.

Oletame, et tehases on kaks tootmisliini ja te tahate teada, kas purgid täidetakse sama kaaluga.

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)

Loe väljundit neljas etapis.

  1. t on kahe keskmise vahelise tühimiku standardiseeritud suurus. Selle märk kajastab ainult vektorite edastamise järjekorda.
  2. df on vabadusastmed. Welchi test annab murdarvu; koondtest annab täisarvu, mis on võrdne n1 + n2 – 2.
  3. p-väärtus Kas on tõenäosus näha nii suurt lõhet, kui tegelikud keskmised oleksid identsed.
  4. Usaldusvahemik piirab tegelikku erinevust. Kui see sisaldab nulli, ei ole erinevus sellel tasemel oluline.

Kui teie andmed asuvad ühes andmeraamis, kus on üks väärtuste veerg ja üks teguri veerg, kasutage selle asemel valemiliidest, mida on lihtsam lugeda ja mis väldib andmete käsitsi jagamist:

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

Millist versiooni kasutada. Jätke var.equal vaikesätetele FALSE, välja arvatud juhul, kui olete testinud ja kinnitanud võrdseid dispersioone. Welchi korrektsioon ei maksa peaaegu midagi, kui dispersioonid juhtuvad kokku langema, ja see kaitseb teid, kui need kokku ei lange.

Paaritud T-test R-s

Paaristatud t-testi, mida nimetatakse ka sõltuva valimi t-testiks, kasutatakse siis, kui sama rühma mõõdetakse kaks korda. Tüüpilised rakendused on:

  • A / B testimine: Võrrelge kahte varianti
  • Juhtumikontrolli uuringudenne ja pärast samadel teemadel tehtud ravi

Paaritud T-testi näide R-is

Joogifirmal on huvi teada soodusprogrammi toimivust müügil. Ettevõte otsustas jälgida ühe oma poe igapäevast müüki, kus programmi reklaamitakse. Programmi lõpus soovib ettevõte teada, kas poe keskmisel müügil enne ja pärast programmi on statistiline erinevus.

  • ettevõte tracjälgisin müüki iga päev enne programmi algust. See on meie esimene vektor.
  • Programmi reklaamitakse ühe nädala jooksul ja müüki registreeritakse iga päev. See on meie teine ​​vektor.
  • Programmi tõhususe hindamiseks teete t-testi. Seda nimetatakse paaris t-testiks, kuna mõlema vektori väärtused pärinevad samast jaotusest (st samast poest).

Hüpoteesi testimine on järgmine:

  • H0: Keskmisel pole vahet
  • H1: Need kaks vahendit on erinevad

Pea meeles, et klassikaline t-test eeldab tundmatut, kuid võrdset dispersiooni mõlemas rühmas. Tegelikud andmed vastavad sellele tingimusele harva täpselt ja erinevuse ignoreerimine võib tulemust moonutada.

Lahenduseks on Welchi t-test, mis leevendab võrdse dispersiooni eeldust. R rakendab seda vaikimisi, kuna var.equal on VÄÄR, kui te pole teisiti öelnud. Selles andmestikus genereeriti mõlemad vektorid sama standardhälbega, seega võite var.equal ohutult väärtuseks määrata TÕENE.

Saate luua Gaussi jaotusest kaks juhuslikku vektorit, millel on programmijärgse müügi keskmine väärtus.

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)

Paaritud T-testi näide R-is

P-väärtus on 0.04606, mis on veidi alla 0.05 läve, seega lükkate H0 tagasi ja järeldate, et kaks keskmist erinevad oluliselt. Näib, et allahindlusprogramm on müüki suurendanud.

⚠️ Tähtis: ülaltoodud ülesanne võrdleb kahte vektorit järgmiselt sõltumatud proovid. Kuna mõlemad seeriad on sama töökoja mõõtmised, lisab statistiliselt korrektne hinnang paaris = TÕENE:

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

Paarisvorm testib kahe keskmise vahe asemel päevaste erinevuste keskmist. See eemaldab mõlema vektori jagatud poe tasemel varieeruvuse ja omab seetõttu suuremat statistilist võimsust.

Kuidas kontrollida T-testi eeldusi R-is

T-testi p-väärtus on oluline ainult siis, kui selle eeldused kehtivad. Igal eeldusel on otsene kontroll.

1. Normaalsus. Ühe ja kahe valimi testid eeldavad, et väärtused on ligikaudu normaalsed; paaristest eeldab, et erinevused on. Kontrollige QQ-graafikut ja kinnitage see Shapiro-Wilki testiga:

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

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

Shapiro-Wilki p-väärtus üle 0.05 tähendab, et normaalsust ei saa ümber lükata. Rohkem kui umbes 30 vaatluse korral rühma kohta muudab keskne piirteoreem t-testi niikuinii robustseks kuni mõõduka asümmeetriani.

2. Võrdne dispersioon. Ainult kahe valimi koondtest vajab seda. Testi seda F-testiga:

var.test(line_a, line_b)

P-väärtus üle 0.05 toetab võrdseid dispersioone, mis õigustab var.equal = TRUE.

3. Iseseisvus. See tuleneb uuringu ülesehitusest ja seda ei saa tagantjärele testida. Kui sama subjekt annab panuse mõlemasse vektorisse, on sõltumatute vektorite test lihtsalt vale tööriist ja vaja on paaris = TÕENE.

Kui eeldus ebaõnnestub. Väikeste valimitega selgelt mitte-normaalsete andmete puhul kasutage järjestuspõhiseid alternatiive: wilcox.test(x, y) asendab kahe valimi t-testi ja wilcox.test(x, y, paired = TRUE) asendab paarisversiooni. Kumbki ei nõua normaalsust, kuigi mõlemad vahetavad veidi võimsust, kui andmed on tegelikult normaalsed.

T-test R-keeles: peamised järeldused ja testi viited

  • Statistilised järeldused on andmete jaotuse kohta järelduste tegemise kunst.
  • T-test kuulub järeldusstatistika perekonda. Tavaliselt kasutatakse seda selleks, et välja selgitada, kas kahe rühma keskmiste vahel on statistiline erinevus.
  • Ühe valimi t-test ehk Studenti test võrdleb vektori keskmist teoreetilise keskmisega.
  • Paaris-t-test ehk sõltuva valimi t-test rakendatakse siis, kui sama rühma mõõdetakse kaks korda.

Allolev tabel võtab kokku kõik ülaltoodud testid:

test Hüpotees testimiseks p-väärtus Code Valikuline argument
ühe valimi t-test Vektori keskmine erineb teoreetilisest keskmisest 0.05
t.test(x, mu = mean)
paarisproovi t-test Keskmine A erineb keskmisest B-st samadel katsealustel 0.05
t.test(A, B, paired = TRUE)
var.equal = TRUE

Kui olete nõus eeldama võrdseid dispersioone kahe sõltumatu valimi testis, määrake var.equal = TRUE. Jätke see vaikeväärtusele FALSE, et käivitada turvalisem Welchi korrektsioon.

KKK

Paaristest analüüsib katsealuste siseseid erinevusi, kui samu katsealuseid mõõdetakse kaks korda. Sõltumatu test võrdleb kahte eraldi gruppi. Sõltumatu testi kasutamine paarisandmetel kaotab informatsiooni ja vähendab statistilist võimsust.

Kasutage Welchi alati, kui te pole võrdseid dispersioone kinnitanud, mistõttu R rakendab seda vaikimisi. See ei maksa peaaegu üldse energiat, kui dispersioonid ühtivad, ja kaitseb veamäära, kui need ei ühti.

Väikeste valimite puhul lülituge Wilcoxoni astmesummatestile või astmemärgitestile funktsiooniga wilcox.test(). Suuremate valimite puhul hoiab t-testi usaldusväärsuse keskne piirväärtusteoreem hoolimata mõõdukatest kõrvalekalletest normaalsusest.

Meeskonnad kasutavad paaris t-teste kahe mudeli võrdlemiseks identsete ristvalideerimiskordade alusel ja A/B-eksperimendi tulemuse reaalsuse hindamiseks. Paarisdisain eemaldab võrdlusest kordadevahelise variatsiooni.

Jah. Tehisintellekti assistendid oskavad selgitada vabadusastmeid, tõlkida usaldusvahemikud lihtsasse keelde ja hoiatada, kui valiti vale variant. Kinnitage iga näitu oma shapiro.test() ja var.test() tulemustega.

Võta see postitus kokku järgmiselt: