Luottamusvälien ymmärtäminen Pythonilla

Lähdesolmu: 1883080

Tämä artikkeli julkaistiin osana Data Science Blogathon.

Sisällysluettelo

  1. esittely
  2. Luottamusvälit Z-tilastoilla
  3. Luottamusvälien tulkitseminen
  4. CI:n oletukset käyttämällä z-tilastoa
  5. Luottamusvälit t-tilastolla
  6. CI:n oletukset t-tilastoa käyttäen
  7. t-välin tekeminen dataparilla
  8. z-arvo vs t-arvo: milloin mitä käyttää?
  9. Luottamusvälit pythonilla
  10. Loppuhuomautus

esittely

Aina kun ratkaisemme tilastollisen ongelman, olemme huolissamme populaatioparametrien arvioinnista, mutta useimmiten populaatioparametrien laskeminen on lähes mahdotonta. Sen sijaan otamme satunnaisia ​​näytteitä populaatiosta ja laskemme otostilastot, joiden odotetaan olevan likimääräisiä populaatioparametreja. Mutta mistä tiedämme, edustavatko otokset todellista populaatiota vai kuinka paljon nämä otostilastot poikkeavat populaatioparametreista? Täällä luottamusvälit tulevat kuvaan. Joten mitä nämä välit ovat? Luottamusväli on otostilastojen ylä- ja alapuolella olevien arvojen alue, tai voimme myös määritellä sen todennäköisyydeksi, että otostilaston ympärillä oleva arvoalue sisältää todellisen populaatioparametrin.

Luottamusvälit Z-tilastoilla

Ennen kuin syvennymme aiheeseen, tutustutaan joihinkin tilastollisiin terminologioihin.

väestö: Se on joukko samankaltaisia ​​yksilöitä. Esimerkiksi kaupungin väestö, korkeakoulun opiskelijat jne.

näyte: Se on pieni joukko samanlaisia ​​yksilöitä populaatiosta. Samoin satunnaisotos on populaatiosta satunnaisesti otettu näyte.

parametrit: Keskiarvo (mu), keskihajonnat (sigma), suhde (p) johdettu perusjoukosta.

tilastollinen: keskiarvo (x bar), std poikkeama (S), suhteet (p^), jotka liittyvät näytteisiin.

Z-pisteet: se on minkä tahansa normaalijakauman raakadatapisteen etäisyys std-poikkeamalla normalisoidusta keskiarvosta. Antama: x-mu/sigma

Nyt olemme valmiita sukeltamaan syvälle luottamusvälien käsitteeseen. Jostain syystä uskon, että on paljon parempi ymmärtää käsitteitä suhteellisten esimerkkien avulla kuin raakoja matemaattisia määritelmiä. Joten aloitetaan.

oletetaan, että asut 100,000 100 asukkaan kaupungissa ja vaalit ovat nurkan takana. Mielipidemiehinä sinun täytyy ennustaa, kuka voittaa vaalit, joko sininen puolue vai keltainen. Joten näet, että on lähes mahdotonta kerätä tietoja koko väestöstä, joten valitset satunnaisesti 62 henkilöä. Kyselyn lopussa huomasit, että 62 % ihmisistä äänestää keltaista. Nyt kysymys kuuluu, pitäisikö meidän päätellä, että keltainen voittaa voittotodennäköisyydellä 62 % vai 58 % koko väestöstä äänestää keltaista? No, vastaus on EI. Emme tiedä varmasti kuinka kaukana arviomme on todellisesta parametrista, jos otamme toisen näytteen, tulos voi olla 65% tai XNUMX%. Sen sijaan teemme sen sijaan, että löydämme otostilastomme ympäriltä arvoalueen, joka todennäköisimmin kuvaa todellisen väestöosuuden. Tässä suhde viittaa prosenttiosuuteen

Luottamusvälit Pythonilla

                                                                   kuva kuuluu tekijälle

Jos nyt otamme sata tällaista näytettä ja kuvaamme kunkin näytteen otososuuden, saamme näytteenottosuhteiden normaalijakauman ja jakauman keskiarvo on populaatioosuuden likimääräisin arvo. Ja arviomme voi olla missä tahansa jakautumiskäyrän puolella. 3 sigman säännön mukaan tiedämme, että noin 95 % satunnaismuuttujista on 2 std:n poikkeaman sisällä jakauman keskiarvosta. Joten voimme päätellä, että todennäköisyys, että p^ on 2 std poikkeaman sisällä p on 95 %. Tai voimme myös todeta, että todennäköisyys, että p on 2 std poikkeaman sisällä p^:n ala- ja yläpuolella, on myös 95%. Nämä kaksi väitettä ovat käytännössä samanarvoisia. Nämä kaksi pistettä p^:n alapuolella ja yläpuolella ovat luottamusvälimme.

Luottamusvälit Pythonilla

                                                           kuva kuuluu tekijälle

Jos voimme jotenkin löytää sigman, voimme laskea vaaditun välimme. Mutta sigma tässä on populaatioparametri, ja tiedämme, että sen laskeminen on usein lähes mahdotonta, joten sen sijaan käytämme otantatilastoja eli keskivirhettä. Tämä annetaan muodossa

missä p^ = näyteosuus, n = näytteiden lukumäärä

SE =√(0.62 . 0.38/100) = 0.05

siis 2xSE = 0.1

Tietojemme luottamusväli on (0.62-0.1,0.62+0.1) tai (0.52,0.72). Kuten olemme ottaneet 2xSE, tämä tarkoittaa 95 %:n luottamusväliä.

Nyt kysymys kuuluu, mitä jos haluamme luoda 92 %:n luottamusvälin? Edellisessä esimerkissä kerroimme 2:lla SE:llä 95 %:n luottamusvälin muodostamiseksi, tämä 2 on z-pistemäärä 95 %:n luottamusvälille (tarkka arvo on 1.96) ja tämä arvo löytyy z-taulukosta. Z:n kriittinen arvo 92 %:n luottamusvälille on 1.75. Viitata tätä artikkeli z-pisteiden ja z-taulukon ymmärtämiseksi paremmin.

Väli saadaan kaavalla: (p^ + z*.SE , p^-z*.SE).

Jos näyteosuuden sijaan annetaan näytteen keskiarvo, standardivirhe on sigma/sqrt(n). Tässä sigma on populaation std poikkeama, koska meillä ei usein ole, käytämme sen sijaan otos std poikkeamaa. Mutta usein havaitaan, että tällainen arvio, jossa keskiarvo annetaan tulos, on yleensä hieman puolueellinen. Joten tällaisissa tapauksissa on parempi käyttää t-tilastoa z-tilaston sijaan.

Yleinen kaava luottamusvälille z-tilastoilla saadaan kaavalla

Tässä tilasto viittaa joko otoksen keskiarvoon tai otososuuteen. Sigmas ovat väestön keskihajonnat.

Luottamusvälien tulkitseminen

On todella tärkeää tulkita luottamusvälit oikein. Tarkastellaan edellistä kyselyntekijän esimerkkiä, jossa laskemme 95 %:n luottamusvälimme arvoksi (0.52,0.62). Mitä tuo tarkoittaa? No, 95 %:n luottamusväli tarkoittaa, että jos otamme populaatiosta n näytettä, 95 % ajasta johdettu intervalli sisältää todellisen populaation osuuden. Muista, että 95 %:n luottamusväli ei tarkoita, että 95 %:n todennäköisyydellä väli sisältää todellisen väestöosuuden. Esimerkiksi 90 %:n luottamusvälillä, jos otamme 10 näytettä populaatiosta, 9 kertaa 10:stä mainitusta intervallista sisältää todellisen populaatioparametrin. Katso alla olevaa kuvaa ymmärtääksesi paremmin.

Luottamusvälin tulkitseminen

                                                            kuva kuuluu tekijälle

Luottamusvälien oletukset Z-tilastoa käyttäen

On tiettyjä oletuksia, joita meidän on etsittävä rakentaaksemme kelvollisen luottamusvälin käyttämällä z-tilastoa.

  1. Satunnainen näyte: Näytteiden on oltava satunnaisia. On olemassa erilaisia ​​otantamenetelmiä, kuten kerrostettu otanta, yksinkertainen satunnaisotos, klusteriotos satunnaisnäytteiden saamiseksi.
  2. Normaali ehto: Tietojen on täytettävä tämä ehto np^>=10 ja n.(1-p^)>=10. Tämä tarkoittaa pohjimmiltaan sitä, että näytevälineiden näytteenottojakauman on oltava normaali, ei vinossa kummallakaan puolella.
  3. Riippumaton: näytteiden on oltava riippumattomia. Näytteiden lukumäärän on oltava pienempi tai yhtä suuri kuin 10 % kokonaispopulaatiosta tai jos näytteenotto tehdään korvaamalla.

Luottamusvälit T-tilastoilla

Entä jos otoskoko on suhteellisen pieni ja perusjoukon keskihajontaa ei ole annettu tai sitä ei voida olettaa? Miten luomme luottamusvälin? no, siinä t-tilasto tulee mukaan. Peruskaava luottamusvälin löytämiseksi tässä pysyy samana, vain z* korvataan t*:lla. Yleinen kaava on annettu

missä S = näytteen keskihajonta, n = näytteiden lukumäärä

Oletetaan, että isännöit juhlia ja haluat arvioida vieraidesi keskimääräisen oluenkulutuksen. Joten saat 20 henkilön satunnaisotoksen ja mittaat oluen kulutuksen. Näytetiedot ovat symmetrisiä, keskiarvo 0f 1200 ml ja vakiopoikkeama 120 ml. Joten nyt haluat muodostaa 95 %:n luottamusvälin.

Joten meillä on näytteen std-poikkeama, näytteiden lukumäärä ja näytteen keskiarvo. Tarvitsemme vain t*. Joten t* 95 %:n luottamusvälille, jonka vapausaste on 19(n-1 = 20-1), on 2.093. Joten vaadittava aikavälimme on laskennan jälkeen (1256.16, 1143.83) virhemarginaalilla 56.16. Viitata tätä video, jolla opit lukemaan t-taulukkoa.

Oletukset CI:lle T-tilastoa käyttäen

Kuten z-statistiikan tapauksessa, myös t-tilaston tapauksessa on joitain ehtoja, joita meidän on otettava huomioon annetuissa tiedoissa.

  1. Näytteen on oltava satunnainen
  2. Näytteen tulee olla normaali. Ollakseen normaali otoskoon tulee olla suurempi tai yhtä suuri kuin 30 tai jos emoaineisto eli populaatio on suunnilleen normaali. Tai jos otoskoko on alle 30, jakauman on oltava suunnilleen symmetrinen.
  3. Yksittäisten havaintojen on oltava riippumattomia. Tämä tarkoittaa, että se noudattaa 10 %:n sääntöä tai näytteenotto tehdään korvaamalla.

T-välin tekeminen paritetulle datalle

Toistaiseksi olemme käyttäneet vain yhden otoksen dataa. Nyt näemme, kuinka voimme rakentaa t-välin parillisille tiedoille. Paritiedoissa teemme kaksi havaintoa samasta yksilöstä. Esimerkiksi opiskelijoiden ennen koetta ja sen jälkeisiä arvosanoja tai tietoa lääkkeen ja lumelääkkeen vaikutuksesta henkilöryhmään vertaamalla. Paritiedoissa löysimme eron kahden havainnon välillä 3. sarakkeesta. Kuten tavallista, käymme läpi esimerkin ymmärtääksemme myös tämän käsitteen,

K. Opettaja yritti arvioida uuden opetussuunnitelman vaikutusta kokeen tulokseen. Alla on havaintojen tulokset.

T-väli datapareille

                                                      kuva kuuluu tekijälle

Koska aiomme löytää välit keskimääräiselle erolle, tarvitsemme vain tilastot eroista. Käytämme samaa kaavaa, jota käytimme aiemmin

tilastollinen +- (kriittinen arvo tai t-arvo) (tilaston keskihajonta)

xd = eron keskiarvo, Sd = näytteen std poikkeama, 95 % CI:lle vapausasteella 5 t* saadaan arvolla 2.57. Virhemarginaali = 0.97 ja luottamusväli (4.18,6.13, XNUMX).

Tulkinta: Kuten voimme nähdä, yllä olevista arvioista luottamusväli ei sisällä nollaa tai negatiivista arvoa. Voidaan siis todeta, että uudella opetussuunnitelmalla oli positiivinen vaikutus opiskelijoiden koesuorituksiin. Jos sillä olisi vain negatiivisia arvoja, voisimme sanoa, että opetussuunnitelmalla oli negatiivinen vaikutus. Tai jos se sisälsi nollan, voi olla mahdollista, että ero oli nolla tai opetussuunnitelmalla ei ole vaikutusta testituloksiin.

Z-arvo vs T-arvo

Alussa on paljon epäselvyyttä siitä, milloin mitäkin käyttää. Nyrkkisääntönä on, että otoskoko on >= 30 ja populaation keskihajonnan tiedetään käyttävän z-tilastoa. Jos otoskoko on < 30, käytä t-tilastoa. Tosielämässä meillä ei ole populaatioparametreja, joten käytämme z:tä tai t:tä otoskoon perusteella.

Pienemmillä näytteillä (n<30) keskusrajalause ei päde, vaan käytetään toista jakaumaa nimeltä Studentin t-jakauma. T-jakauma on samanlainen kuin normaalijakauma, mutta saa eri muotoja otoksen koosta riippuen. Z-arvojen sijasta käytetään t-arvoja, jotka ovat suurempia pienemmillä näytteillä, mikä tuottaa suuremman virhemarginaalin. Koska pieni otoskoko on vähemmän tarkka.

Luottamusvälit Pythonilla

Pythonilla on valtava kirjasto, joka tukee kaikenlaisia ​​tilastollisia laskelmia, mikä tekee elämästämme hieman helpompaa. Tässä osiossa tarkastelemme tietoja taaperoiden nukkumistottumuksista. Näihin havaintoihin osallistuneet 20 olivat terveitä, normaalikäytöksisiä, heillä ei ollut unihäiriöitä. Tavoitteenamme on analysoida nukkumaan nukkuvien ja nukahtamattomien taaperoiden nukkumaanmenoaika.

Viite: Akacem LD, Simpkin CT, Carskadon MA, Wright KP Jr, Jenni OG, Achermann P, et ai. (2015) Vuorokautisen kellon ajoitus ja uni eroavat päikkäreiden ja ei-nukkuvien taaperoiden välillä. PLoS ONE 10(4): e0125181. https://doi.org/10.1371/journal.pone.0125181

Tuomme kirjastoja, joita tarvitsemme

import numpy as np tuo pandat pd:nä osoitteesta scipy.stats import t pd.set_option('display.max_columns', 30) # set, jotta näet kaikki DataFrame-tuontimatematiikan sarakkeet
df = pd.read_csv(nap_no_nap.csv) #luetaan tietoja
df.head ()
Luottamusvälit Pythonilla

Luo kaksi 95 %:n luottamusväliä keskimääräiselle nukkumaanmenoajalle, yksi taaperoille, jotka nukkuvat päiväunia, ja toinen taaperoille, jotka eivät nukahda. Ensin eristetään sarake "yön nukkumaanmenoaika" niille, jotka nukkuvat uuteen muuttujaan, ja niiltä, ​​jotka eivät nukkuneet toiseen uuteen muuttujaan. Nukkumaanmenoaika on desimaalimuotoinen.

bedtime_nap = df['night bedtime'].loc[df['napping'] == 1] bedtime_no_nap = df['night bedtime'].loc[df['napping'] == 0]

tulosta (len(bedtime_nap))

tulosta (len(bedtime_no_nap))

lähtö: 15 n 5


Nyt löydämme keskimääräisen nukkumaanmenoajan otoksille päiväunille ja no_napille.

nap_mean_bedtime = nukkumaanmeno_nap.mean() #20.304 no_nap_mean_bedtime = nukkumaanmeno_no_nap.mean() #19.59

Nyt löydämme X:n näytteen keskihajonnantorkut ja Xei nokoset 

nap_s_bedtime = np.std(bedtime_nap,ddof=1) ei_nap_s_bedtime = np.std(bedtime_no_nap,ddof=1)

Huomautus: ddof-parametrin arvoksi on asetettu 1 näytteen std dev, tai muuten siitä tulee populaatio std dev.

Nyt löydämme mallin X:n standardivirheentorkut ja Xei nokoset 

nap_se_mean_bedtime = päiväunet_nukkumisaika/math.sqrt(len(bedtime_nap)) #0.1526 no_nap_se_mean_bedtime = ei_nap_s_bedtime/math.sqrt(len(bedtime_no_nap)) #0.2270

Toistaiseksi hyvin, nyt kun otoskoko on pieni eikä meillä ole peruspopulaatiosuhteen keskihajontaa, käytämme t*-arvoa. Yksi tapa löytää t*-arvo on käyttää scipy.stats t.ppf toiminto. T.ppf():n argumentit ovat q = prosentti, df = vapausaste, skaala = std dev, loc = keskiarvo. Koska t-jakauma on symmetrinen 95 %:n luottamusvälillä, q on 0.975. Mainita tätä lisätietoja t.ppf().

nap_t_star = t.ppf(0.975,df=14) #2.14 ei_nap_t_star = t.ppf(0.975,df=5) #2.57

Nyt lisäämme palaset muodostaaksemme lopulta luottamusvälimme.

nap_ci_plus = päiväunien_keskiarvoinen_nukkumisaika + nap_t_star*nap_se_bedtime

nap_ci_minus = päiväunien_keskimääräinen_nukkumaanmenoaika – nap_t_star*nap_se_bedtime

tulosta(nap_ci_miinus,nap_ci_plus)

no_nap_ci_plus = no_nap_mean_bedtime + no_nap_t_star*nap_se_bedtime

no_nap_ci_minus = no_nap_mean_bedtime – no_nap_t_star*nap_se_bedtime

print(no_nap_ci_miinus,no_nap_ci_plus)


Tuotos: 19.976680775477412 20.631319224522585 18.95974084563192 20.220259154368087

Tulkinta: 

Yllä olevista tuloksista päättelemme, että olemme 95 % varmoja siitä, että nukkumaanmenoaika nukkuville taaperoille on keskimäärin klo 19.98 – 20.63 (pm), kun taas nukuttavien taaperoiden keskimääräinen nukkumaanmenoaika on välillä 18.96 – 20.22 (pm). Nämä tulokset ovat odotuksemme mukaisia, että jos otat päiväunet, nukut myöhään yöllä.

Loppuhuomautukset

Joten tässä oli kyse yksinkertaisista luottamusväleistä käyttämällä z- ja t-arvoja. Se on todellakin tärkeä käsite tietää missä tahansa tilastotutkimuksessa. Loistava päättelytilastollinen menetelmä populaation parametrien arvioimiseen otantatiedoista. Luottamusvälit liittyvät myös hypoteesitestaukseen, että 95 %:n luottamusvälille jätät 5 % tilaa poikkeavuuksille. Jos nollahypoteesi osuu luottamusväliin, p-arvo on suuri, emmekä voi hylätä nollaa. Päinvastoin, jos se putoaa pidemmälle, meillä on riittävästi todisteita hylätä nolla ja hyväksyä vaihtoehtoiset hypoteesit.

Toivottavasti pidit artikkelista ja hyvää uutta vuotta (:

Tässä artikkelissa näkyvät mediat eivät ole Analytics Vidhyan omistuksessa, ja niitä käytetään tekijän harkinnan mukaan.

Lähde: https://www.analyticsvidhya.com/blog/2022/01/understanding- luottamus-intervals-with-python/

Aikaleima:

Lisää aiheesta Analyysi Vidhya