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:

  1. 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).

  2. 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).

  3. 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).

observed = c(10,20,30,30,10)
expected = c(0.20,0.20,0.20,0.20,0.20)
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.

observed = c(10,10,10,30,40)
expected = c(0.10,0.20,0.40,0.20,0.10)
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
muskarci = c(30,40,30)
zene = c(40,30,30)

#navedena dva vektora prebacujemo u tzv. data frame
vino.preferencija = as.data.frame(rbind(muskarci,zene))

#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:

  |Poslije| |

|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.

x <- matrix(c(4,0,19,7),2,2)
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.

x <- matrix(c(4,0,19,7),2,2)
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:

y <- matrix(c(37,17,9,25),2,2)
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
")


CochranePodatci = read.table(textConnection(Input),header = TRUE)
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.

References

Engels, B. (2015). XNomial: Exact goodness-of-fit test for multinomial data with fixed probabilities. https://CRAN.R-project.org/package=XNomial
Mangiafico, S. (2022). Rcompanion: Functions to support extension education program evaluation. http://rcompanion.org/
Pearson, K. (1900). On the criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can be reasonably supposed to have arisen from random sampling. Philosophical Magazine, 50(302), 157–175. https://doi.org/10.1080/14786440009463897
Zhu, H. (2021). kableExtra: Construct complex table with kable and pipe syntax. https://CRAN.R-project.org/package=kableExtra