Gekissimo.net - Opi ansaitsemaan rahaa webilläsi Internetissä!

Aloittelijan opas opiskelijan t-testiin pythonissa tyhjästä

Seuraava artikkeli auttaa sinua: Aloittelijan opas opiskelijan t-testiin pythonissa tyhjästä

Tietojen kanssa käytetään erilaisia ​​tilastollisia testejä, joista jokaisella saadaan erilainen käsitys. Kun meillä on dataa ryhmiin ja meidän on selvitettävä niistä muutama ominaisuus, käytetään tässä tapauksessa Studentin t-testiä. Tätä testiä käytetään yleensä vertaamaan yhtäläisyyksiä ja eroja kahden ryhmän välillä. Tässä artikkelissa käsittelemme Studentin t-testiä yksityiskohtaisesti alkaen sen perusteista. Oppiaksemme kuinka se voidaan toteuttaa käytännössä, otamme satunnaista dataa ja teemme testit pythonilla, joten yritämme oppia tämän konseptin tyhjästä. Tärkeimmät tässä artikkelissa käsiteltävät kohdat on lueteltu alla.

Sisällysluettelo

  1. Mikä on opiskelijan T-testi?
  2. T-testin tyypit
  3. Missä ja miten käytämme T-testiä?
  4. T-testin toteuttaminen pythonilla

Aloitetaan lyhyellä esittelyllä opiskelijan t-testiin.

Mikä on opiskelijan T-testi?

T-testi on riippumattomuustesti, jolla testataan kahden ryhmän välistä suhdetta, joille on tallennettu jatkuvaa tietoa keskiarvon ja keskihajonnan avulla ja joilla on tiettyjä yhteisiä piirteitä. Yleensä se testaa, kuuluvatko kaksi näytettä samaan populaatioon tarkastelemalla nollahypoteesia, jonka mukaan niiden keskiarvot ovat samat. Tämä on tilastollinen hypoteesin testi, jossa testitilasto seuraa Studentin t-jakaumaa nollahypoteesin alla.

T-testin tyypit?

T-testiä on kolmenlaisia:

  1. Yksi esimerkki t-testistä: Käytämme tätä testiä, kun on yksi otos ja tarvitsemme vertailun perusjoukon ja otoksen välillä testataksemme, kuuluuko otos annettuun populaatioon.
  2. Kaksi esimerkkiä t-testistä: Kun näytteitä on kaksi ryhmää ja haluamme verrata niitä selvittääksemme, kuuluvatko ne samaan populaatioon, tämä testi toteutetaan.
  3. Parillinen t-testi: Sitä käytetään, kun näytteet on yhdistetty. Kokeilemme esimerkiksi uutta ihmisharjoitusta ja otimme näytteitä harjoituksen jälki- ja ennen vaikutuksista. Nyt haluamme selvittää, onko tästä harjoituksesta hyötyä vai ei. Käytämme parillisia t-testejä erojen selvittämiseen, koska näytteet ovat yhteydessä toisiinsa.

Yhden näytteen t-testin matemaattinen kaava annetaan seuraavasti:

t = ( x̄ – μ) / (s / √n)

Missä,

t = Opiskelijan t-testi

m = näytteen keskiarvo

μ = populaation teoreettinen keskiarvo

s = näytteen keskihajonta

n = näytteen koko

Kuten edellä todettiin, kaavassa on kahdenlaisia ​​keskiarvoja: väestö tarkoittaa ja näyte tarkoittaa. Ymmärrämme niiden merkityksen.

  • Väestön keskiarvo on perusjoukon keskiarvo eli data, josta näytteet otetaan.
  • Esimerkki keskiarvo on keskiarvo näytteestä, jolla testi suoritetaan.

Kahden näytteen testissä käytetään seuraavaa kaavaa:

🔥 Empfohlen:  Ibotta Huijauslista | Lopullinen opas

t = ( x̄1– x̄2) / √ [(s12 / n1) + (s22 / n2)]

Missä,

x̄1 = 1.Samplen havaittu keskiarvo

x̄2 = 2. näytteen havaittu keskiarvo

s1 = 1stSamplen keskihajonta

s2 = 2. näytteen keskihajonta

n1 = 1stSamplen koko

n2 = 2. näytteen koko

Missä ja miten käytämme T-testiä?

Koska t-testi on parametrinen erotesti, käytämme sitä silloin, kun meidän on tarkistettava jatkuvan datan ryhmän välinen korrelaatio. Sitä voidaan käyttää vain kahdelle tietoryhmälle. Jos haluat verrata useampaa kuin kahta dataryhmää, käytä ANOVA-testiä tai post-hoc-testiä. Ennen kuin siirrymme käyttämään sitä, keskustelemme ensin joistakin oletuksista.

Koska kyseessä on parametrinen testi, oletukset olisivat samat kuin muut parametriset testit. T-testi olettaa tietosi:

  1. Ovat itsenäisiä,
  2. Niillä on normaalijakauma (noin) ja
  3. Varianssi on homogeeninen (varianssin määrä on sama tiedoissa)

Kuinka t-testiä käytetään?

Koska t-testi on hypoteesin tilastollinen testi, meidän on määriteltävä tämä hypoteesi. Nolla (H0) ja vaihtoehtoinen (H1) hypoteesi, joka vaihtelee t-testin tyypin mukaan.

  1. Hypoteesi yhden näytteen t-testille:

Ongelma: Vertaa populaation keskiarvoa ja otoksen keskiarvoa.

  • H : Populaation ja otoksen keskiarvon välillä ei ole merkittävää eroa (μ = x).
  • H1 : Populaation ja otoksen keskiarvon välillä on merkittävä ero (μ != x).
  1. Kahden otoksen t-testin hypoteesi:

Ongelma: Vertaa kahden ryhmän keskiarvoa.

  • H: Ryhmien välillä ei ole merkittävää keskimääräistä eroa (μ1 = μ2)
  • H1: Ryhmien välillä on merkittävä keskimääräinen ero (μ1!= μ2)
  1. Hypoteesi parinäytteen t-testille:

Ongelma: Vertaa kahden ryhmän keskiarvoja.

  • H: Kahden näytteen keskiarvon välillä ei ole merkittävää eroa (x̄1= x̄2)
  • H1: Kahden otoksen keskiarvon välillä on merkittävä ero (x̄1!= x̄2)

Toteutus pythonissa

Tämän osion tavoitteena on näyttää, miten erityyppisiä t-testejä voidaan toteuttaa. Kuten tiedämme, on olemassa kolmenlaisia ​​t-testejä, joten aloitetaan nämä testit yksitellen.

  1. Yksi näyte t-testistä

Määritä hypoteesi

  • H : populaation keskiarvo on suurempi tai yhtä suuri kuin otoksen keskiarvo (μ> = x)
  • H1 : väestön keskiarvo on pienempi kuin otoksen keskiarvo (μ< x)

Tuomme kirjastoja, joita käytetään.

tuonti numpy as np from scipy import stats

Seuraavaksi luomme satunnaisen näytteen tai voimme lukea sen tietokehyksestä.

näyte = [183, 152, 178, 157, 194, 163, 144, 114, 178, 152, 118, 158, 172, 138]

🔥 Empfohlen:  Yhden luukun opas suusta suuhun markkinointiin vuonna 2022

pop_mean = 165

Olen luonut muuttujaan tallennetun satunnaisen näytteen näyte ja määritteli populaation keskiarvon muuttujassa pop_mean. Lasketaan näytteen keskiarvo ja näytteen keskivirhe.

keskiarvo = np.mean(sample) std_error = np.std(sample) / np.sqrt(len(sample)) näytteen keskiarvo: 157,21428571428572 standardivirhe: 6,034914208534632

Kaavan mukaan tarvitsemme näytekeskiarvon ja keskivirheen. Vakiovirheen kaava on:

vakiovirhe = (s / √n)

Missä,

s = näytteen keskihajonta

n = näytteen koko

np.std() käytetään keskihajonnan laskemiseen

np.sqrt(len()) käytetään otoskoon neliöjuuren laskemiseen

Lasketaan vertailun t-staattinen, t-kriittinen ja p-arvo.

# laskea t-tilastot t = abs(keskiarvo – pop_keskiarvo) / std_error print(‘t static:’,t) # kaksisuuntainen kriittinen arvo alfa = 0.05 t_crit = stats.t.ppf(q=0.975, df=13) print(“Kriittinen arvo t kaksipyrstölle:”,t_crit) # yksisuuntainen kriittinen arvo alfa = 0.05 t_crit = stats.t.ppf(q=0.95, df=13) print(“Kriittinen arvo t one tailed: “,t_crit) # saada kaksisuuntainen p-arvo p_arvo = 2*(1-stats.t.cdf(x=t, df=13)) print(“p-arvo:”,p_arvo)

t staattinen: 1,2901118419717794

Kriittinen arvo t kaksipyrstölle: 2,1603686564610127

Kriittinen arvo t one tailed: 1,7709333959867988

p-arvo: 0,21948866305060344Yllä oleva

Joten yllä olevan koodirivin avulla saimme t-staattisen, t-kriittisen ja p-arvon arvon. Koska p-arvo on suurempi kuin alfa-arvo, tuemme nollahypoteesia. Siksi populaation keskiarvo on suurempi kuin otoksen keskiarvo.

  1. Kaksi näytettä t-testiä

Ensin täsmennetään hypoteesi:

  • H : Merkittävää keskimääräistä eroa ei ole (μ1 = μ2)
  • H1 : Keskimääräinen ero on merkittävä (μ1!= μ2)

Tuomme kirjastoja, joita käytetään.

tuonti numpy as np from scipy import stats

Luodaan satunnainen näyte tai voimme lukea sen tietokehyksestä.

näyte_1=[13.4,10.9,11.2,11.8,14,15.3,14.2,12.6,17,16.2,16.5,15.7]

näyte_2=[12,11.7,10.7,11.2,14.8,14.4,13.9,13.7,16.9,16,15.6,16]

Olen luonut kaksi satunnaista näytettä, jotka sisältävät luettelon satunnaisista float-luvuista. Laske keskiarvo otokselle ja varianssi molemmille varianssille

näyte1_palkki, näyte2_palkki = np.keskiarvo(näyte_1), np.keskiarvo(näyte_2) n1, n2 = len(näyte_1), len(näyte_2) var_näyte1, var_näyte2= np.var(näyte_1, ddof=1), ample_np. , ddof=1) # yhdistetty otosvarianssi var = ( ((n1-1)*muut_sample1) + ((n2-1)*var_sample2) ) / (n1+n2-2) # vakiovirhe std_error = np.sqrt(var * (1.0 / n1 + 1.0 / n2)) print(“näyte_1 keskiarvo:”,np.round(näyte1_bar,4)) print(“näyte_2 keskiarvo:”,np.round(näyte2_bar,4)) print(“varianssi sample_1:”,np.round(var_sample1,4)) print(“näytteen_2:”,np.round(var_sample2,4)) print(“yhdistetty näytevarianssi:”,var) print(“vakiovirhe:”, std_error)

näyte_1 keskiarvo: 14.0667

näyte_2 keskiarvo: 13.9083

näytteen_1 varianssi: 4,4788

näytteen_2 varianssi: 4,3445

yhdistetyn näytteen varianssi: 4,411628787878788

vakiovirhe: 0.8574797167551339

Yllä olevalla koodirivillä olemme laskeneet kahden otoksen keskiarvon ja varianssin kaavan mukaan. Tulosteessa näemme, että kahden näytteen varianssissa on pieni ero, joten meidän on yhdistettävä näytteen varianssi ja laskettava sitten keskivirhe.

Lasketaan vertailun t-staattinen, t-kriittinen ja p-arvo.

# laskea t-tilastot t = abs(näyte1_bar – näyte2_bar) / std_error print(‘t static:’,t) # kaksisuuntainen kriittinen arvo alfa = 0,05 t_c = stats.t.ppf(q=0,975, df=12) print(“Kriittinen arvo t kaksisuuntaiselle:”,t_c) # yksisuuntainen kriittinen arvo alfa = 0,05 t_c = stats.t.ppf(q = 0,95, df = 12) print(“Kriittinen arvo t yksisuuntaiselle: “,t_c) # hanki kaksisuuntainen p-arvo p_two = 2*(1-stats.t.cdf(x=t, df=12)) print(“p-arvo kahdelle pyrstölle:”,p_two) # hanki yksi -pyrstö p-arvo p_one = 1-stats.t.cdf(x=t, df=12) print(“p-arvo yhdelle tailed:”,p_one)

🔥 Empfohlen:  Onko Shopifylla ylläpitotilaa? Täydellinen opas

t staattinen: 0,02623621941624538

Kriittinen arvo t kaksipyrstölle: 2,1788128296634177

Kriittinen arvo t one tailed: 1,782287555649159

p-arvo kaksisuuntaiselle: 0,9795001856247858

p-arvo yhden pyrstön kohdalla: 0,4897500928123929

Kuten ulostulossa havaittiin, p-arvo on suurempi kuin alfa-arvo, jonka tuemme nollahypoteesia. Siksi näiden kahden näytteen välillä ei ole merkittävää keskimääräistä eroa.

  1. Parillinen t-testi

Ensin täsmennetään hypoteesi:

  • H : Ei muutosta opetuksen jälkeen (x̄1= x̄2)
  • H1 : Opetusmaksun jälkeen tapahtuu muutos (x̄1!= x̄2)

Luodaan satunnainen näyte tai voimme lukea sen tietokehyksestä.

tulos_1 = [23, 20, 19, 21, 18, 20, 18, 17, 23, 16, 19]

tulos_2=[ 24, 19, 22, 18, 20, 22, 20, 20, 23, 20, 18]

Yllä oleva esimerkki on opiskelijoiden arvosanat ennen opetusta ja sen jälkeen. Laske keskiarvo, keskivirhe, statiikka, t-kriittinen ja p-arvo

keskiarvo1, keskiarvo2 = np.keskiarvo(tulos_1), np.keskiarvo(tulos_2) n = len(tulos_1) # havaintojen välinen summan neliöero d1 = summa([(result_1[i]-tulos_2[i])**2 i:lle alueella(n)]) # havaintojen välinen summaero d2 = summa([result_1[i]-tulos_2[i] i:lle alueella(n)]) std_dev = np.sqrt((d1 – (d2**2 / n)) / (n – 1)) # keskiarvon erotuksen standardivirhe se = std_dev / np.sqrt (n) t_stat = (keskiarvo1 – keskiarvo2) / se df = n – 1 # laske kriittinen arvo kriittinen =stats.t.ppf(1.0 – alpha, df) p = (1.0 – stats.t.cdf(abs(t_stat) ), df)) * 2.0 print(t_stat,kriittinen,p)

-1,7073311796734205 1,8124611228107335 0,11856467647601066

Tässä olemme laskeneet otoksen keskiarvon ja sitten löytäneet erojen neliösumman. Lopulta löysimme keskihajonnan ja keskivirheen sekä t-staattisen, t-kriittisen ja p-arvon. P-arvon (0.11) > alfa(0.05) perusteista kannatamme nollahypoteesia. Tästä syystä voimme päätellä, että tuloksessa ei ole muutosta opetuksen jälkeen.

Johtopäätös

Tämän artikkelin avulla voisimme oppia Studentin t-testin perusteista. Meillä oli myös reilu käsitys erilaisista t-testeistä niiden kaavoineen ja olettamuksineen. Näiden ohella meillä oli hyvä ymmärrys erityyppisten t-testien toteuttamisesta pythonissa alusta alkaen.

Viitteet

  1. Linkki yllä olevaan koodiin
  2. Scipy-dokumentaatio