6.6. Wilcoxonov test na osnovu dva uzorka
U slučaju ispitivanja hipoteze o jednakosti aritmetičkih sredina dva uzorka čije su vrijednosti obilježja unutar uzoraka i između uzoraka nezavisne, a pri tome nije ispunjena pretpostavka normalnosti vrijednosti obilježja ili homogenosti varijanse između uzoraka, može se primijeniti neparametarski Wilcoxonov test na osnovu dva nezavisna uzorka. Test statistika ovog testa ima oblik:
gdje predstavlja sumu rangova prvog uzorka pri čemu se u računanju rangova uzimaju vrijednosti oba obilježja, i predstavljaju veličine uzoraka, a jeste broj ponavljanja rangova računatih u odnosu na sve vrijednosti oba obilježja. Za razliku od prethodnog primjera i testa na osnovu jednog uzorka, kod testa dva nezavisna uzorka od vrijednosti analiziranih obilježja unutar uzoraka oduzima se vrijednost medijane i zatim se nastavlja proces računanja .
Test statistika Wilcoxonovog testa za dva uparena uzorka ista je kao i test statistika jednog uzorka, pri čemu proces računanja sume pozitivnih rangova počinje od razlike vrijednosti obilježja između dva uzorka.
Primjer 50: Fajl LGD.csv sadrži podatke o ocijenjenim (modelskim) LGD vrijednostima (kolona LGDE) i realizovanim LGD vrijednostima za 500 kredita. Testirati da li je prosječni ostvareni LGD veći od prosječnog ocijenjenog LGD-ija pod sljedećim pretpostavkama:
da LGD vrijednosti ne prate normalni raspored i da se podaci odnose na dva nezavisna uzorka;
da LGD vrijednosti ne prate normalni raspored i da se podaci odnose na upareni uzorak.
Koristiti nivo značajnosti od 5%.
> #podaci vec importovani u Primjeru 49
> head(db)
id LGDE LGDR segment.e
1 1 0.3292934 0.4485324 segment2
2 2 0.4777429 0.4865060 segment2
3 3 0.5584441 0.6639304 segment3
4 4 0.2154302 0.2799692 segment1
5 5 0.4929125 0.6520429 segment3
6 6 0.5006056 0.5584334 segment3
> #H1: prosjecni realizovani LGD-ija > prosjecnog ocijenjenog LGD-ija
> #1. dva nezavisna uzorka
> #nivo znacajnosti
> alpha <- 0.05
> #velicine uzorka
> n1 <- length(db$LGDR)
> n1
[1] 500
> n2 <- length(db$LGDE)
> n2
[1] 500
> #rang oba uzorka
> r.1 <- rank(c(db$LGDR, db$LGDE))
> #suma rangova prvog uzorka
> w.1 <- sum(r.1[1:n1]) - n1 * (n1 + 1) / 2
> w.1
[1] 166945
> #test statistika
> nties <- table(r.1)
> sigma.1 <- sqrt(n1 * n2 * (n1 + n2 + 1) / 12 - sum(nties^3 - nties)/((n1 + n2) * (n1 + n2 - 1)))
> z.1 <- (w.1 - (n1 * n2) / 2) / sigma.1
> z.1
[1] 9.185098
> #p vrijednost
> p.val.1 <- pnorm(z.1, 0, 1, lower.tail = FALSE)
> p.val.1
[1] 2.05577e-20
> p.val.1 < alpha
[1] TRUE
> #r funkcija
> wt.1 <- wilcox.test(x = db$LGDR, y = db$LGDE, alternative = "greater", paired = FALSE, correct = FALSE)
> wt.1
Wilcoxon rank sum test
data: db$LGDR and db$LGDE
W = 166945, p-value < 2.2e-16
alternative hypothesis: true location shift is greater than 0
> wt.1$p.val
[1] 2.05577e-20
> #2. dva uparena uzorka
> #razlika vrijednosti
> d <- db$LGDR - db$LGDE
> head(d)
[1] 0.119238998 0.008763106 0.105486311 0.064539000 0.159130395 0.057827766
> #velicina uzorka
> n <- length(d)
> #rang
> r.2 <- rank(abs(d))
> head(r.2)
[1] 434 23 397 230 487 198
> #suma pozitivnih rangova
> w.2 <- sum(r.2[d > 0])
> w.2
[1] 121942
> #standardna greska test statistike
> nties <- table(r.2)
> head(nties)
r.2
1 2 3 4 5 6
1 1 1 1 1 1
> sigma.2 <- sqrt(n * (n + 1) * (2 * n + 1) / 24 - sum(nties^3 - nties) / 48)
> sigma.2
[1] 3232.327
> #test statistika
> z.2 <- (w.2 - n * (n + 1)/4) / sigma.2
> z.2
[1] 18.35118
> #p vrijednost
> p.val.2 <- pnorm(z.2, lower.tail = FALSE)
> p.val.2
[1] 1.615228e-75
> p.val.2 < alpha
[1] TRUE
> #r funkcija
> wt.2 <- wilcox.test(x = db$LGDR, y = db$LGDE, alternative = "greater", paired = TRUE, correct = FALSE)
> wt.2
Wilcoxon signed rank test
data: db$LGDR and db$LGDE
V = 121942, p-value < 2.2e-16
alternative hypothesis: true location shift is greater than 0
> wt.2$p.val
[1] 1.615228e-75
Last updated
Was this helpful?