% swinie
clf
% echo off
% echo on
% Badamy dwie nowe karmy dla świń; nazwijmy je A i B.
% Mamy dwie grupy po 12 zwierząt.
% Uzyskane przyrosty masy są następujące:
A=[ 31 34 29 26 32 35 38 34 31 29 32 31];
B=[26 24 28 29 30 29 31 29 32 26 28 32];
% Czy któraś z karm daje istotnie większe przyrosty masy?
% badamy normalnosc rozkladow A i B
subplot(221);
normplot(A);
title('A');
subplot(222);
normplot(B);
title('B');
subplot(223);
boxplot([A' B'],'notch','on');
% Poniewaz nie jest wazne , ktora karma jest
% lepsza budujemy test dwustronny.
% Zakladajac ze dane pochodza z rozkladu normalnego:
[h p_t]=ttest2(A,B)
% nie zakładajac nic o rozkladzie mozemy przetestowac ta hipoteze przy
% pomocy testu Wilcoxona
[p_w h]=ranksum(A,B)
% i na koniec to samo sprawdzimy za pomocˇs testu reprobkowanego
% zgodnie z hipoteza zerowa probka A i B pochodza z tej samej populacji.
% Nasza najlepsza wiedza o owej populacji to polaczone probki A i B:
POP=[A B];
N=length(POP);
NA=length(A);
NB=length(B);
% Zasymulujemy N_rep razy wyciagniecie z POP prob o rozmiarach NA i NB i
% zobaczymy jak czesto zdarza sie roznica srednich taka jak w oryginalnym
% pomiarze lub jeszcze wieksza.
N_rep=1e4;
% oryginalna roznica srednich i median:
mi_0=abs(mean(A)-mean(B));
T_0=abs(mean(A)-mean(B))/std(POP);
me_0=abs(median(A)-median(B));
mi=zeros(1,N_rep);
T=zeros(1,N_rep);
me=zeros(1,N_rep);
%echo off
for i=1:N_rep
AA=randsample(POP,NA,true);
BB=randsample(POP,NB,true);
mi(i)=abs(mean(AA)-mean(BB)); % abs bo test dwustronny
T(i)=abs(mean(AA)-mean(BB))/std([AA BB]);
me(i)=abs(median(AA)-median(BB));
end
%echo on
p_mi=length(find(mi>=mi_0))/N_rep;
p_T=length(find(T>=T_0))/N_rep;
p_me=length(find(me>=me_0))/N_rep;
%echo off
subplot(224);
text( 0.2, 0.5, sprintf(' p_t=%.3f\n p_T=%.3f\n p_{mi}=%.3f\n p_w=%.3f\n p_{me}=%.3f\n',p_t,p_T,p_mi,p_w,p_me));
axis off;