## Porednjenje disperzija i ocekivanja dve normalne populacije. # Ugradjena funkcija za zakljucivanje o disperzije dve grupe je var.test(), ali # ona nazalost radi samo ako joj prosledimo cele uzorke. # Pravimo funkciju koja pravi intervale poverenja i vrsi testove za poredjenje # disperziji dve grupe kada su dostupni samo podaci o obimima uzoraka i uzorackim # disperzijama. Kod ce biti dostupan na testu i nije bitno znati logiku iza njega. # Funkcija kao ulaz prima standardne devijacije uzoraka kao vektor, i obime # uzoraka kao vektor, kao i ostale parametre funkcije var.test() koja radi za # konkretne uzorke. varsum.test = function(s, n, ratio = 1, alternative = 'two.sided', conf.level = 0.95) { x = rnorm(n[1]) x = x/sd(x) * s[1] y = rnorm(n[2]) y = y/sd(y) * s[2] var.test(x, y, ratio, alternative, conf.level) } #1. zadatak # Alternativna hipoteza je da su disperzije razlicite. Posto je u pri ovom # testiranju test statistika zapravo kolicnik uzorackih disperzija, to da su # disperzije iste znaci da je kolicnik 1, zato prosledjujemo parametar ratio = 1. varsum.test(c(sqrt(289), sqrt(225)), n = c(121, 121), ratio = 1, alternative = 'two.sided') # P-vrednost je 0.1718, sto je vece od podrazumevane znacajnosti od 5%, pa ne # prihvatamo da su razlicite disperzije. #2. zadatak mantili1 = c(17.12, 16.02, 15.28, 20.77, 15.23, 25.45, 30.04, 10.06, 17.78, 23.13) mantili2 = c(16.87, 18.40, 17.24, 16.06, 26.91, 21.66, 19.83, 20.10, 14.74, 15.59, 20.77, 20.61) #a) # Ocena kolicnika disperzija je naravno kolicnik uzorackih disperzija. ocena_kolicnika = var(mantili1)/var(mantili2) ocena_kolicnika #b) # var.test daje interval za kolicnik: var.test(mantili1, mantili2, conf.level = 0.9) # Interval = (1.042718, 9.369332) # 3. zadatak # Kada hocemo da poredimo srednje vrednosti dve normalne populacije, sto je # zapravo najcesci slucaj u istrazivanjima, koristimo t.test kao i kad smo # imali samo jednu populaciju. # Ipak, ovde postupak nije pravolinijski. Matematika iza testa se razlikuje u # slucajevima kada je disperzija obe populacije jednaka i kada nije. Ako ovo # nije eksplicitno dato u zadatku, moramo i da testiramo jednakost disperzije. plastika = c(1.80, 1.29, 1.13, 2.92, 2.20, 1.25, 2.61, 1.60, 2.06) novine = c(2.57, 1.59, 1.78, 1.37, 1.22, 1.34, 1.43, 1.06, 1.44, 1.12) #a) mean(plastika) - mean(novine) #b) s1_2 = var(plastika) s2_2 = var(novine) s1_2 s2_2 # Ovde bi prirodno bilo da testiramo sa alternativnom hipotezom da su disperzije # jednake, jer je to ono sto pokusavamo da dokazemo. Ipak, jednakost ne moze # da bude alternativna hipoteza (ne mozemo da dokazemo da su dve stvari bas # skroz jednake). Zato uzimamo da je jednakost nulta, a nejednakost alternativna # hipoteza, ali uzimamo vecu nego standardnu znacajnost. var.test(plastika, novine, ratio = 1) # P-vrednost je 0.2958, pa prihvatamo jednakost. # Napomena: Ovde se u zadatku eksplicitno trazilo da testiramo jednakost # disperzija, ali ovaj korak bi smo uradili, i to sa znacajnoscu 20%, cak i da # nije. Potreban nam je za deo pod v). #v) # Kada t.test pozovemo sa dva uzorka, on automatski testira, odnosno pravi # interval poverenja za mi1 - mi2. # Kljucno je da dodamo parametar var.equal = TRUE kada dobijemo da su disperzije # jednake. t.test(plastika, novine, var.equal = TRUE, conf.level = 0.95) # Posto interval poverenja obuhvata i pozitivne i negativne vrednosti, ne mozemo # da kazemo da su razlike u srednjim vrednostima znacajne. # Alternativno smo za ovo pitanje mogli da testiramo sa alternativnom hipotezom # da su mi1 i mi2 razlicite, zakljucak bi bio isti.