Koristi se Studentov t test za dva nezavisna uzorka. Ovo je tacni test.Studentova sa n1+n2-2 stepena slobode. Test statistika koju koristimo u ovom testu je \(t=\frac{\overline{X_{1}}-\overline{X_{2}}}{s_{p}\cdot \sqrt{\frac{1}{n_{1}}+\frac{1}{n_{2}}}}\) gdje je \(s_{p}=\sqrt{\frac{\left ( n_{1}-1 \right )\cdot s^{2}_{X_{1}}+ \left ( n_{2}-1 \right )\cdot s^{2}_{X_{2}}}{n_{1}+n_{2}-2}}\)
\(\overline{X_{1}}\)-uzoracka sredina prvog uzorka
\(\overline{X_{2}}\)-uzoracka sredina drugog uzorka
\(n_{1}\)- broj elemenata u prvom uzorku
\(n_{2}\)- broj elemenata u drugom uzorku
\(s^{2}_{X_{1}}\)-uzoracka disperzija prvog uzorka
\(s^{2}_{X_{2}}\)-uzoracka disperzija drugog uzorka
student_p<-function(ts,df,alternative)
{
if(alternative=="two-sided")
p<-2*pt(-abs(ts),df=length(x)-1)
else if(alternative=="less")
p<-pt(ts,df=length(x)-1)
else if(alternative=="greater")
p<-1-pt(ts,df=length(x)-1)
return(p)
}
two_sample_t_test<-function(x,y,alpha,alternative)
{
n1<-length(x)
n2<-length(y)
s_p<-sqrt(((n1-1)*var(x)+(n2-1)*var(y))/(n1+n2-2))
ts<-(mean(x)-mean(y))/(s_p*sqrt(1/n1+1/n2))
print(ts)
p<-student_p(ts,n1+n2-2,alternative)
ifelse (p<alpha,print("Nulta hipoteza se odbacije"),print("Nulta hipoteza se prihvata"))
print(p)
}
x<-rnorm(50,m=0.1)
y<-rnorm(50,m=0.2)
two_sample_t_test(x,y,0.05,alternative="two-sided")
## [1] 0.8362465
## [1] "Nulta hipoteza se prihvata"
## [1] 0.4070759
#equal je TRUE jer smatramo da su jednake disperzije
#ugradjena funkcija za racunanje p vrijednosti testa
t.test(x,y,alternative="two.sided",equal="TRUE")
##
## Welch Two Sample t-test
##
## data: x and y
## t = 0.83625, df = 96.9, p-value = 0.4051
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.2197810 0.5398344
## sample estimates:
## mean of x mean of y
## 0.07429289 -0.08573380
Ne dobijamo istu vrednost p-testa sa svojom i ugradjenom funkcijom iako je vrednost test statistike ista (do na zaokruzivanje)
2.DISPERZIJE NISU JEDNAKE
U ovom slucaju koristimo Welch-ov test za dva uzorka sa normalnom raspodjelom sa razlicitim disperzijama. Ovo je tacan test i moze da se koristi generalno i kada su jednake disperzije, Statistika koja se koristi u ovom testu je \(t=\frac{\overline{X_{1}}-\overline{X_{2}}}{\sqrt{\frac{s^{2}_{1}}{n_{1}} + \frac{s^{2}_{1}}{n_{1}}}}\) cija je raspodjela Studentova a broj stepeni slobode se dobija iz Welch-Satterthwait-ove jednacine \(\nu \approx \frac {\left(\frac{s^{2}_{1}}{n_{1}} + \frac{s^{2}_{1}}{n_{1}} \right )^{2} } {\frac{s^{4}_{1}}{n_{1}^{2}\cdot \nu _{1}} + \frac{s^{4}_{1}}{n_{2}^{2}\cdot \nu _{2}}}\) gdje su \(\nu _{1}=n_{1}-1\) i \(\nu _{2}=n_{2}-1\)
Vise o ovom testu: http://sites.nicholas.duke.edu/statsreview/means/welch/
welch<-function(x,y,alpha,alternative)
{
n1<-length(x)
n2<-length(y)
ni<-(var(x)/n1+var(y)/n2)^2/(var(x)^2/(n1^2*(n1-1))+(var(y))^2/(n2^2*(n2-1)))
ts<-(mean(x)-mean(y))/sqrt(var(x)/n1+var(y)/n2)
print(ts)
p<-student_p(ts,ni,alternative)
ifelse (p<alpha,print("Nulta hipoteza se odbacije"),print("Nulta hipoteza se prihvata"))
print(p)
}
x<-rnorm(50,m=0.1,sd=3)
y<-rnorm(50,m=0.1,sd=10)
welch(x,y,0.05,alternative="two-sided")
## [1] -1.403396
## [1] "Nulta hipoteza se prihvata"
## [1] 0.1668043
t.test(x,y)
##
## Welch Two Sample t-test
##
## data: x and y
## t = -1.4034, df = 56.915, p-value = 0.1659
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -4.9710388 0.8744521
## sample estimates:
## mean of x mean of y
## 0.07907805 2.12737137
1.JEDNA DISPERZIJA
Ovi testovi se zovu i Pirsonovi testovi pripadanja (Goodness of fit). Ovdje takodje razlikujemo dva slucaja kada je poznato ocekivanje i kada nije.
Ako je poznato matematicko ocekivanje onda kao test statistiku koristimo \(T=\frac{n\widehat{S_{n}}^{2}}{\sigma _{0}^{2}}\) gdje je \(\widehat{S_{n}^{2}}=\frac{1}{n}\sum_{j=1}^{n}\left ( X_{j}-m\right )^{2}\) Statistika T ima \(\chi ^{2}_{n}\) raspodjelu
Ako nije poznato matematicko ocekivanje onda kao test statistiku koristimo \(T=\frac{(n-1)\widetilde{S_{n}}^{2}}{\sigma _{0}^{2}}\) gdje je \(\widetilde{S_{n}^{2}}\) popravljena uzoracka disperzija. Statistika T u tom slucaju ima \(\chi ^{2}_{n-1}\) raspodjelu
chi_p_value<-function(ts,df,alternative,alpha)
{
if(alternative=="two.sided")
p<-2*(min(pchisq(ts,df=df),1-pchisq(ts,df=df)))
else if(alternative=="less")
p<-pchisq(ts,df=df)
else if(alternative=="greater")
p<-1-pchisq(ts,df=df)
return(p)
}
var_test<-function(x,sigma0,alternative,alpha)
{
n<-length(x)
ts<-(n-1)*var(x)/sigma0^2
return(chi_p_value(ts,n-1,alternative,alpha))
}
x<-rexp(100,rate=0.5) #disperzija je 4, standardna dev je 2
#mi zadajemo sd
var_test(x,2,alternative="greater",alpha=0.05)
## [1] 0.9943329
Testira se \(H_{0}\): \(\sigma^{2} _{x}=\sigma^{2} _{y}\) protiv neke od alternativa. Test statistika \(F=\frac{\widetilde{S_{x}}^2}{\widetilde{S_{y}}^2}\)ima Fiserovu raspodelu sa n1-1,n2-2 stepeni slobode
Ovdje cemo obraditi dvostranu, jer za racunanje p vrijednosti ovog testa se koristi ANOVa racunanje
var_test<-function(x,y,alternative="two.sided",alpha)
{
n1<-length(x)
n2<-length(y)
f<-var(x)/var(y)
print(f)
ifelse(f<1/qf(1-alpha/2,n2-1,n1-1) || f>qf(1-alpha/2,n1-1,n2-1),print("Nulta hipoteza se odbacuje"),print("Nulta hipoteza se prihvata"))
}
x<-rnorm(20,sd=5)
y<-rnorm(20,m=10,sd=5)
var_test(x,y,alpha=0.05)
## [1] 0.7652694
## [1] "Nulta hipoteza se prihvata"
## [1] "Nulta hipoteza se prihvata"
Menadzer neke firme hoce da vidi da li je za firmu bolje da radi od 9:30 do 17:30(a) ili od 10 do 18(b). Uzorak je 25 slucajno odabranih dana kada je firma radila po prvom i 25 dana po drugom rezimu i dobio je sledece rezultate:
Prvi rezim: prosecna zarada je 570 =\(\overline{X_{1}}\) , sa uzorackim disperzijama 1600=\(\overline{S_{1}^{2}}\) , i
Drugi rezim: \(\overline{X_{2}}\) =600, \(\overline{S_{1}^{2}}\)=625
Sa nivoom znacajnosti testa od 0.05 testirati da li se veca zarada ostvaruje u drugom rezimu rada.
U ovom zadatku neka je prvi uzorak iz normalne(\(m_{1},\sigma^{2}_{1}\)) a drugi uzorak iz normalne (\(m_{2},\sigma^{2}_{2}\)) raspodjele. Testirsmo hipotezu \(H_{0}:m_{1}=m_{2}\) a alternativna je \(H_{1}:m_{1}\neq m_{2}\)
Posto ne znamo nista o disperzijama trebamo da testiramo da li su one jednake da bi znali da li koristimo Studentov ili Welshov test.
Uspostavljamo hipotezu i alternativnu hipotezu \(H_{0}:\sigma^{2}_{1}=\sigma^{2}_{2}\) \(H_{1}:\sigma^{2}_{1}\neq \sigma^{2}_{2}\)
Na osnovu statistike \(F=\frac{S_{1}^2}{S_{2}^{2}}\)
x<-rnorm(25,m=570,sd=1600)
y<-rnorm(25,m=600,sd=625)
var_test(x,y,alpha=0.05)
## [1] 5.462222
## [1] "Nulta hipoteza se odbacuje"
## [1] "Nulta hipoteza se odbacuje"
Dobijamo da se nulta hipoteza odbacuje tj nemaju jednake disperzije, pa cemo koristiti Welsh-ov test, ali posto nasa test statistika ima Studentovu raspodjelu sa 45 stepeni slobode onda se ona moze aproksimirati normalnom
ni<-(1600/25+625/25)^2/(1600^2/(25^2* 24)+(625^2/(25^2 *24)))
ts<-(570-600/sqrt(1600/25+625/25))
ifelse (ts<qnorm(0.05),print("Nulta hipoteza se odbacije"),print("Nulta hipoteza se prihvata"))
## [1] "Nulta hipoteza se prihvata"
## [1] "Nulta hipoteza se prihvata"
Iz ovog testa vidimo da trebamo prihvatiti nultu hipotezu tj da ova dva uzorka imaju jednake srednje vrijednosti. I da je svejedno u kojoj smjeni rade.