CATEGORII DOCUMENTE |
Utilizarea functiei ks.test (Kolmogorov-Smirnov test)
Descriere: Efectueaza testul Klomogorov-Smirnov pentru una sau mai multe selectii (samples)
Folosirea functiei : ks.test(x,y,,alternative=c("two.sided","less","greater"), exact=NULL)
Argumentele: x=vector de valori numerice
y=vecttor numeric sau sir de caractere ce denumeste o functie de repartitie =parametrii repartitiei specificate (ca sir de caractere)
alternative=indica ipotezele alternative si are una din valorile : 'two.sided', 'less', 'greater'
exact=NULL sau o valoare logica care indica daca p-value trebuie calculata. Nu se foloseste in cazul one-sample, two.sided
Detalii: Daca y este numeric, atunci un test two-samples cu ipoteza NULL = x si y au fost extrase din aceeasi functie de repartitie continua este efectuata.
Testul one-sample
y este un sir de caractere ce denumeste o functie de repartitie continua. In acest caz, are loc un test one-sample in care NULL = functia de repartitie a lui x este y cu parametrii specificati de ''
exemple:
> x<-rnorm(500,3,16)
> ks.test(x,'pnorm',3.2,15.5)
One-sample Kolmogorov-Smirnov test
data: x
D = 0.0274, p-value = 0.8464
alternative hypothesis: two-sided
OBS: ipoteza H='selectia x provine dintr-o repartitie normala de parametri (3.2,15.5) este acceptata (p-value>0.1)
> y<-rexp(400,2)
> ks.test(y,'punif',min=0.01,max=0.03)
One-sample Kolmogorov-Smirnov test
data: y
D = 0.9375, p-value < 2.2e-16
alternative hypothesis: two-sided
OBS: ipoteza H='selectia y provine dintr-o repartitie uniforma de parametri (min=0.01, max=0.03) este respinsa (p-value<0.1)
Testul two-samples
x si y sunt vectori numerici. Testul verifica daca x si y provin din aceeasi repartitie continua.
exemplu:
> lalele<-rnorm(250)
> narcise<-runif(300, min=25, max=40)
> toporasi<-rexp(120,0.01)
> ghiocei<-rnorm(300,3,1)
> ks.test(lalele, narcise,exact=NULL)
Two-sample Kolmogorov-Smirnov test
data: lalele and narcise
D = 1, p-value < 2.2e-16
alternative hypothesis: two-sided
> ks.test(lalele+3,ghiocei,alternative='two.sided','less','greater')
Two-sample Kolmogorov-Smirnov test
data: lalele + 3 and ghiocei
D = 0.094, p-value = 0.1795
alternative hypothesis: two-sided
> ks.test(toporasi, narcise)
Two-sample Kolmogorov-Smirnov test
data: toporasi and narcise
D = 0.625, p-value < 2.2e-16
alternative hypothesis: two-sided
OBS: folosind ks.test, am obtinut ca ghioceii au aceeasi repartitie ca si lalelele, dar deplasata cu +3 (p-value=0.1795 > 0.1), iar intre celelalte selectii nu se observa asemanari.
Repartitia normala. Criterii pentru alegerea modelului normal
Descrierea functiilor:
hist - afiseaza histograma cu valorile date de sample-ul x
In cazul unei repartitii normale, histograma are forma unui clopotel (:
qqnorm - returneaza punctele (xi,zi), unde zi sunt cuantilele corespunzatoare unei selectii N(0,1)
qqline - returneaza dreapta care s-ar obtine, daca ipoteza de normalitate ar fi adevarata
Daca xi provin dintr-o repartitie normala, atunci reprezentarea grafica a punctelor este pe o dreapta. Altfel, obtinem o curba( in forma de S, pentru o repartitie ce difera de cea normala pentru valorile extreme si in forma de U, pentru repartitiile asimetrice)
Folosirea functiilor: qqnorm(a, datax=T, plot=T)
qqline(a, datax=T)
exemple:
> x<-rnorm(300,3,7)
> hist(x)
> y<-rexp(340,0.01)
> hist(y)
> z<-runif(200,3,5)
> hist(z)
> qqnorm(x,datax=T,plot=T)
> qqline(x, datax=T)
> qqnorm(y,datax=T,plot=T) > qqnorm(z,datax=T,plot=T)
> qqline(y, datax=T) > qqline(z, datax=T)
Teste de normalitate
pentru selectii mici (<5000)
Shapiro.test este o lista din clasa 'htest', continand: valoarea statisticii testului (D), p-value, method ('Shapiro-Wilk normality test'), data.name
Folosirea functiei: shapiro.test(x)
exemplu:
> x<-rnorm(520,mean=7,sd=4)
> shapiro.test(x)
Shapiro-Wilk normality test
data: x
W = 0.9976, p-value = 0.649
obs: ipoteza de normalitate este acceptata (p-value=0.649 > 0.1)
> y<-runif(150,min=2,max=5)
> shapiro.test(y)
Shapiro-Wilk normality test
data: y
W = 0.9397, p-value = 5.021e-06
obs: ipoteza de normalitate a selectiei este respinsa (p-value<0.1)
> z<-rexp(370,2)
> shapiro.test(z)
Shapiro-Wilk normality test
data: z
W = 0.8427, p-value < 2.2e-16
obs: ipoteza de normalitate nu este acceptata
(2) pentru selectii mari (>5000)
Pentru selectii mari, se utilizeaza teste asimptotice. Unul dintre aceste teste este ks.test
exemplu:
> ics<-rnorm(8700,mean=7,sd=4)
> ks.test(ics,'pnorm',3,5)
One-sample Kolmogorov-Smirnov test
data: ics
D = 0.352, p-value < 2.2e-16
alternative hypothesis: two-sided
# ipoteza de normalitate N(3,5) este respinsa
> ks.test(ics,'pnorm',7,4)
One-sample Kolmogorov-Smirnov test
data: ics
D = 0.0078, p-value = 0.6619
alternative hypothesis: two-sided
# ipoteza de normalitate N(7,4) este acceptata
Un alt test asimptotic, universal, este testul χ^2, care foloseste teorema lui Pearson. Acest test este insa puternic influentat de modul in care facum unele alegeri pe parcursul algoritmului (aceleasi date pot duce la acceptarea ipotezei sau la respingerea ei, dupa modul in care alegem partitia)
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2324
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved