%% Cvičení 3. Diskrétní náhodná veličina. Práce s daty (grafy)
% Table of Contents
% Distribuční funkce a pravděpodobnostní funkce diskrétní náhodné veličiny
% Charakteristiky - střední hodnota, rozptyl, modus, kvantily
% Pravděpodobnosti
% Prace s daty - grafy
%     Časový graf
%     Sloupcový graf
%     Histogram
% Samostatná práce - Grader
%
%% Distribuční funkce a pravděpodobnostní funkce diskrétní náhodné veličiny
%
% Pojišťovna hledá nebytové prostory pro svoji pobočku. V komerčním objektu jsou k pronájmu následující možnosti: suterén (-2), přízemí (0), 2. patro (2), 4. patro (4) a 6. patro (6) ve tvaru diskrétní náhodné veličiny $x\in\{-2,0,2,4,6\}$.
%
% Je dána distribuční funkce: $$
% F\left(x\right)\text{=}\begin{cases}
% 0 & \mbox{pro\,}x<-2\\
% 0,1 & \mbox{pro\,}-2\leq x<0\\
% 0,3 & \mbox{pro\,}0\leq x<2\\
% 0,5 & \mbox{pro\,}2\leq x<4\\
% 0,8 & \mbox{pro }4\leq x<6\\
% 1 & \mbox{pro\,}x\geq6
% \end{cases}
% $$
%
% Vykreslíme graf DF - ručně:
%
% a v Matlabu:

clear, clc, close

x=[-4 -2 0 2 4 6 8] %% hodnoty o jednu více

DF=[0 0.1 0.3 0.5 0.8 1 1]%% DF stejné velikostí
figure
% stairs(x,DF)
stairs(x,DF,'LineWidth',3)
grid on
yticks(0:.1:1)
xticks(-4:1:8)
xlabel('x')
ylabel('F(x)')

% Přepočet z $F(x)$ do $f(x)$:
% Jednotlivé přírůstky jsou pravděpodobnosti jednotlivých realizací - takto dostaneme pravděpodobnostní funkci.
% $\begin{array}{|c|c|c|c|c|c|}
% \hline
% x  & -2  & 0  & 2  & 4  & 6 \\
% \hline
% f\left(x\right)  & 0.1  & 0.2  & 0.2  & 0.3  & 0.2\\
% \hline
% \end{array}$
% Tabulka ukazuje pravděpodobnosti jednotlivých pater v budově.
% Přepočet z $f(x)$ do $F(x)$:

fx=[0.1 0.2 0.2 0.3 0.2]
Fx=cumsum(fx)

%
% Vykreslíme graf pravděpodobnostní funkce:


xx=[-2 0 2 4 6];
fx=[0.1 0.2 0.2 0.3 0.2];

figure
bar(xx,fx,0.1) %% 0.1 - šířka sloupce 
xlabel('x')
ylabel('f(x)')
xticks(-4:1:8)

% Pokud je dána jenom pravděpodobnostní funkce,
% $\begin{array}{|c|c|c|c|c|}
% \hline
% x  & 5  & 8  & 10  & 14  \\
% \hline
% f\left(x\right)  & 0.4  & ?  & 0.15  & 0.2  \\
% \hline
% \end{array}$
% čemu se rovná chybějící pravděpodobnost? Vypočtěte:

%fx_8=

%% Charakteristiky - střední hodnota, rozptyl, modus, kvantily
% Střední hodnota (pro příklad s pojišťovnou)
% \[
% E\left[X\right]=\sum_{i=1}^{n}x_{i}f\left(x_{i}\right)=-2\cdot0.1+0\cdot0.2+2\cdot0.2+4\cdot0.3+6\cdot0.2=-0.2+0.4+1.2+1.2\text{=2.6}
% \]

%ručně
EX=-2*0.1+0*0.2+2*0.2+4*0.3+6*0.2
%nebo
EX=xx(1)*fx(1)+xx(2)*fx(2)+xx(3)*fx(3)+xx(4)*fx(4)+xx(5)*fx(5)
%nebo
EX=xx*fx'

% Rozptyl
% $$
% D\left[X\right]=\sum_{i=1}^{n}\left(x_{i}-E\left[X\right]\right)^{2}f\left(x_{i}\right)
% =\left(-2-2.6\right)^{2}\cdot0.1+\left(0-2.6\right)^{2}\cdot0.2+\left(2-2.6\right)^{2}\cdot0.2+\left(4-2.6\right)^{2}\cdot0.3+\left(6-2.6\right)^{2}\cdot0.2=\ldots
% $$
% nebo
% $$D\left[X\right]=
% \sum_{i=1}^{N}x_{i}^{2}f(x_{i})-E[x]^{2}=4\cdot0.1+0\cdot0.2+4\cdot0.2+16\cdot0.3+36\cdot0.2-2.6^{2}=\ldots
% $$
% Vypočtěte rozptyl:

%%ručně
DX=0.1*(-2-EX)^2+0.2*(0-EX)^2+0.2*(2-EX)^2+0.3*(4-EX)^2+0.2*(6-EX)^2
% nebo
DX=0.1*(-2)^2+0.2*0^2+0.2*2^2+0.3*4^2+0.2*6^2-EX^2
%nebo
for i=1:size(xx,2)
  mezivysledek(i)=fx(i)*(xx(i)-EX)^2;
end    
DX=sum(mezivysledek)
%nebo
DX=(xx-EX).^2*fx'

% Směrodatná odchylka $\sigma=\sqrt{D[X]}$

sigma=sqrt(DX)

% Modus $\hat x=\arg \max f(x)$

%ručně
mod1=4
%nebo
[max_fx,index]=max(fx)
mod1=xx(index)

% Uveďte modus pro druhý příklad:

%mod2=



% Kvantily
% Přes graf distribuční funkce
% Pro 20% kvantil se díváme na hodnotu $x$, která odpovídá $F(x)=0.2$. Kvantil se tak rovná 0.
% Pro medián se díváme na hodnotu $x$, která odpovídá $F(x)=0.5$. Kvantil se tak rovná $\frac{2+4}{2}=3$.
%% Pravděpodobnosti P\in(a,b)
% $P(x\in(a,b))=F(b)-F(a)$
% Čemu se rovná pravděpodobnost, že dostaneme prostory mezi 2. a 6. patrem?
% $P(x\in(2,6))=F(6)-F(2)=1-0.5=0.5$
% Čemu se rovná pravděpodobnost, že dostaneme prostory mezi 0. a 4. patrem?
%% Prace s daty - grafy
% Zkoumali jsme náklady na provoz elektromobilu v ČR a v Rakousku. Fiktivní data jsou v tabulce. První sloupec obsahuje celkové měsíční výdaje v eurech od 200 řidičů v  ČR, druhý sloupec - výdaje v Rakousku. Potřebujeme  analyzovat data graficky.
%

T=readtable("data2023_cv3.xlsx","Sheet","provoz","VariableNamingRule","preserve")

%% Časový graf
% pro jednotlivé sloupce:

figure
% plot(T.("Česká republika"))
plot(T.("Česká republika"), 'LineWidth',2)
title('Náklady na provoz elektromobilu v ČR')
xlabel('Řidiči') 
ylabel('Náklady')

% Vykreslete časový graf nákladů na provoz elektromobilu v Rakousku červenou barvou:



% Vypočtěte průměrné měsíční výdaje  na provoz elektromobilu v Rakousku od prvních 36 řidičů:



%
% Seřadíme data a vykreslíme časové grafy pro dva sloupce:

figure 
plot(sort(T.("Česká republika")),'b-*') 
hold on
plot(sort(T.("Rakousko")),'r-p') 
legend('ČR','Rakousko') 
xlabel('Řidiči') 
ylabel('Náklady') 
title('Porovnání nákladů v ČR a Rakousku')

% Vykreslete časový graf  prvních 100 záznamů obou sloupců



%% Sloupcový graf

figure 
bar([T.("Česká republika")(1:30) T.("Rakousko")(1:30)]) % pro přehlednost menší počet dat
% bar([sort(T.("Česká republika")(1:30)) sort(T.("Rakousko")(1:30))]) %
% můžeme seřadit
legend('ČR','Rakousko') 
xlabel('Čas') 
ylabel('Náklady') 
title('Porovnání nákladů v ČR a Rakousku')

% Vykreslete sloupcový graf nákladů v ČR a Rakousku  dalších 15 řidičů:



%% Histogram

figure
histogram(T.("Česká republika"))
ylabel('Četnosti') 
xlabel('Náklady') 

% Vykreslete histogram nákladů v  Rakousku :



%% Samostatná práce - Grader