Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Utilizarea functiei ks.test (Kolmogorov-Smirnov test)

calculatoare



+ Font mai mare | - Font mai mic



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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2298
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved