Cvičení 1. Úkol 1.: Použijte funkci simulace_DNV.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 = 4 2 1 4 4 2 1 2 2 3 tabulate(realizace) Value Count Percent 1 2 20.00% 2 4 40.00% 3 1 10.00% 4 3 30.00% 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]; n1=10; realizace=simulace_DNV(n1,v); tab=tabulate(realizace); y1=tab(:,2)/n1; 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=[n1 n2 n3 n4 n5 n6]'; y=[y1 y2 y3 y4 y5 y6]‘; subplot(2,2,1) plot(n,y(1,:),'o') 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') 0 500 1000 1500 2000 0.1 0.15 0.2 0.25 0.3 0.35 0 500 1000 1500 2000 0.25 0.3 0.35 0.4 0.45 0 500 1000 1500 2000 0.35 0.4 0.45 0 500 1000 1500 2000 0.04 0.06 0.08 0.1 0.12 Ú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 simulace_DNV 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 1 2 2 1 0 1 1 1 2 0 1 2 0 3 2 1 2 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 sim_expon.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) Úkol 4.: Pomocí funkcí clv.m, clv_polynom.m a BM_transformace.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 clv: mi=-1;sigma=0.5;n=2000; realizace=clv(mi,sigma,n); -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 0 100 200 300 400 500 600 Pro funkci clv_polynom: mi=2;sigma=5;n=1000; realizace=clv_polynom(mi,sigma,n); -15 -10 -5 0 5 10 15 20 0 50 100 150 200 250 Pro funkci BM_transformace: mi=1;sigma=2;n=3000; realizace=BM_transformace(mi,sigma,n); -6 -4 -2 0 2 4 6 8 10 0 100 200 300 400 500 600 700 800 900 Úkol 5.: Pro parametry mi = 0, sigma = 1, n = 1000 vygenerujte pomocí tří výše uvedených funkcí clv.m, clv_polynom.m a BM_transformace.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=1;n=1000; realizace=clv(mi,sigma,n); mean(realizace) std(realizace) min(realizace) max(realizace) realizace=clv_polynom(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é y1 uložíme hodnoty empirické distribuční funkce: y1=[1:n]’/n; Do proměnné y2 uložíme hodnoty distribuční funkce rozložení N(0,1): y2=normcdf(x,0,1); Do jednoho obrázku nakreslíme grafy obou funkcí: plot(x,y1,x,y2) Součet kvadrátů odchylek vypočteme takto: (y1-y2)’*(y1-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(λ). Podle údajů ČSÚ 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 sim_expon 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,1); 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:     245392ln35402 2ln 5,01ln 1 xe1x5,0 5,0 x 5,0 5,0       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:            1 0 1x 6321,0e1dxe 1 XP V MATLABu: pocet=sum(r