########################################################################### ################### Cvičení 3 - Náhodná veličina ########################## ########################################################################### ############### Martina Litschmannová, Adéla Vrtková ##################### ########################################################################### ######## Příklad 1 (Půjčovna automobilů) ################################## # a) Pravděpodobnostní funkce x=c(0,1,2,3,4,5,6) p=c(0.01,0.40,0.25,0.15,0.10,0.06,0.03) plot(x, p) plot(x, p, type="h") # Začínáme s grafikou -> graf dále upravujeme - používáme další parametry plot(x, p, ylim=c(0,0.5), # parametr pro rozsah osy y ylab="p(x)", # parametr pro popis osy y main="Pravděpodobnostní funkce", # parametr pro název grafu type="p", # určuje o jaký typ grafu se jedná (p -> points, bodový) pch=19, # parametr pro vzhled zobrazovaných bodů col=c("blue","red","green"), # barvy cex=2, # parametr pro upravení velikosti celého grafu (ve smyslu zvětší 2x) cex.lab=1.3, # parametr zvlášť pro velikost názvů os cex.axis=1.3, # parametr zvlášť pro velikost hodnot na osách cex.main=1.3) # parametr pro velikost názvu grafu text(0.5,0.0,"X ... počet zapůjčených automobilů", cex=1.3, col="blue", adj=c(0,0)) ####################################################################################### ### Poznámky k úvodu do grafiky ### # základem jsou tzv. high-level funkce, které vytvoří graf (tj. otevřou grafické oknou a vykreslí dle zadaných parametrů) # na ně navazují tzv. low-level funkce, které něco do aktviního grafického okna přidají, samy o sobě neotevřou nové # výše použitá funkce "text" je low-level funkce - přidá text do stávajícího aktivního grafického okna # další low-level funkce - např. abline, points, lines, legend, title, axis ... které přidají přímku, body, legendu... # tzn. před použitím "low-level" funkce je potřeba, volat "high-level" funkci (např. plot, boxplot, hist, barplot, pie,...) # další grafické parametry naleznete v nápovědě # nebo např. zde http://www.statmethods.net/advgraphs/parameters.html # nebo zde https://flowingdata.com/2015/03/17/r-cheat-sheet-for-graphical-parameters/ # nebo http://bcb.dfci.harvard.edu/~aedin/courses/BiocDec2011/2.Plotting.pdf ####################################################################################### # b) Distribuční funkce F = cumsum(p) F # nebo # Funkce pro výpočet a vykreslení distribuční funkce dist.f=function(x,p){ F=cumsum(p) plot(x, F, type="s", ylim=c(0,1), main="Zjednodušený náčrtek grafu distribuční funkce") return(F) } dist.f(x,p) # c) Číselné charakteristiky # Střední hodnota EX=sum(x*p) EX # Rozptyl EX2=sum(x*x*p) # druhý obecný moment DX=EX2-EX^2 DX # Směrodatná odchylka sigma.X=sqrt(DX) sigma.X # Funkce pro výpočet základních číselných charakteristik souhrn=function(x,p){ EX=sum(x*p) EX2=sum(x*x*p) DX=EX2-EX^2 sigma.X=sqrt(DX) # zápis výsledků do tabulky tab=rbind(EX,DX,sigma.X) tab.popis=c("stř. hodnota","rozptyl","směr. odchylka") rownames(tab)=tab.popis return(tab) } souhrn(x,p) # d) Y ... příjem, Y=500X y=500*x # Pravděpodobnostní funkce plot(y,p,main="Pravděpodobnostní funkce") # Distribuční funkce dist.f(y,p) # e) Y - Číselné charakteristiky souhrn(y,p) # f) Z ... zisk, Z=500X-800 z=500*x-800 # Pravděpodobnostní funkce plot(z,p,main="Pravděpodobnostní funkce") # Distribuční funkce dist.f(z,p) # g) Z - Číselné charakteristiky souhrn(z,p) ######## Příklad 2 (Transformace NV) #################################### # a) modelování NV X x=c(-1,0,1) p=c(0.3,0.4,0.3) plot(x,p,main="Pravděpodobnostní funkce") dist.f(x,p) souhrn(x,p) # modelování NV Y, Y=1-3X y=1-3*x plot(y,p) dist.f(y,p) # Nesmyslný výstup - čím je to způsobeno? y p y=c(-2,1,4) p=c(0.3,0.4,0.3) plot(y,p,main="Pravděpodobnostní funkce") dist.f(y,p) souhrn(y,p) # modelování NV W, W=3X^2 w=3*x*x plot(w,p) # Nesmyslný výstup - proč? w p w=c(0,3) p=c(0.4,0.6) plot(w,p,main="Pravděpodobnostní funkce") dist.f(w,p) souhrn(w,p) ######## Příklad 3 (X ... počet současně porouchaných strojů ze 2) ####### x=c(0,1,2) p.0=0.8*0.7 p.2=0.2*0.3 p.1=1-p.0-p.2 p=c(p.0,p.1,p.2) p plot(x,p,main="Pravděpodobnostní funkce") dist.f(x,p) souhrn(x,p)