Podatki vsebujejo status preživetja 1309 potnikov ladje RMS Titanic leta 1912, skupaj z razredom potnikov (ki služi kot približek ekonomskega statusa), državljanstvom in spolom. Ali obstaja povezava med preživetjem in vsako od treh spremenljivk?

Gledamo ali je povezava med spr. preživel in razred, med preživel in državljanstvo in med preživel in spolom. Da preverimo vse 3 kombinacije, uporabimo PEARSONOV HI KVADRAT, ker so vse 3 spremenljivke nominalne.

podatki <- read.table("./Titanic.csv", header=TRUE, sep=";")
head(podatki)
##   Prezivel Razred Drzavljanstvo Spol
## 1        0      3             0    0
## 2        0      3             0    0
## 3        0      3             0    0
## 4        1      3             0    1
## 5        1      3             2    1
## 6        1      3             0    0

Opis:

Za vse 3 spremenljivke izvedemo faktorje, ker so vse nominalne.

podatki$PrezivelF <- factor(podatki$Prezivel, 
                            levels = c(0, 1), 
                            labels = c("Ne", "Da"))

podatki$RazredF <- factor(podatki$Razred, 
                          levels = c(1, 2, 3), 
                          labels = c("1.", "2.", "3."))

podatki$DrzavljanstvoF <- factor(podatki$Drzavljanstvo, 
                                 levels = c(0, 1, 2), 
                                 labels = c("Amerisko", "Anglesko", "Drugo"))
  
podatki$SpolF <- factor(podatki$Spol, 
                        levels = c(0, 1), 
                        labels = c("M", "Z"))

head(podatki)
##   Prezivel Razred Drzavljanstvo Spol PrezivelF RazredF DrzavljanstvoF
## 1        0      3             0    0        Ne      3.       Amerisko
## 2        0      3             0    0        Ne      3.       Amerisko
## 3        0      3             0    0        Ne      3.       Amerisko
## 4        1      3             0    1        Da      3.       Amerisko
## 5        1      3             2    1        Da      3.          Drugo
## 6        1      3             0    0        Da      3.       Amerisko
##   SpolF
## 1     M
## 2     M
## 3     M
## 4     Z
## 5     Z
## 6     M

S chisq.test preverjamo kakšna je povezava med preživel in razredom. Correct je FALSE, ker nimamo 2x2 tabele ampak 2x3. h0 ničelna domneva je: spremenljivki preživel in razred nista povezani. H1: Spremenljivki sta povezani. Ugotovili smo, da povezanost je, ker je p manjši od 0,05.

Pri PEARSONOVEM HI KVADRATU je vedno H0: Spremenljivki sta povezani, H1: spr. nista povezani.

chi_squared <- chisq.test(podatki$PrezivelF, podatki$RazredF, 
                          correct = FALSE)

chi_squared
## 
##  Pearson's Chi-squared test
## 
## data:  podatki$PrezivelF and podatki$RazredF
## X-squared = 127.86, df = 2, p-value < 2.2e-16
addmargins(chi_squared$observed)
##                  podatki$RazredF
## podatki$PrezivelF   1.   2.   3.  Sum
##               Ne   123  158  528  809
##               Da   200  119  181  500
##               Sum  323  277  709 1309
round(chi_squared$expected, 2)
##                  podatki$RazredF
## podatki$PrezivelF     1.     2.     3.
##                Ne 199.62 171.19 438.18
##                Da 123.38 105.81 270.82
round(chi_squared$res, 2)
##                  podatki$RazredF
## podatki$PrezivelF    1.    2.    3.
##                Ne -5.42 -1.01  4.29
##                Da  6.90  1.28 -5.46

Prva tabela prikazuje dejanske oz. empirične frekvence, 2. tabela prikazuje teoretične oz. pričakovane, 3. tabela pa prikazuje standardizirane ostanke.

Ali smemo narediti tak test? PREDPOSTAVKE: 1. Pričakovane frekvence morajo biti višje od 5. (v tem primeru so, v velikih vzorcih je vedno izpolnjena ta predpostavka). 2. PREDPOSTAVKA: Vsako enoto merimo samo enkrat.

Odkrili smo povezavo. Večja verjetnost, da je večja verjetnost, da je preživel, če je bil v 1. razredu (gledamo 6,90 in -5.46). Preden razlagamo stand. ostanke moramo preveriti, če so statistično značilni. Če je stand. ostanek pod med -1,96 in +1,96 ni statistično značilen. Če je med 1,96 in 2,58 je stat. znač. pri 5%, če je med 2,58 in 3,29 je stat. značilen pri 1%, če je več kot 3,29 je stat značilen pri 0,1%.

Npr, gledamo 1. razred(oba stand. ostanka sta večja od 3,29, kar pomeni da sta oba ostanka stat. značilna). V 1. razredu je več kot smo pričakovali tistih, ki so preživeli in manj kot pričakovano število tistih, ki niso preživeli pri alfa je 0,1%. Za 3. razred pa velja ravno obratno. Glede 2. razreda ne smemo narediti sklepa, ker so stand. ost. prenizki, ne moremo trditi, da sta razliki stat. značilni. Med tem pa, v primeru 1. razreda in preživel, jih je dejansko preživelo 200, pričakovali pa bi da bi jih 123,38 brez težav rečemo, da je 200 več kot 123 (da se številki statistično razlikujeta). ZAKAJ? Ker je stand. ostanek +6,90 tako visoka!

addmargins(round(prop.table(chi_squared$observed), 3))
##                  podatki$RazredF
## podatki$PrezivelF    1.    2.    3.   Sum
##               Ne  0.094 0.121 0.403 0.618
##               Da  0.153 0.091 0.138 0.382
##               Sum 0.247 0.212 0.541 1.000
addmargins(round(prop.table(chi_squared$observed, 1), 3), 2) 
##                  podatki$RazredF
## podatki$PrezivelF    1.    2.    3.   Sum
##                Ne 0.152 0.195 0.653 1.000
##                Da 0.400 0.238 0.362 1.000
addmargins(round(prop.table(chi_squared$observed, 2), 3), 1) 
##                  podatki$RazredF
## podatki$PrezivelF    1.    2.    3.
##               Ne  0.381 0.570 0.745
##               Da  0.619 0.430 0.255
##               Sum 1.000 1.000 1.000

Velikost učinka je velika

library(effectsize)
effectsize::cramers_v(podatki$PrezivelF, podatki$RazredF)
## Cramer's V (adj.) |       95% CI
## --------------------------------
## 0.31              | [0.26, 1.00]
## 
## - One-sided CIs: upper bound fixed at [1.00].
interpret_cramers_v(0.31)
## [1] "large"
## (Rules: funder2019)

Fisher test delamo, če bi več kot 20% pričakovanih frekvenc bilo med 1 in 5, ali če bi bila katera izmed njih manjša kot 1, delamo fisherjev test neodvisnosti. Ničelna domneva za fisherja je: H0: kategorialni spremenljivki nista povezani. zavrnem h0.

fisher.test(podatki$PrezivelF, podatki$RazredF)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  podatki$PrezivelF and podatki$RazredF
## p-value < 2.2e-16
## alternative hypothesis: two.sided

v tem primeru ni napisanega razmerja obetov, ker ni 2x2 tabela. Za 2x2 tabelo je pri fisherju H0: razmerje obetov je enako 1.

Gledamo povezavo med spremenljivko preživel in spr. državljanstvo. Je povezava, zaradi tega, ker p manjši od 0,05. correct = FALSE, ker je 2x3 tabela.

chi_squared <- chisq.test(podatki$PrezivelF, podatki$DrzavljanstvoF, 
                          correct = FALSE)

chi_squared
## 
##  Pearson's Chi-squared test
## 
## data:  podatki$PrezivelF and podatki$DrzavljanstvoF
## X-squared = 44.835, df = 2, p-value = 1.838e-10
addmargins(chi_squared$observed)
##                  podatki$DrzavljanstvoF
## podatki$PrezivelF Amerisko Anglesko Drugo  Sum
##               Ne       113      206   490  809
##               Da       145       96   259  500
##               Sum      258      302   749 1309
round(chi_squared$expected, 2)
##                  podatki$DrzavljanstvoF
## podatki$PrezivelF Amerisko Anglesko Drugo
##                Ne   159.45   186.64 462.9
##                Da    98.55   115.36 286.1
round(chi_squared$res, 2)
##                  podatki$DrzavljanstvoF
## podatki$PrezivelF Amerisko Anglesko Drugo
##                Ne    -3.68     1.42  1.26
##                Da     4.68    -1.80 -1.60

Za angleže in drugo ne moremo trditi, da je povezava (ker je stand. ostanek manjši kot 1,96). Za Američane pa lahko zelo jasno rečemo, da jih je več kot pričakovano število preživelo in manj kot pričakovano število ni preživelo.

chi_squared <- chisq.test(podatki$PrezivelF, podatki$SpolF, 
                          correct = TRUE)

chi_squared
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  podatki$PrezivelF and podatki$SpolF
## X-squared = 363.62, df = 1, p-value < 2.2e-16
addmargins(chi_squared$observed)
##                  podatki$SpolF
## podatki$PrezivelF    M    Z  Sum
##               Ne   682  127  809
##               Da   161  339  500
##               Sum  843  466 1309
round(chi_squared$expected, 2)
##                  podatki$SpolF
## podatki$PrezivelF   M   Z
##                Ne 521 288
##                Da 322 178
round(chi_squared$res, 2)
##                  podatki$SpolF
## podatki$PrezivelF     M     Z
##                Ne  7.05 -9.49
##                Da -8.97 12.07

Gledamo povezavo med spolom in preživel. correct = TRUE, ker je 2x2 tabela. Povezava je, ker je p manjši od 0,05. Glede na stand. ostanke vidimo, da je žensk več preživelo kot moških.