## VJEŽBE 12. Testiranje hipoteza o distribuciji ################# # Zadatak 1: Testiranje uniformne distribucije za dolazak studenata u caffe bar Tangenta (Chi-kvadrat test) data_tangenta <- c(52, 58, 61, 49) exp_tangenta <- rep(1 / length(data_tangenta), length(data_tangenta)) # vektor vjerojatnosti (1/4, 1/4, 1/4, 1,4) chisq.test(data_tangenta, p = exp_tangenta) View(data_tangenta) # p-value = 0.6512 ################# # Zadatak 2: Testiranje binomne distribucije za pokvarene jabuke (Chi-kvadrat test) data_jabuke <- c(131, 303, 323, 152, 78, 12, 1) data_jabuke_adj <- c(data_jabuke[1:5], sum(data_jabuke[6:7])) #spajamo zadnje dvije kategorije da budu sve veće od 5! n <- 6 p <- 1 / 6 #B(n,p)=B(6,1/6) exp_jabuke <- dbinom(0:6, size = n, prob = p) #(0:6)=c(0,1,2,3,4,5,6) exp_jabuke_adj <- c(exp_jabuke[1:5], sum(exp_jabuke[6:7])) #isto spajamo chisq.test(data_jabuke_adj, p = exp_jabuke_adj) # p-value < 2.2e-16 ################ # Zadatak 3: Testiranje zavisnosti između pušenja i srčanih problema (Chi-kvadrat test) data_pusenje <- matrix(c(28, 19, 7, 36), nrow = 2, byrow = TRUE) dimnames(data_pusenje) <- list(c("Srčani bolesnici", "Nisu srčani bolesnici"), c("Puši", "Ne Puši")) #alternativno, mogli smo ovako imenovati: #rownames(data_matrix) <- c("Srčani bolesnici", "Nisu srčani bolesnici") #colnames(data_matrix) <- c("Pusi", "Ne_Pusi") chisq.test(data_pusenje) # p-value = 6.549e-05 ################# # Zadatak 4: Testiranje ovisnosti između visokog krvnog tlaka i izbjegavanja pržene hrane (Chi-kvadrat test) data_przena <- matrix(c(41, 24, 24, 31), nrow = 2, byrow = TRUE) dimnames(data_przena) <- list(c("Visoki Tlak", "Niski Tlak"), c("Ne Izbjegava", "Izbjegava")) chisq.test(data_przena) # p-value = 0.05168 ################# # Zadatak 5: Testiranje homogenosti među dvama metodama učenja (Chi-kvadrat test) data_metode <- matrix(c(21, 15, 11, 6, 4, 19, 14, 9, 6, 5), nrow=2, byrow = TRUE) dimnames(data_metode) <- list(c("Metoda 1", "Metoda 2"), c(5,4,3,2,1)) chisq.test(data_metode) # p-value = 0.9898 ################# # Zadatak 6: Testiranje homogenosti među studijskim programima po spolu (Chi-kvadrat test) data_diplomski <- matrix(c(12, 2, 28, 38, 42, 51, 25, 56, 55, 63, 21, 129), nrow = 6, byrow = TRUE) dimnames(data_diplomski) <- list(c('Teorijska Matematika', 'Primijenjena Matematika', 'Matematička Statistika', 'Financijska Matematika', 'Računarstvo', 'Matematika - Nastavnički Smjer'), c('M', 'Ž')) chisq.test(data_diplomski) # p-value = 2.754e-11 ################# # Zadatak 7: Kolmogorov-Smirnovljev test za visine (normalna distribucija N(180, 100)) data_visine <- c(159, 188, 175, 176, 177, 168, 162, 188, 183, 187, 187, 162, 184, 161, 180, 169, 195, 171, 170, 199, 181, 169, 189, 191, 172, 182, 183, 178, 180, 165, 185, 202, 183, 187, 188, 182, 163, 179, 178, 188) ks.test(data_visine, "pnorm", mean = 180, sd = sqrt(100)) #"pnorm" označava ime distribucije # WARNING: ties should not be present for the one-sample Kolmogorov-Smirnov test - npr. broj 188 se pojavljuje više puta # p-value = 0.8923 shapiro.test(data_visine) # p-value = 0.3868 #UOČIMO: testovi daju različite vrijednosti! ################# # Zadatak 8: Shapiro-Wilkov test za normalnost # Shapiro-Wilko test za gustoću naseljenosti shapiro.test(naseljenost$gustoca) # p-value = 0.2115 # Shapiro-Wilko test za udaljenost shapiro.test(naseljenost$udaljenost) p-value = 0.05278 ################# # Zadatak 9: Kolmogorov-Smirnovljev test za vrijeme čekanja (eksponencijalna distribucija s λ = 0.2) data_vremena <- c(5.4, 3.1, 4.6, 7.4, 5.9, 3.2, 2.6, 7.3, 1.9, 4, 3.5, 2, 3.3, 4.4) ks.test(data_vremena, "pexp", rate = 0.2) #"pexp" označava eksponencijalnu distribuciju s par. 0.2 # p-value = 0.09634