Uvod u R Kurs vremenske serije I primene

  • Slides: 21
Download presentation
Uvod u R Kurs: vremenske serije I primene u finansijama

Uvod u R Kurs: vremenske serije I primene u finansijama

Instalacija programa n q v http: //cran. r-project. org/ -Download R for Windows Instalacija

Instalacija programa n q v http: //cran. r-project. org/ -Download R for Windows Instalacija paketa -Packages -odabrati željeni paket, sačuvati ga -u Main menu-ju programa kliknuti na Packages->Install Package(s) from local zip files -aktivacija paketa: Packages->Load Package Istalacija paketa, direktno iz programa (korisnik mora biti konektovan na internet) -Packages->Install Package… -

Osnovni objekti i operacije sa njima -više o njima na starnici http: //cran. r-project.

Osnovni objekti i operacije sa njima -više o njima na starnici http: //cran. r-project. org/doc/manuals/Rintro. pdf

Vektori numeričkog tipa niz 1<-c(1, 2, 3, 4, 5, 6) ili niz 1=c(1, 2,

Vektori numeričkog tipa niz 1<-c(1, 2, 3, 4, 5, 6) ili niz 1=c(1, 2, 3, 4, 5, 6) n niz 1<-1: 6 n niz 1=seq(from=1, to=6, by=1) elementi vektora ne mora da budu celobrojnog tipa n q Indeksiranje: prvi član je numerisan jedinicom niz 1[3] [1] 3 -više članova istovremeno niz 1[c(2, 3, 4)] indeksni niz [1] 2 3 4 može i ovako: niz 1[(niz 1>=2)&(niz 1<5)] [1] 2 3 4 Objašnjenje: niz 1>=2 je vektor čiji su elementi logičkog tipa, na i-tom mestu se nalazi TRUE ako je uslov zadovoljen, u suprotnom FALSE

Vektori numeričkog tipa n Mogu se primenjivati operacije na sve članove niza niz 2=niz

Vektori numeričkog tipa n Mogu se primenjivati operacije na sve članove niza niz 2=niz 1+0. 5 niz 2 [1] 1. 5 2. 5 3. 5 4. 5 5. 5 6. 5 niz 3=2*niz 1+niz 2 > niz 3 [1] 3. 5 6. 5 9. 5 12. 5 15. 5 18. 5 § Ili samo na neke članove niza niz 3[c(1, 3, 5)]=niz 3[c(2, 4, 6)] niz 3 [1] 6. 5 12. 5 18. 5

Vektori numeričkog tipa n Neke od osnovnih funkcija sa vektorima ovog tipa (ne zahteva

Vektori numeričkog tipa n Neke od osnovnih funkcija sa vektorima ovog tipa (ne zahteva se instalacija dodatnih paketa): length(niz 1) #dužina niz 1 [1] 6 sum(niz 1) # suma elemenata [1] 21 mean(niz 1) #aritmetička sredina [1] 3. 5 var(niz 1) # popravljena uzoračka disperzija [1] 3. 5 median(niz 1) # mediajana niz 1 [1] 3. 5 max(niz 1) # maksimum; min(niz 1) #minimum

Vektori čiji su elementi: n Stringovi reci=c("moja", "mama") brojevi=c("1", "2", "3") brojevi [1] "1"

Vektori čiji su elementi: n Stringovi reci=c("moja", "mama") brojevi=c("1", "2", "3") brojevi [1] "1" "2" "3“ as. integer(brojevi) [1] 1 2 3 n Logičkog tipa

Višedimenzionalni nizovi z=array(niz 1, dim=c(2, 3)) [, 1] [, 2] [, 3] [1, ]

Višedimenzionalni nizovi z=array(niz 1, dim=c(2, 3)) [, 1] [, 2] [, 3] [1, ] 1 3 5 [2, ] 2 4 6 n z[i, j]-element u preseku i-te vrste I j-te kolone z[i, ]- i-ta vrsta z[, j]- j-ta kolona § zz=matrix(niz 1, nrow=2, ncol=3) zz [, 1] [, 2] [, 3] [1, ] 1 3 5 [2, ] 2 4 6

Obeležje a)numeričko(težina, visina) n b)kategoričko (pol, verska pripadnost, boja očiju. . . ) Faktori

Obeležje a)numeričko(težina, visina) n b)kategoričko (pol, verska pripadnost, boja očiju. . . ) Faktori n Za unos kategoričkih obeležja(categorical variable) u bazu podataka se obično koristi neki numerički kod faktor ima skup nivoa(levels) -nominalna i ordinalna

Obeležje pol=c(1, 1, 1, 2, 2, 2) Pol<-factor(pol, levels=c(1, 2)) levels(Pol)=c("muski", "zenski") sum mary

Obeležje pol=c(1, 1, 1, 2, 2, 2) Pol<-factor(pol, levels=c(1, 2)) levels(Pol)=c("muski", "zenski") sum mary () summary(Pol) muski zenski 6 4 bol<-c(1, 4, 4, 3, 2, 2, 1, 4) Bol<-factor(c(bol), levels=1: 4) levels(Bol)<-c("nema", "blag", "osrednji", "jak") summary(Bol) nema blag osrednji 2 4 1 3 jak

Liste Koriste se za kombinovanje više objekata (na pr. vektora) u jedan složeni objekat

Liste Koriste se za kombinovanje više objekata (na pr. vektora) u jedan složeni objekat X-predmenstrualni energetski unos, Y-postmenstrualni energetski unos n n n n unos. pre=c(5260, 5470, 5640, 6180, 6390, 6515, 6805, 7515, 8230, 8770) unos. posle=c(3910, 4220, 3885, 5160, 5645, 4680, 5265, 5975, 6790, 6900, 733 5) lista=list(pre=unos. pre, posle=unos. posle) lista $pre [1] 5260 5470 5640 6180 6390 6515 6805 7515 8230 8770 $posle [1] 3910 4220 3885 5160 5645 4680 5265 5975 6790 6900 7335

Baze podataka n n Lista vektora i/ili faktora iste duzine tako da podaci na

Baze podataka n n Lista vektora i/ili faktora iste duzine tako da podaci na istoj poziciji(u istoj vrsti) poticu od iste eksperimentalne jedinice baza=data. frame(unos. pre, unos. posle) Pristup: $notacija baza$unos. pre unos. posle 1 5260 3910 2 5470 4220 3 5640 3885 4 6180 5160 5 6390 5645 6 6515 4680 7 6805 5265 8 7515 5975 9 7515 6790 10 8230 6900 11 8770 7335

Baze podataka Izdvajanje podbaza=subset(baza, unos. pre>6000) § baza[5, ] unos. pre unos. posle apply(X,

Baze podataka Izdvajanje podbaza=subset(baza, unos. pre>6000) § baza[5, ] unos. pre unos. posle apply(X, MARGIN, FUN, . . . ) 8 7515 5975 n baza$unos. pre[baza$unos. posle>5000] [1] 6180 6390 6805 7515 8230 8770 n

Funkcije imef<-function(arg 1, arg 2, …arg. K) { telo funkcije…. #promenljive koje se definisu

Funkcije imef<-function(arg 1, arg 2, …arg. K) { telo funkcije…. #promenljive koje se definisu u okviru funkcije su lokalne return(izlaz) }

Funkcije Primer: n n n n popust 8 Mart<-function(cene) #na artike cene 1000 -1999

Funkcije Primer: n n n n popust 8 Mart<-function(cene) #na artike cene 1000 -1999 je popust 10%, a na skuplje artikle 20% { cena=cene n=length(cene) for(i in 1: length(cene)) { if(cene[i]>=2000) cena[i]=0. 8*cene[i] else if (cene[i]>=1000) cena[i]=0. 9*cene[i] else cena[i]=cene[i] } return(cena) }

Čitanje iz fajla niz=scan("niz. txt", sep="") Više informacija o ovoj funkciji mogu se dobiti

Čitanje iz fajla niz=scan("niz. txt", sep="") Više informacija o ovoj funkciji mogu se dobiti komandom help(scan) n

Grafičko predstavljanje podataka plot(x, y, . . . ) help(plot) plot(unos. pre, unos. posle,

Grafičko predstavljanje podataka plot(x, y, . . . ) help(plot) plot(unos. pre, unos. posle, pch=2) pch-oblik tačkica type: “l”-linija “s”-stepenice “b”-linije I tačke. . . lwd-debljina linije main=“Naslov garfika” n … xlab=“promenljiva na x-osi ylab=“promenljiva na y-osi”” xliim=c(a, b) #a, b-koordinate granica

Grafičko predstavljanje podataka hist(x, . . . ) freq=FALSE = probability=TRUE histogram gustine Default

Grafičko predstavljanje podataka hist(x, . . . ) freq=FALSE = probability=TRUE histogram gustine Default vrednost: TRUE I podrazumeva se ekvidistantan histogram breaks=niz granica Ili =br. Ćelija -1 barplot(height, . . . ) pie(x, . . )

Raspodele Za svaku raspodelu može se izračunati -vrednost funkcije gustine ili verovatnoće(za diskretene sl.

Raspodele Za svaku raspodelu može se izračunati -vrednost funkcije gustine ili verovatnoće(za diskretene sl. v. ) u tački (d) -vrednost funkcije raspodele u tački (p) -kvantili (q) -pseudoslučajni brojevi (r) n

pexp Raspodele n pt rp ois df dge om Primeri runif(20) # dobija se

pexp Raspodele n pt rp ois df dge om Primeri runif(20) # dobija se vektor 20 pseudoslučajnih brojeva iz uniformne U[0, 1] raspodele dbinom(4, size=20, prob=0. 2) #verovatnoća da se od 20 nezavisnih eksperimenata (p realizacije je 0. 2) realizuju 4 (Binomna raspodela) pnorm(0. 3, mean=0, sd=1) #vrednost funkcije raspodele sl. Veličine koja ima N(0, 1) raspodelu u tački x=0. 3 qchisq(p=0. 95, df=4) # vrednost x u kome je vrednost funkcije raspodele 0. 95