Testiranje srednjih vrijednosti da nezavisna uzorka sa normalnom raspodjelom

  1. JEDNAKE DISPERZIJE

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

Testiranje disperzija

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

Dva uzorka iz normalne raspodjele i testiranje jednakosti disperzija

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"

Primjer

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.