Poglavlje 5 Obrada i prikaz kategorijskih varijabli
Kada radimo obradu kategorijskih varijabli, najčešći test koji se koristi je hi kvadrat test. Hi kvadrat test pripada neparametrijskim testovima kojim obrađujemo, testiramo hipoteze i provjeravamo povezanosti, u slučaju hi kvadrata - nominalnih varijalbi. U određenim slučajevima, ordinalne ili intervalne varijable pretvaramo u kategorijske te će nam i u tom slučaju hi kvadrat test biti test izbora. Hi-kvadrat test se koristi u slučajevima: kada su podaci svih varijabli kvalitativni, rezultati izraženi u frekvencijama (učestalostima) pojedinih odgovora te za testiranje: a) povezanosti između dvije kvalitativne (kategorijske) varijable b) odstupanja dobivenih učestalosti pojavljivanja jedne varijable od očekivanih
Hi kvadrat test je u znanost i praksu uveo Karl Pearson još daleke 1900. godine (Pearson, 1900).
Hi-kvadrat test isključivo koristi učestalosti (frekvencije) i nije dopušteno unositi nikakve mjerne jedinice (za razliku usporedbi aritmetičkih sredina ili računanja korelacija, gdje podaci mogu biti izraženi u proizvoljnim mjernim jedinicama).
Dakle, hi kvadrat test se koristi u slučajevima: - kada su podaci svih varijabli kvalitativni i - rezultati izraženi u frekvencijama (učestalostima) pojedinih odgovora.
Statistički i metodološki je važno razlikovati slijedeće oblike hi kvadrat testa:
Hi-kvadrat test hipoteze (chi-square goodness of fit): Postoje učestalosti jedne kategorijske varijable, te želimo utvrditi odstupaju li dobiveni podaci od učestalosti koje očekujemo uz neku hipotezu (npr. da li je raspodjela prometnih nesreća u tjednu slučajna. Dakle, imamo učestalosti prometnih nesreća u tjedni i testiramo razliku opaženih od teorijskih učestalosti pod hipotezom jednake vjerojatnosti tj. raspodjele učestalosti po danima).
Hi-kvadrat test za nezavisne uzorke: postoje učestalosti dvaju ili više obilježja dva ili više nezavisnih uzoraka, te želimo ustanoviti njihovu povezanost (npr. postoje li razlike u učestalosti pušenja između muškaraca i žena. To je primjer 2x2 kontigencijske tablice).
Hi-kvadrat test za zavisne uzorke: postoje učestalosti dvaju ili više dihotomnih obilježja zavisnih uzoraka, te želimo ustanoviti njihovu povezanost (npr. da li dvije dijagnostičke metode slično ocjenjuju postojanje bolesti u ponovljenom testu kod istih ispitanika).
Osnova za izračunavanje hi-kvadrat testa jest kontingencijska tablica. Kontigencijska tablika prikazuje sve moguće kombinacije zajedničkog pojavljivanja promatranih obilježja jedne ili više varijabli. Te stvarne učestalosti zajedničkog pojavljivanja obilježja uspoređujemo s teoretski očekivanim učestalostima. Nul-hipoteza je postavljena tako da promatrana obilježja nisu povezana.
Hi kvadrat procjenjuje razliku između opažene (fo) i teorijske (ft) frekvencije (učestalosti). Teorijske frekvencije mogu biti proizvod određene teorijski predviđene raspodjele učestalosti pojavljivanja neke kategorije ili mogu biti rezultat veće nekog prije, prethodno provedenog istraživanja. U tom slučaju testiramo razlikovanje dviju raspodjela učestalosti i to opažene učestalosti pojavljivanja određenih kategorija od onih koje su dobivene nekim prethodnim istraživanjem ili pretpostavljene teorijski. Kada imamo učestalosti jedne varijable i testiramo odstupanje raspodjele učestalosti (fo) od teorijskih (ft), tada govorimo o jednoj vrsti hi kvadrat testa kojeg zovemo hi kvadrat test hipoteze.
Opća formula za izračunavanje hi kvadrat testa glasi:
\[\begin{equation} \chi^2=\sum\frac{(f\substack{o} - f\substack{t})^2}{f\substack{t}} \tag{5.1} \end{equation}\]
Ako nema razlika između opaženih i očekivanih frekvencija hi-kvadrat jednak je nuli. Što je hi-kvadrat veći, to je vjerojatnije da nul-hipotezu treba odbaciti tj. da su promatrana obilježja povezana.
Stupnjevi slobode (df) za hi kvadrat test izračunavaju se pomoću jednostavne formule: df=(R-1)*(S-1).
U razmatranju hi kvadrat testa važno je napomenuti postojanje binomne i multinomijalne raspodjele.
5.1 Hi kvadrat test hipoteze
U ovom dijelu prikazati će se primjer izračuna i interpretacije hi kvadrat testa hipoteze u R sučelju. Hi kvadrat test hipoteze ili u literaturi poznat kao goodness-of-fit test koji se pojavljuje u nekoliko inačica, kao G test, binominalni i multinominalni test. G test nije prikladan za uporabu kada imamo male učestalosti.
U jednostavnom primjeru pretpostavimo opažene i teorijske frekvencije raspodjele prometnih nesreća u pet dana u tjednu, od srijede do nedjelje. Kao što vidimo u slijedećem primjeru, najveći broj prometnih nesreća je petkom i srijedom (f=30).
= c(10,20,30,30,10)
observed = c(0.20,0.20,0.20,0.20,0.20)
expected chisq.test(x = observed, p = expected)
##
## Chi-squared test for given probabilities
##
## data: observed
## X-squared = 20, df = 4, p-value = 0.0005
Iz navedenog primjera vidimo kako je hi kvadrat test značajan na razini od 99% (p<0.01). Vjerojatnost raspodjele teorijskih učestalosti je podjednaka.
Teorijske, očekivane frekvencije (proporcije vjerojatnosti) ne moraju biti podjednake i ovise o teorijskoj osnovi ili moguće već prethodno provedenom istraživanju.
Jedan od primjera mogu biti i školske ocjene. Pretpostavimo slijedeće raspodjele opaženih frekvencija školskih ocjena na 100 učenika (n=100) i testiranje da li dobivene učestalosti odstupaju od teorijskih pod pretpostavkom najučestalije vrijednosti ocjene 3 ili raspodjele koja opisuje normalnu raspodjelu. Najveći broj prosječnih, nešto manje dovoljan i vrlo dobar i najmanje negativne i izvrsne ocjene.
= c(10,10,10,30,40)
observed = c(0.10,0.20,0.40,0.20,0.10)
expected chisq.test(x = observed, p = expected)
##
## Chi-squared test for given probabilities
##
## data: observed
## X-squared = 122, df = 4, p-value
## <0.0000000000000002
Dobiveni hi kvadrat je visok i značajan (p<0.001).
Osim ‘klasične’ ili nekorigirane vrijednosti hi - hvadrat testa, u praksi se koristi još G hi kvadrat test i Exact hi kvadrat test. G test je sličan hi kvadrat testu i koristi se kada imamo veći broj učestalosti ili veći ukupni N. Exact hi kvadrat test se koristi kada je u određenoj kategoriji ili većem broju kategorija učestalost malena.
Primjer Exact hi kvadrat testa iz prethodnog primjera pomoću paketa XNomial (Engels, 2015) je:
library(XNomial)
xmulti(observed,expected,detail = 2)
##
## P value (LLR) = 2.056e-19
## P value (Prob) = 6.108e-20
## P value (Chisq) = 1.294e-17
P value (prob) predstavlja exact probability.
Odlična rasprava na temu vizualizacije kategorijskih varijabli prikazana je u slijedećem članku [http://www.datavis.ca/papers/koln/kolnpapr.pdf]{Michaela Friendlya} sa sveučilišta York University.
Ulazne podatke za hi kvadrat možemo koristiti na više načina. Jedan od načina je i izrada ad-hoc tablice u kojoj će biti samo dio varijabli ili ispitanika.
5.2 Hi kvadrat za nezavisne uzorke
Hi kvadrat za nezavisne uzorke koristi se kada imamo dva ili više uzoraka koji se razlikuju u učestalostima pojavljivanja nekog odgovora ili entiteta. Kako je hi-kvadrat test i mjera povezanosti, tada možemo reći kako želimo vidjeti postoji li razlika izmđu dva ili više uzoraka povezanost u učestalosti pojavljivanja određenih kategorija.
Razumijevanje primjene hi kvadrata možemo prikazati pomoću primjera. Zamislimo istraživanje u kojem želimo provjeriti razliku između muškaraca i žena u sklonosti prema određenim vrstama vina. U istraživanju je sudjelovalo 100 muškaraca i 100 žena. Ispred svakog ispitanika bile tri čase, kao uzorci tri boce vina od sorti: merlot, sirah i babić. Nakon kušanja vina, ispitanici su trebali odlučiti koji uzorak je prema njihovom ukusu najbolji. Prema učestalosti vidljivo je kako muškarci u većoj mjeri biraju sirah a žene merlot. Postavlja se pitanje u kontekstu analize podataka: postoji li statistički značajna razlika u učestalosti preferiranja sorte od koje je napravljeno vino?
#unesimo podatke u vektore
= c(30,40,30)
muskarci = c(40,30,30)
zene
#navedena dva vektora prebacujemo u tzv. data frame
= as.data.frame(rbind(muskarci,zene))
vino.preferencija
#dodjeljujemo imena stupcima... stupci su vina
names(vino.preferencija) = c('merlot','sirah','babic')
#izračunavamo hi kvadrat test
chisq.test(vino.preferencija)
##
## Pearson's Chi-squared test
##
## data: vino.preferencija
## X-squared = 2.9, df = 2, p-value = 0.2
Iako postoji razlika u učestalostima, primjena hi kvadrat testa pokazuje kako razlika nije statistički značajna.
Kako bi ljepše prikazali tablicu, koristimo se paketom kableExtra (Zhu, 2021).
library(kableExtra)
kable(vino.preferencija)
merlot | sirah | babic | |
---|---|---|---|
muskarci | 30 | 40 | 30 |
zene | 40 | 30 | 30 |
5.2.1 Uvjeti za korištenje i korekcije hi kvadrat vrijednosti
Prilikom korištenja hi kvadrat testa potrebno je uzeti u obzir određeni okvir ili slijedeće smjernice;
Može se računati samo s frekvencijama (učestalostima)
Uzorak bi trebao biti veći od 10
Suma očekivanih frekvencija mora biti jednaka sumi opaženih frekvencija
Frekvencije u pojedinim ćelijama trebaju biti nezavisne tj. ne smiju se unositi podaci koji pripadaju većem broju mogućih odgovora
Kada imamo više od dvije ćelije, treba imati manje od 20% očekivanih frekvencija koje su manje od 5. Ukoliko ih imamo više, tada treba spajati susjedne ćelije.
Ako ne ispunjavamo kriterij manje od 20%, a imamo kontigencijsku tablicu 2x2, valja koristiti tzv. Fisherov egzaktni test (Muriel Bristol, lady tasting tea) koji se u pravilu koristi kada je uzorak mali.
Tablica 2*2 smije se u pravilu upotrebljavati kada je N u pravilu veći od 40, a u intervalu od 20 do 40
U statističku aplikaciju je ugrađena i tzv. Yates korektura koja vodi računa o malom broju učestalosti po pojedinim poljima (posebno kada su stupnjevi slobode 1, df=1).
5.3 HI kvadrat za zavisne uzorke
Hi kvadrat za zavisne uzorke koristi se kada imamo dva ili više ponovljenih mjerenja koji se razlikuju na istom uzorku u pojavljivanju određenih odgovora ili entiteta. Najčešće korišteni testovi za zavisne varijable u slučaju nominalnih mjernih ljestvica su: McNemar test, McNemar-Bowker test i Cochran Q test. Za potrebe simuliranja uporabe McNemar testa može se koristiti već ugrađena funkcija mcnemar.test() ili korištenjem specifičnih paketa kao što je EMT.
U literaturi se koriste različiti nazivi kao što je test simetrije ili marginalne homogenosti. Učestalosti u tablici su na istim ispitanicima i treba biti jako oprezan u interpretaciji a u prvom redu u predočavanju i osmišljavanju kontigencijske tablice.
Uvjeti za korištenje hi kvadrat testa za zavisne uzorke: - dvije zavisne varijable, dva zavisna mjerenja - dvije nominalne, kategorijske varijable koje imaju dvije ili više kategorija - nul hipoteza: kontigencijska tablica je simetrična tj. jednakost vjerojatnosti pojavljivanja učestalosti - alternativna hipoteza: kontigencijska tablica nije simetrična - post hoc test može se koristiti na 2 x 2 tablicama ali uz korekciju višestrukog testiranja
Opća formula za McNemar test je:
\[\begin{equation} Q=\frac{(b - c)^2}{b + c} \tag{5.2} \end{equation}\]
Korigirana formula na manjim uzorcima glasi:
\[\begin{equation} Q_c=\frac{(|b-c| - 1)^2}{b + c} \tag{5.3} \end{equation}\]
Možemo vidjeti na jednom primjeru. U ispitivanju je sudjelovalo 30 studenata koji su dobili test znanja u kojem su 4 studenta prošla prag prolaznosti a nakon naknadnog učenja od 2 sata njih 19. Postoji li značajna razlika u prolaznosti prije i nakon učenja od 2 sata? Prvi korak je popunjavanje kontigencijske tablice koja izgleda na slijedeći način:
|Prije|Prošli|Nisu prošli| |Prošli|4|0| |Nisu prošli|19|7|
Koristeći ugrađenu funkciju mcnemar.test() na slijedeći način možemo riješiti navedeni primjer.
<- matrix(c(4,0,19,7),2,2)
x mcnemar.test(x)
##
## McNemar's Chi-squared test with continuity
## correction
##
## data: x
## McNemar's chi-squared = 17, df = 1, p-value =
## 0.00004
McNemar test je značajan i kao što se vidi uz kokrekciju. Ako želimo bez korekcije, tada funkcija mcnemar.test dobiva argument correct=FALSE.
<- matrix(c(4,0,19,7),2,2)
x mcnemar.test(x,correct = FALSE)
##
## McNemar's Chi-squared test
##
## data: x
## McNemar's chi-squared = 19, df = 1, p-value =
## 0.00001
Prema tome, značajna je razlika u testu znanja tj. prolaznosti prije i nakon učenja.
Na slijedećem primjeru možemo vidjeti kombinaciju McNemar testa i klasičnog hi kvadrat testa. U jednom istraživanju željeno se vidjeti razlika u konzumiranju čaja i kave te ujedno postoji li povezanost u pijenju kave i čaja (S. Mangiafico, 2022). U istraživanju je 37 korisnika pilo kavu i čaj, 9 ispitanika čaj ali ne i kavu, 17 kavu ali ne i čaj te 25 nije pilo niti kavu niti čaj. Kontigencijska tablica izgleda na slijedeći način:
Primjena McNemar testa pokazuje slijedeće:
<- matrix(c(37,17,9,25),2,2)
y mcnemar.test(y)
##
## McNemar's Chi-squared test with continuity
## correction
##
## data: y
## McNemar's chi-squared = 1.9, df = 1, p-value =
## 0.2
U ovom primjeru, p vrijednost je veća od 0.05 te možemo reći kako niti kava niti čaj nisu značajnije popularni. No, možemo postaviti slijedeće zanimljivo pitanje: kako je konzumacija kave povezana s čajem?
chisq.test(y)
##
## Pearson's Chi-squared test with Yates'
## continuity correction
##
## data: y
## X-squared = 13, df = 1, p-value = 0.0003
Za razliku od McNemar testa, primjena hi kvadrat testa na istim podatcima pokazuje značajnu povezanost pijenja kave i čaja. Ispitanici koji vole piti kavu, ujedno vole piti i čaj.
Osim McNemar testa, u praksi je koristan i Cochran Q test. To je ekstenzija McNemar testa, jer se koristi kada odgovori ispitanika ili kategorije nominalne varijable nisu dihotomne već politomne. Cochran Q test je također i posebna inačica Friedman neparametrijskog testa koji se koristi kao neparametrijska inačica analize varijance (ANOVA). Friedman test ujedno postaje Cochran Q test u slučaju kada je odgovor ili ishod binaran.
Cochran test možemo proći kroz primjer. U istraživanju je sudjelovalo 14 ispitanika koji su prošli 3 testa (A,B,C). U svakom testu rezultat je mogao biti pozitivan (1) ili je test negativan (0). Ovakav primjer često susrećemo u području biomedicine.
= ("
Input Test Ispitanik Rezultat
A a Yes
A b No
A c Yes
A d Yes
A e No
A f Yes
A g Yes
A h Yes
A i No
A j Yes
A k Yes
A l Yes
A m Yes
A n Yes
B a Yes
B b No
B c No
B d No
B e No
B f No
B g No
B h No
B i Yes
B j No
B k No
B l No
B m No
B n No
C a Yes
C b No
C c Yes
C d Yes
C e Yes
C f Yes
C g Yes
C h Yes
C i No
C j Yes
C k Yes
C l Yes
C m Yes
C n Yes
")
= read.table(textConnection(Input),header = TRUE)
CochranePodatci library(RVAideMemoire)
cochran.qtest(Rezultat ~ Test | Ispitanik,
data = CochranePodatci)
##
## Cochran's Q test
##
## data: Rezultat by Test, block = Ispitanik
## Q = 15.17, df = 2, p-value = 0.0005089
## alternative hypothesis: true difference in probabilities is not equal to 0
## sample estimates:
## proba in group <NA> <NA>
## 0.7857 0.1429 0.8571
Rezultat upućuje kako postoji značajna razlika između testova A, B i C u udjelu pozitivnih ishoda.