Hoćemo da testiramo da li neko obilježje \(X\) ima raspodjelu \(F_0\), protiv alternative da \(X\) nema tu raspodjelu.
Podijelimo skup svih vrijednosti koje \(X\) može da uzme na nekih \(r\) kategorija. Broj elemenata u \(k\)-toj kategoriji označimo sa \(M_k\). Neki elemenat uzorka će se naći u \(k\)-toj kategoriji sa vjerovatnoćom \(p_k\), pa možemo da primijetimo da slučajna veličina \(X\) ima binomnu \(B(N,p_k)\) raspodjelu, gdje je \(N\) obim uzorka. Njeno očekivanje je onda \(Np_k\). Ako izrachunamo \(p_k\) pri \(H_0\), odnosno pri pretpostavci da \(X\) ima raspodjelu \(F_0\), ima smisla da test statistiku formiramo na osnovu razlika \(M_k-Np_k\), odnosno razlika broja elemenata u k-toj kategoriji, \(M_k\), i njegovog očekivanja. Ispostavlja se da test statistika \[ \chi_0^2=\sum\limits_{k=1}^{r}\frac{(M_k-Np_k)^2}{Np_k}
\] ima \(\chi^2_{r-1}\), pri \(H_0\).
Ako testiramo da \(X\) pripada nekoj klasi raspodjelu sa nepoznatim parametrima \(\theta_1,\dots,\theta_n\), onda te parametre ocijenimo nekom od poznatih metoda, a test statistika u tom slučaju ima \(\chi^2\) raspodjelu sa \(r-n-1\) stepenom slobode, gdje je \(n\) broj ocijenjenih parametara.
Napomena: Ako kategorije ne pokrivaju cijeli skup vrijednosti, dodamo jednu kategoriju.
U svakoj kategoriji treba da važi \(Np_k \geq 5\), u suprotnom spajamo kategorije.
Kako nam u korist nulte hipoteze ne odgovara da ove razlike budu velike, kritična oblast ovog testa je \[W=\{\chi_0^2>c \}\], gdje je \(c=F_{\chi^2_{r-n-1}}(1-\alpha)\).
# Treba da testiramo da li kockica ima diskretnu ravnomjernu raspodjelu, odnosno da li je
# vjerovatnoca da se dobije svaki od brojeva 1,2,3,4,5,6 jednaka 1/6.
# Prvo simuliramo bacanje kockice da dobijemo neki uzorak. Pravimo uzorak kockice koja jeste
# homogena, na primjer.
uzorak <- sample(6, 60, replace = T)
M <- table(uzorak)
r <- length(M) # broj kategorija
# Svakak od vjerovatnoca je 1/6, pa je npk:
np <- length(uzorak) * 1 / 6
chi.0 <- sum((M - np) ^ 2 / np)
alpha <- 0.05
c <- qchisq(1 - alpha, r - 1)
chi.0 > c # FALSE, pa prihvatamo H0, sto smo i ocekivali
## [1] TRUE
# [0, 1] | (1, 2] | (2, 3] | (3, 4]
# 23 | 26 | 23 | 28
Sa pragom znacajnosti \(\alpha = 0.02\) testirati hipotezu da \(X\) ima \(\mathcal{U}[0, 4]\) raspodjelu. Naći p-vrijednost testa.
M <- c(23, 26, 23, 28)
r<-4
np<-1/4*sum(M) # n tabli
chi.0 <- sum((M - np) ^ 2 / np)
alpha<-0.02
c<-qchisq(1-alpha,r-1)
chi.0>c
## [1] FALSE
# odbacujemo H0
p<-1-pchisq(chi.0, r-1)
p<alpha
## [1] FALSE
# 1 | 2 | 3 | 4 | 5 | 6
# 45 | 30 | 15 | 6 | 2 | 2
Prvo, treba primijetiti da ovim nije obuhvaćen cijeli skup vrijednosti, pa dodajemo jednu kategoriju na kraju:
# 1 | 2 | 3 | 4 | 5 | 6 | >=7
# 45 | 30 | 15 | 6 | 2 | 2 | 0
M<-c(45,30,15,6,2,2,0)
N<-sum(M)
# Racunamo vjerovatnoce pk
pk<-c(dgeom(0:5,0.5),1-pgeom(5,0.5)) # podsjetite se geometrijske raspodjele!
N*pk
## [1] 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 1.5625
# Spajamo poslednje 3 kategorije, zbog uslova Npk>5
M<-c(45,30,15,6,4)
pk<-c(pk[1:4],sum(pk[5:7]))
np<-N*pk
chi.0 <- sum((M - np) ^ 2 / np)
alpha<-0.05
c<-qchisq(1-alpha,5-1)
chi.0>c # prihvatamo H0
## [1] FALSE
# [0, 1] | (1, 2] | (2, 3] | (3, 4]
# 42 | 34 | 16 | 8
Sa pragom značajnosti 0.01 testirati da je \(X\) iz \(\mathcal{E}(\lambda)\).
# Kako je lambda nepoznato, moramo da ga ocijenimo, npr. mmv. Znamo, ranije da je
# ta ocjena 1/mean(x). Kad je tabela ovako zadata srednju vrijednost racunamo kao:
M<-c(42,34,16,8)
N<-sum(M)
x.sr<-sum(c(0.5,1.5,2.5,3.5)*M)/N
lambda.hat<-1/x.sr
# Dodajemo jos jednu kategoriju na kraju
pk<-pexp(1:4,lambda.hat)-pexp(0:3,lambda.hat)
pk<-c(pk,1-pexp(4,lambda.hat))
M<-c(M,0)
np<-N*pk
# Imamo jedan ocijenjeni parametar i 5 kategorija, pa je br stepeni slobode 5-1-1=3
alpha<-0.05
c<-qchisq(1-alpha,3)
chi.0 <- sum((M - np) ^ 2 / np)
chi.0>c
## [1] TRUE
# Odbacuje se nulta hipoteza