################ # 1. Zaklad prace s R ################ # R jako kalkulacka 1+1 sqrt(2) print(pi,digits=20) # promenne a=10 # nebo a<-10 a+2 # vektory a=c(1,3,5,7,9) a[3] b=1:5 b^2 ls() # vypis vsech promennych rm(a) # smaze a ####### # 2. Body ze zapoctove pisemky # strucna analyza ####### body=c(16, 33, 34, 20, 11, 32, 27, 38, 35, 17, 29, 39, 35, 35, 37, 10, 23, 22, 19, 23, 21, 30, 10) body[1] body[5:10] length(body) # uzitecne funkce pro popis dat mean(body) # totez jako sum(body)/length(body) var(body) sd(body) summary(body) sum(body>20) mean(body>20) quantile(body,c(0.1,0.9)) hist(body) # napoveda k nejake funkci: ?hist ######################## # 3. Pravdepodobnostni rozdeleni a nahodne vybery ######################## ################ # Normalni rozdeleni # uzitecne funkce: dnorm, pnorm, qnorm, rnorm ################ # hustota N(0,1) x=seq(-5,5,by=0.1) f=dnorm(x,mean=0,sd=1) plot(f~x,type="l") # nebo curve(dnorm(x,mean=0,sd=1),-5,5,ylab="f(x)") # hustoty ruznych normalnich rozdeleni v jednom obrazku curve(dnorm(x,mean=0,sd=1),-5,5,ylab="f(x)") curve(dnorm(x,mean=1,sd=1),add=T,lty=2) curve(dnorm(x,mean=0,sd=2),add=T,lty=3) ####### # nahodny vyber z N(3,1) set.seed(2012) x=rnorm(20,3,1) x mean(x) var(x) hist(x,prob=T) curve(dnorm(x,3,1),add=T,col="red") # cim vyssi pocet pozorovani, tim je histogram blizsi teoreticke hustote par(mfrow=c(2,2)) n=c(20,50,100,500) for(i in 1:4){ x=rnorm(n[i],3,1) print(c(mean(x),var(x))) hist(x,prob=T) curve(dnorm(x,3,1),add=T,col="red") } ################ # Exponencialni rozdeleni # uzitecne funkce: dexp, pexp, qexp, rexp ################ # exp. rozdeleni s parametrem 1/5 = s hustotou f(x)=1/5*exp(-1/5*x) pro x>0 curve(dexp(x,rate=1/5),-1,15,ylab="f(x)") x=rexp(20,1/5) x hist(x,prob=T) curve(dexp(x,1/5),add=T,col="red") mean(x) 1/mean(x) var(x) ########## # Podobne lze dalsi rozdeleni: # Rovnomerne - dunif, runif, ... # Binomicke rozdeleni - dbinom, rbinom,... # Poissonovo rozdeleni - dpois, rpois ######### ############## # 4. Odhady a jejich vlastnosti ############# # Situace: mame nahodny vyber (data) a chceme odhad parametru neznameho rozdeleni # Vime: stredni hodnotu odhadneme prumerem a tento odhad ma "pekne" vlastnosti # Obecne: momentova metoda, metoda maximalni verohodnosti ###### # Nahodny vyber z exponencialniho rozdeleni s parametrem 1/5 # konzistence vyberoveho prumeru: set.seed(2012) n=seq(5,200,by=5) # ruzne rozsahy vyberu prumer=numeric() for(i in 1:length(n)){ x=rexp(n[i],1/5) # nahodny vyber o danem rozsahu prumer[i]=mean(x) # prumer z tohoto vyberu } plot(prumer~n,type="b") abline(h=5,lty=2) # jiny pohled na konzistenci: prumery= function(n,opak=50){ vyber=rexp(opak*n,1/5) vyber=matrix(vyber,ncol=n) # matice: v radcich mate nahodne vybery o rozsahu n prumery=rowMeans(vyber) # prislusne prumery print(var(prumery)) # odhad rozptylu prumeru hist(prumery, main=paste("Pocet pozorovani n =",n),xlim=c(0,10)) } par(mfrow=c(2,2)) prumery(5) prumery(25) prumery(100) prumery(1000) ################# # Centralni limitni veta # pripomenuti: nahodny vyber se stredni hodnotou EX a rozptylem 0 nekonecna normalni rozdeleni N(0,1) # pro n velke tedy Z_n ma priblizne N(0,1) ####### clv=function(n,opak=200){ opak=100 nvyb=rexp(n*opak, rate=1/5) vybery=matrix(nvyb,ncol=n) prumery=rowMeans(vybery) z=sqrt(n)*(prumery-5)/sqrt(25) # standardizovane prumery hist(z,prob=T,xlim=c(-3,4)) curve(dnorm(x,0,1),add=T,col="red") # hustota N(0,1) pro porovnani } par(mfrow=c(2,2)) clv(2) clv(10) clv(50) clv(500) par(mfrow=c(1,1)) ################# # 5. Poissonovo rozdeleni ################# # priklad Po(5) k=0:20 P=dpois(k,lambda=5) P plot(P~k, type="h") points(P~k, pch=19) ############### # pocet cestujicich v danem autobuse v dany cas se ridi Poissonovym rozdelenim # za posledni mesic (20 pracovnich dni) jsme namerili tyto hodnoty: x=c( 9 ,15 ,16, 14, 10, 12, 23, 16, 18, 21, 16, 20, 18, 12, 20, 7, 11, 11, 11, 17) # Ukoly: # 1. Odhadnete parametr lambda Poissonova rozdeleni. # 2. Na zaklade tohoto odhadnuteho parametru spoctete pravdepodobnosti: # a) ze autobus pojede prazdny, # b) ze v autobuse pojede vice lidi nez je kapacita k sezeni (20 mist), # c) jakou kapacitu by mel mit autobus, aby s pravdepodobnosti 0.9 mohli vsichni cestujici sedet?