clear, close all

% Table of Contents
% Parametrické testy
%     Test o shodě dvou středních hodnot při neznámém rozptylu - párový t-test
%     Test o shodě dvou středních hodnot při neznámém rozptylu - nepárový t-test
%     Test o schodě dvou rozptylů - var-test 2
% Neparametrické testy
%     Wilcoxonův test
%     Mann-Whitneyův test
% Samostatná práce v Graderu
%%
%% Cvičení 8. Testy hypotéz pro 2 výběry
% Postup:
% kolik výběrů máme?  2
% máme normalitu dat? (pokud alespoň jeden výběr není normální, nelze použít parametrický test)
% jsou data párová?
% sestavíme H0: parametr z výběru č. 1 je shodný s parametrem z výběru č. 2
% sestavíme HA z H0:  opačné tvrzení
% zvolíme správný test  - viz. tabulka s testy.
% určíme strannost testu: (oboustranný, pravostranný, levostranný)
% vypočteme p-hodnotu
% porovnáme p-hodnotu s hladinou významnosti: (pokud není řečeno jinak, je \alpha =0,05)
% H0 nezamítáme (p>\alpha ) nebo zamítáme (p<\alpha )
% Závěr
%% Parametrické testy
% z-test 2 Matlab neobsahuje.
%% Test o shodě dvou středních hodnot při neznámém rozptylu - párový t-test
% Předpoklad:
% normalita obou výběrů
% 2 párové výběry
% U 10 lidí sledujeme dobu kdy vstávají o víkendu a kdy během pracovního týdne. Na hladině významnosti 0,05 otestujte tvrzení, že o víkendu lidé vstávají ve stejný čas jako ve všední den. Data máme tady:

vikend=[5.3 12.1 9.5 7.45 9.4 7.55 7.45 11.0 10.5 10.5];
vsedni_den=[8.3 4.5 8.4 10.3 8.0 9.1 8.5 6.4 7.4 5.4];

%  Otestujeme normalitu dat:

[h,pN1]=adtest(vikend)
[h,pN2]=adtest(vsedni_den)

% Nezamítáme normalitu dat ani u dat z víkendu ani pracovního týdne, proto pokračujeme v parametrických testech.
% Máme 2 párové výběry - každý jednotlivý člověk nám řekl, kdy vstává o víkendu a kdy během týdne.
% Testujeme shodu středních hodnot pro párová data a to je tedy párový t-test.
% H0: \mu_1=\mu_2  - přůměrný čas vstávání o víkendu je stejný jako ve všední den.
% HA: \mu_1\ne \mu_2 - přůměrný čas vstávání o víkendu není stejný jako ve všední den.

[h,p1]=ttest(vikend,vsedni_den)

% Zamítáme H0 nebo nezamítáme a proč? Závěr?
% Na hladině významnosti 0,05 otestujte tvrzení, že o víkendu lidé vstávají  dříve než ve všední den.
% Co se změnilo?
% H0: \mu_1=\mu_2 (nebo \mu_1<\mu_2)  - přůměrný čas vstávání o víkendu je stejný nebo  dříve než  ve všední den.
% HA: \mu_1> \mu_2 - přůměrný čas vstávání o víkendu je později než ve všední den.
% Oboustranný nebo jednostranný test?

[h,p2]=ttest(vikend,vsedni_den,'Tail',"right")

% Zamítáme H0 nebo nezamítáme a proč? Závěr?
% Na hladině významnosti 0,05 otestujte tvrzení, že o víkendu lidé vstávají později než ve všední den.
% Co se změnilo?
% H0: \mu_1=\mu_2 (nebo \mu_1>\mu_2)  - přůměrný čas vstávání o víkendu je stejný nebo později než  ve všední den.
% HA: \mu_1< \mu_2 - přůměrný čas vstávání o víkendu je dříve než ve všední den.
% Oboustranný nebo jednostranný test?

%[h,p3]=

% Zamítáme H0 nebo nezamítáme a proč? Závěr?
%% Test o shodě dvou středních hodnot při neznámém rozptylu - nepárový t-test
% Předpoklad:
% normalita obou výběrů
% 2 nepárové výběry
% Majitelů psů v Praze a v Krušných horách jsme se zeptali, kolik našli u svých psů klíšťat v měsíci dubnu. Na hladině významnosti 0,01 ověřte tvrzení, že v dubnu je víc klíšťat v Krušných horách než v Praze, protože v Krušných horách je víc trávy a jiné zeleně.

Praha=[10    10    12    13    13     7    10     6     7    10    15     8    11     9    13];
Krusne=[1     4     5     3     3     1     1     3     4     8     2     3];

% Otestujeme normalitu dat:

%[h,pN1]=
%[h,pN2]=

% Můžeme použít parametrický test?
% Výběry nejsou párové - různý počet dat.
% testujeme shodu průměrného počtu  klíšťat - to je tedy nepárový t-test
% H0: \mu_P=\mu_K (nebo \mu_P<\mu_K) - v Krušných horách  je v průměru stejný počet nebo víc klíšťat než v Praze
% HA: \mu_P>\mu_K - v Krušných horách  je v průměru meně klíšťat než v Praze
% Jaký je směr testu a proč?

[h,p_t2n]=ttest2(Praha,Krusne,"Tail","right","Alpha",0.01)

% Zamítáme H0 nebo nezamítáme a proč? Závěr?
%% Test o schodě dvou rozptylů - var-test 2
% Předpoklad:
% 2 výběry
% normalita obou výběrů
% Zjišťujeme, kde je stabilnější počasí v poušti Gobi nebo v Antarktidě (severní pól). Máme skutečná data z dubnu 2020. Na hladině významnosti 0,05 testujte tvrzení, že obě místa jsou teplotně stejně stabilní.

Gobi=[1 6 12 9 5 13 17 14 12 15 16 11 0 0 8 4]; 
Antarctica=[-39 -42 -44 -47 -51 -46 -46 -46 -50 -50 -52 -50 -47 -47 -47 -48 ];

% Otestujeme normalitu dat:

%[h,pN1]=
%[h,pN2]=

% obě místa jsou teplotně stejně stabilní - testujeme shodu rozptylů

[h,p_var]=vartest2(Gobi,Antarctica)

% Zamítáme H0 nebo nezamítáme a proč? Závěr?
%% Neparametrické testy
%% Wilcoxonův test
% Předpoklad:
% 2 párové výběry
% alespoň 1 z výběrů není normální
% 15 dětí se hádá s rodiči, u čeho tráví víc času, jestli u mobilu nebo u počítače. Rodiče tvrdí, že u mobilu. Na hladině 0,05 otestujte tvrzení, že doba strávená u mobilu je delší než u počítače. Máme data od 15 dětí v hodinách:

mobil=[6.5178    7.2463    1.0159    7.3070    5.0589    0.7803    2.2280    4.3751    7.6601    7.7191    1.2609    7.7647    7.6573    3.8830    6.4022];
pocitac=[ 5.6484    0.2547    2.2154    0.3694    0.7771    6.5877    5.5586    2.5368    7.6018    0.2756    3.5100    3.0525    6.1241    6.3616    1.4950];

% Otestujeme normalitu dat:

[h,pN1]=adtest(mobil)

% hned u prvního výběru zamítáme, proto není nutné testovat dále - musíme použít neparametrický test
% párová data (od 15 dětí)
% testujeme shodu průměrné doby  strávené u mobilu a u počítače - to je tedy Wilcoxonův test
% H0: \tilde x_{0,5(m)}=\tilde x_{0,5(p)} (nebo \tilde x_{0,5(m)}>\tilde x_{0,5(p)}) - doba strávená u mobilu se rovná nebo je delší než u počítače
% HA: \tilde x_{0,5(m)}<\tilde x_{0,5(p)} - doba strávená u mobilu je kratší než u počítače
% Jaký je směr testu a proč?

p=signrank(mobil,pocitac,"tail","left")

% Zamítáme H0 nebo nezamítáme a proč? Závěr?
%% Mann-Whitneyův test
% Předpoklad:
% 2 nepárové výběry
% alespoň 1 z výběrů není normální
% Muži tvrdí, že sice váží víc, ale jejich hodnota BMI je menší než u žen. Náhodně jsme vybrali několik žen a mužů a u těch jsme spočítali BMI. Na hladině významnosti 0,05 ověřete toto tvrzení.

zeny=[28.1768   22.3437   16.0336   19.0308   17.7537   31.4018   19.5376   24.9923   21.2303   25.5544   18.9406   16.3909   16.3105   23.9528   21.2905   21.2158   27.6772   23.1663   22.7912   28.3508];
muzi=[ 23.7472   27.5181   24.8363   26.2299   27.5189   31.5971   23.1421   42.7625   43.7301   33.2899   33.2528   29.7675   42.7012   30.4927   24.5577   39.9458   30.9640   27.5589   31.2900   24.2185];

% Otestujeme normalitu dat:

[h,pN1]=adtest(zeny)
[h,pN2]=adtest(muzi)

% normalitu druhého výběru zamítáme - musíme použít neparametrický test
% nepárové výběry - sice mají stejný počet dat, ale hodnoty netvoří dvojice, nejsou párové
% testujeme shodu průměrné hodnoty BMI žen a mužů  - to je tedy Mann-Whitneyův test
% H0: \tilde x_{0,5(z)}=\tilde x_{0,5(m)} (nebo \tilde x_{0,5(z)}>\tilde x_{0,5(m)}) - průměrná hodnota BMI mužů se rovná nebo je menší než u žen
% HA: \tilde x_{0,5(z)}<\tilde x_{0,5(m)} - průměrná hodnota BMI mužů je větší než u žen
% Jaký je směr testu a proč?

p_mw=ranksum(zeny,muzi,"tail","left")

% Zamítáme H0 nebo nezamítáme a proč? Závěr?
%% Samostatná práce v Graderu
%
%
%
%