# Sedmi cas. # Hocemo da uvedemo apsolutno neprekidne slucajne velicine. # Definicija, gustina raspodele. # Primeri. # 1* Prvi i najprostiji primer apsolutno neprekidne funkcije raspodele # je bas Uniformna slucajna velicina na nekom # intervalu [a, b] (a1) # iz X~Unif[a, b]. # dunif(k, a, b) - ovde se malo razlikuje od diskretnog slucaja, # ovde dunif predstavlja vrednost # funkcije gustine f(x) za x=k, # primetimo da u slucaju X~Unif[0, 2], # dobijamo iste vrednosti za sve k iz [0, 2] i nulu inace dunif(1.7, 0, 2) dunif(0, 0, 2) dunif(3, 0, 2) # Ocekivanje X~Unif[a, b]: E(X)=(a+b)/2 # Disperzija X~Unif[a, b]: D(X)=(b-a)^2/12 # 2* Drugi primer je Eskponencijalna slucajna velicina: X~Exp(a), # primetimo da ima samo jedan parametar. # Funkcija gustine: f(x)=a*exp(-a*x), x>=0 i nula inace. # Funkcija raspodele: F(x)=1-exp(-a*x). # Parametar "a" predstavlja koliko puta se dogadjaj desio u jedinici # vremena (jedinicu mi sami zadajemo). Bice jasnije na primeru # Inace, eksponencijalnom raspodelom se uglavnom modeliraju vremena # cekanja dok se ne desi neki dogadjaj, tj: # - vreme cekanja izmedje dva telefonska poziva u call-centru. # - vreme cekanja dok ne udje klijent u banku # - vreme cekanje pre nego sto se bakterija podeli, itd... # Ocekivanje je dato kao E(X)=1/a # Disperzija: D(X)=1/a^2 # funkcije implementirane u R-u su sledece: # pexp(y, a) = P{X<=y}, gde je X~Exp(a). # rexp(size=n, a) - (pseudo)slucajan broj (ili brojevi za n>1) iz X~Exp(a). # dexp(y, a) - vrednost funkcije gustine u tacki y. # 3* Treci primer, koji je nama od kljucnog znacaja je Normalna raspodela # u oznaci N(m, sigma^2). # Ima dva parametra gde prvi predstavlja bas ocekivanje te slucajne velicine, # dok drugi disperziju! # gustina raspodele je data sa: # f(x)=1/sqrt(2*pi*sigma^2) * exp(- (x-m)^2/(2*sigma^2) ), x iz R. # Funkcija raspodele nema eksplicitan oblik, samo se kao integral zapisuje. # Funkcije implementirane u R-u: # pnorm(y, m, sigma) - obratimo paznju da u R-u drugi parametar # nije sigma^2 vec sigma! # dnorm # rnorm # 1) zadatak # Bakterija se deli u skladu sa eksponencijalnom raspodelom Exp(2) (u minutima) # (tj vreme koje protekne izmedju dve podele ima eksp. raspodelu). # Odgovoriti na sledeca pitanja: # (a) Koliki je srednji broj podela bakterije u jednom minutu? # (b) Koliko podela u proseku bude u toku 20 minuta? Simulirati. # (c) Oceniti verovatnocu da je u sat vremena bilo bar "size" # podela pomocu simulacija. # (a) Neka je X~Exp(2) koja odgovara nasoj raspodeli iz zadatka. # Tada je E(X)=1/a=1/2 - a to predstavlja ocekivano vreme # cekanja u minutima do JEDNE podele. # => u proseku se 2 puta podeli u jednom minutu. # (a primetimo da nam to i jeste parametar) # (b) # simulacija_b <- function(a) # argumenti: N - koliko puta ponavljamo eksperiment, a - parametar eksp raspodele { # korak - predstavlja broj podela. korak = 1 # suma - tu cemo da proveravamo da li je manje od 20 minuta proslo. suma = rexp(1, a) # while - petlja, jer simuliramo dok god nismo premasili 20 minuta. while(suma <= 20) { # suma se povecava svaki put za vreme do nove podele suma = suma + rexp(1, a) # kao i broj podela. korak=korak + 1 } return(korak) } mean(replicate(1000, expr = simulacija_b(a = 2)) ) # Ocekujemo broj ~40, jer 2 puta se u proseku deli u jednom minutu. # (c) simulacija_c <- function(size, a) # size - parametar iz uslova zadatka, a - parametar raspodele { # x - vektor duzine size, koji predstavlja vremena cekanja izmedju podela. x = rexp(size, a) # Potrebno nam je da vidimo koliki je zbir svih vremena cekanja. y = sum(x) # ako jeste manji od 60 minuta, onda to racunamo kao uspeh if(y <= 60) { return(1) } return(0) } mean(replicate(10000, simulacija_c(125, 2) )) # A to je zapravo Gama raspodela sa parametrima (125, 2): G(125, 2) pgamma(q = 60, shape = 125, rate = 2) # 2) # Neka su visine n ljudi u nekom odeljenju date iz N(170, 15) : # (a) Simularati visine tih ljudi kao i ocene za ocekivanje i disperziju. # (b) Proveriti zakon velikih brojeva. # (a) simulacija2_a <- function(n, m, sigma ) # n - broj ljudi u odeljenju, m, sigma - prvi odnosno drugi parametar normalne rasp. { x = rnorm(n, m, sigma) # gde primetimo ponovo da drugi parametar u R-u je sigma, ne i sigma^2! return(c (x, mean(x), var(x)) ) # vracamo vektor duzine n+2, jer smo dodali na kraju jos i srednju vrednost, kao i uzoracku disperziju vektora. } simulacija2_a(25, 170, sqrt(15)) # (b) # simulacija2_b<-function(n, m, sigma, eps) # n - broj ljudi u odeljenju, m i sigma- parametri normalne raspodele # eps - vrednost epsilona iz teoreme ZVB. { x = rnorm(n, m, sigma) # x - vektor koji duzine n slucajnih brojeva iz normalne raspodele N(m, sigma^2). if(abs(sum(x)/n-m) >= eps) { return(1) } return(0) } # U narednim pozivima primecujemo da za istu vrednost epsilona pri promeni samo prvog parametra znacajno se promeni ocenjena verovatnoca. mean(replicate(1000, simulacija2_b(25, 170, sqrt(15), 1/2)) ) mean(replicate(1000, simulacija2_b(250, 170, sqrt(15), 1/2))) mean( replicate(1000, simulacija2_b(1000, 170, sqrt(15), 1/2) )) # 3) # Data je funkcija f(x) = a*(1-x)^2, 0 1/3}. # (g) Naci E(X) i D(x). # CGT i neke aproksimacije binomne raspodele. # Neka su date jednako raspodeljene nezavisne slucajne velicine: # X_1, X_2, ..., X_n i D(X_i)<+inf, za svako i=1, ..., n. # Ako posmatramo njihovu parcijalnu sumu: S_n=X_1+...+X_n # Onda: # (S_n -E(S_n))/sqrt(D(S_n)) -> N(0, 1), kada n-> +inf. # Specijalno za S_n~Bin(n, p). # Zato pri sledecim uslovima: # n>30 # n*p>10 # Mozemo Binomnu raspodelu da aproksimiramo normalnom! # 4) # Posmatrajmo eksperiment bacanja lopte u kos. Neka imamo ukupno 300 bacanja # i verovatnoca pogotka je 1/5. # Izracunati verovatnocu da je bilo najvise 70 pogotka. # Neka je X~Bin(300, 1/5). Trazi se P{X<=100}= # P{(X- E(X))/sqrt(D(X)) <= (70- E(X))/ D(X)}= # P{X*<= (70- 60)/sqrt(48)} , gde je sada X* ~ N(0, 1) vrednost=(70-300*1/5) / (sqrt(300*1/5*4/5)) pnorm(vrednost, 0, 1) # Neki zadaci za vezbu: # 1) # U nekoj igri igraci serviraju sve dok dobijaju poen, poen se dobija samo ako igrac servira i dobije taj servis. # Ako se dobije tudji servis nema poena, vec samo pravo da se servira. # Prvi igrac koji osvoji 21 poen pobedjuje u mecu. # Pretpostavimo da pri serviranju prvi igrac sa verovatnocom 0.6 moze da dobije, dok na servisu protivnika 0.5. # Oceniti pomocu simulacija verovatnocu pobede prvog igraca. (prvi igrac pocinje serviranje) # 2) # Novcic se baca 100 puta. Odrediti verovatnocu da je broj glava # izmedju 40 i 60. # 3) # Simulirati neku Eksponencijalnu slucajnu velicinu pomocu funkcije runif. # (argumenti funkcije parametar eksponencijalne slucajne velicine).