Cvičení 1. Úkol 1.: Použijte funkci simulaceDNV.m pro příklad z přednášky (Opakovaně vypisovaných výběrových řízení se účastní vždy 4 firmy, označme je A, B, C, D. Pravděpodobnost, že jejich nabídky budou vybrány, jsou postupně 0,2; 0,3; 0,4 a 0,1.) Pro různá n (např. n = 10, 100, 200, 500, 1000, 2000) simulujte výsledky konkurzů. Pokaždé vytvořte tabulku rozložení četností variant 1, 2, 3, 4 (funkce tabulate) a sledujte, jak s rostoucím n se relativní četnosti přibližují k pravděpodobnostem těchto variant, tj. k číslům 0,2; 0,3; 0,4; 0,1. Nepovinný úkol: Pokuste se výsledky znázornit graficky, tedy prostřednictvím čtyř grafů, kde na vodorovné ose bude n a na svislé ose relativní četnost příslušné varianty. Ukázka postupu (pro n=10) a výstupy z MATLABu: v=[0.2 0.3 0.4 0.1]; n=10; realizace=simulace_DNV(n,v) realizace = 4214421223 tabulate(realizace) Value Count Percent 1 2 20.00% 2 4 40.00% 3 1 10.00% 4 3 30.00% 4©-1-1-e-e-1-1-1-1- 3.5 - 3 - o 2.5 - 2 - O O O O - 1.5 - 1 I-1-e-'-'-1-e-1-1- 123456789 10 Pro tuto konkrétní simulaci existují pro některé firmy velké rozdíly mezi pravděpodobnostmi jednotlivých výsledků výběrových řízení a jejich relativními četnostmi: pravděpodobnost, že bude vybrána firma A, je 0,2, a to se shoduje s relativní četností 0,2; pravděpodobnost, že bude vybrána firma B, je 0,3, avšak relativní četnost vyšla 0,4; pravděpodobnost, že bude vybrána firma C, je 0,4, relativní četnost je však 0,1; pravděpodobnost, že bude vybrána firma D, je 0,1, což se velmi odlišuje od relativní četnosti 0,4. Návod na nepovinný úkol: v=[0.2 0.3 0.4 0.1]; nl=10; realizace=simulace_DNV(nl,v); tab=tabulate(realizace); yl=tab(:,2)/nl; n2=100; realizace=simulace_DNV(n2,v); tab=tabulate(realizace); y2=tab(:,2)/n2; n3=200; realizace=simulace_DNV(n3,v); tab=tabulate(realizace); y3=tab(:,2)/n3; n4=500; realizace=simulace_DNV(n4,v); tab=tabulate(realizace); y4=tab(:,2)/n4; n5=1000; realizace=simulace_DNV(n5,v); tab=tabulate(realizace); y5=tab(:,2)/n5; n6=2000; realizace=simulace_DNV(n6,v); tab=tabulate(realizace); y6=tab(:,2)/n6; n=[nl n2 n3 n4 n5 n6]'; y=[yl y2 y3 y4 y5 y6]'; subplot(2,2,l) plot(n,y(l,:),V) subplot(2,2,2) plot(n,y(2,:),'o') subplot(2,2,3) plot(n,y(3,:),'o') subplot(2,2,4) plot(n,y(4,:),'o') 500 1000 1500 2000 500 1000 1500 2000 0.45 0.4O 0.35 500 1000 1500 2000 500 1000 1500 2000 Úkol 2.: Hráči šachu, označme je A a B, jsou stejně silní a hrají spolu tři partie. Nerozhodný výsledek partie je vyloučen a výsledky jsou nezávislé. Náhodná veličina X udává počet výher hráče A. Pomocí funkce simulaceDNV simulujte výsledky n-násobného opakování těchto tří partií (např. n = 20, 100, 200, 500). Pokaždé vytvořte tabulku rozložení četností variant 0,1,2,3 a získané relativní četnosti porovnejte s pravděpodobnostmi variant 0,1,2,3. Návod: Vektor rozložení pravděpodobností diskrétní náhodné veličiny X lze získat pomocí funkce binopdf. Ukázka postupu (pro n=20) a výstupy z MATLABu: v=binopdf([0 1 2 3],3,0.5) v = 0.1250 0.3750 0.3750 0.1250 n=20; realizace=simulace_DNV(n,v); realizace=realizace-1 realizace = Columns 1 through 17 12210111201203212 Columns 18 through 20 1 1 3 tabulate(realizace) Value Count Percent 0 3 15.00% 1 9 45.00% 2 6 30.00% 3 2 10.00% Vidíme, že pro tuto konkrétní simulaci existují určité rozdíly mezi pravděpodobnostmi a relativními četnostmi jednotlivých variant náhodné veličiny X: varianta 0 (tj. hráč A vůbec nevyhraje) má pravděpodobnost 0,125, zatímco relativní četnost je 0,15. Varianta 1 (tj. hráč A vyhraje jednou) má pravděpodobnost 0,375, relativní četnost je 0,45. Varianta 2 (tj. hráč A vyhraje dvakrát) má pravděpodobnost 0,375, relativní četnost je 0,3. Varianta 3 (tj. hráč A vyhraje třikrát) má pravděpodobnost 0,125, relativní četnost je 0,1. Úkol 3.: Použijte funkci simexpon.m pro různé hodnoty parametru lambda (např. lambda = 0,1; 0,5; 1; 2) a pro různá n (např. n = 10, 100, 200, 500, 1000, 2000). Pomocí funkce hist.m vykreslete (aspoň pro některé kombinace parametrů n, lambda) histogramy těchto realizací. Upozornění: V MATLABu lze realizace náhodné veličiny s exponenciálním rozložením generovat též pomocí funkce exprnd. Ukázka postupu (pro lambda=2, n=1000) a výstupy z MATLABu: lambda=2;n=1000; x=sim_expon(n,lambda); hist(x) 600 i-1-1-1-1-1-1-1-1 Úkol 4.: Pomocí funkcí clv.m, clv_polynom.m a BMtransformace.m generujte pro různé parametry mi, sigma a různá n realizace normálně rozložené náhodné veličiny. Vždy posuďte, zda vykreslený histogram se svým tvarem blíží tvaru Gaussovy křivky. Ukázka postupu a výstupy z MATLABu: Pro funkci civ: mi=-l;sigma=0.5;n=2000; realizace=clv(mi,sigma,n); -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 Pro funkci clv_polynom: mi=2;sigma=5;n=1000; realizace=clvj3olynom(mi,sigma,n); 250 200 - 150 - 100 - 50 - 0 -15 -10 -5 0 5 10 15 20 Pro funkci BMtransformace: mi=l;sigma=2;n=3000; realizace=BM_transformace(mi,sigma,n); 9001-1-1-1-1-1-1-1-1 Úkol 5.: Pro parametry mi = 0, sigma = 1, n = 1000 vygenerujte pomocí tří výše uvedených funkcí clv.m, clv_polynom.m a BMtransformace.m realizace normálně rozložené náhodné veličiny. Pokaždé vypočtěte průměr a směrodatnou odchylku a porovnejte s teoretickými hodnotami 0 a 1. Vypočítejte rovněž minimum a maximum. Ukázka postupu a výstupy z MATLABu: mi=0;sigma=l;n=1000; realizace=clv(mi,sigma,n); mean(realizace) std(realizace) min(realizace) max(realizace) realizace=clvj)olynom(mi,sigma,n); mean(realizace) std(realizace) min(realizace) max(realizace) realizace=BM_transformace(mi,sigma,n); mean(realizace) std(realizace) min(realizace) max(realizace) Nepovinný úkol: Pro realizace získané v úkolu 4 vytvořte graf empirické distribuční funkce a porovnejte ho s grafem distribuční funkce rozložení N(0,1). Odlišnost empirické distribuční funkce od teoretické distribuční funkce posuďte pomocí součtu kvadrátů odchylek příslušných funkčních hodnot. Návod: Hodnoty proměnné realizace setřídíme vzestupně a uložíme do proměnné x: x=sort(realizace); Do proměnné yl uložíme hodnoty empirické distribuční funkce: yl=[l:n]7n; Do proměnné y2 uložíme hodnoty distribuční funkce rozložení N(0,1): y2=normcdf(x,0,l); Do jednoho obrázku nakreslíme grafy obou funkcí: plot(x,yl,x,y2) -4-3-2-10 1 2 3 Součet kvadrátů odchylek vypočteme takto: (yl-y2)'*(yl-y2) Úkol 6.: Podle některých teorií se soudí, že příjmy obyvatel lze modelovat pomocí exponenciálního rozložení. Nechť náhodná veličina X udává měsíční příjem náhodně vybraného zaměstnance. Předpokládejme, že X ~ Ex(X). Podle údajů CSU dosáhla průměrná hrubá mzda v ČR ve 3. čtvrtletí roku 2020 hodnoty 35 402 Kč, mediánová mzda byla 31 183 Kč. a) Pomocí funkce simexpon nebo exprnd náhodně vygenerujte příjmy n = 1000, 10 000 a 100 000 osob (střední hodnotu volte 35 402) a vytvořte histogram vygenerovaných příjmů. V MATLABu: r = exprnd(35402,n,l); hist(r) b) Pro každou sérii simulací vypočtěte průměrný příjem a vypočtěte medián příjmů. Zjištěné hodnoty porovnejte s teoretickými hodnotami: střední hodnota = 35 402 Kč, medián = 31 183 Kč. Výpočet mediánu: 0,5 = O(x0 5) = 1 - e"Ws => x0 5 = --ln(l - 0,5) = — = 35402 • ln2 = 24539 X X V MATLABu: m = mean(r) x50 = median(r) c) Pro každou sérii simulací zjistěte, kolik procent osob bude mít podprůměrné příjmy. Zjištěnou hodnotu porovnejte s teoretickou hodnotou 63,2 %. Poznámka: Výpočet podílu osob s podprůměrnými příjmy: i PJ^X < = j\e^xdx = 1 - e"1 = 0,6321 V MATLABu: pocet=sum(r