Skapa gärna följande skript i MATLAB för att exemplifiera hur du kan göra
for k=1:182
INNAN(k)=floor(randn(1,1)*3.3+64);
EFTER(k)=floor(randn(1,1)*2.9+62.4);
end
INNAN
EFTER
[h,p,konfidensintervall,stats] = ttest2(INNAN,EFTER,'Alpha',0.05,'Tail','right')
% Ändra 0.05 till något annat om du vill ha olika konfidensgrad.
% Konfidensgrad är 1-Alpha, så här 0.95 (95%-ig).
% Om du bara skrivit ttest2(INNAN,EFTER) antar MATLAB Alpha=0.05 samt
% 'Tail' = 'both' alltså tvåsidigt test. Vill du hypotestesta ensidigt
% kan du göra det med 'right' om du vill se om han sänkt vilopulsen från
% INNAN till EFTER. Observera att p kan bli ett extremt litet värde
% om personen verkligen har visat en förbättring, kan fort då stå
% 3.2346e-08 eller nått vilket betyder att om han inte faktiskt förbättrat
% sig, så är det större chans att vinna på lotto om man spelar en enda gång
% att dessa tal av en slump skulle utvisa en så stor förbättring...
Detta kommer slumpa ett dataset som visar en viss förbättring, om än liten.
Lite beroende hur talen slumpas när du kör de kommer talen visa lite olika men om jag sparar skriptet som vilopuls.m och kör det en gång, kan det till exempel visa
>> vilopuls
INNAN =
Columns 1 through 19
65 66 64 64 62 59 63 62 65 66 68 68 60 68 65 61 64 65 59
Columns 20 through 38
63 59 60 58 66 62 66 64 70 62 66 65 67 63 64 63 67 66 69
Columns 39 through 57
61 56 58 61 66 63 66 68 67 63 63 59 62 62 59 59 65 60 65
Columns 58 through 76
66 61 64 66 64 60 65 58 66 67 61 66 64 62 66 62 62 63 59
Columns 77 through 95
66 61 67 64 65 67 64 70 67 67 62 62 57 65 62 70 61 58 64
Columns 96 through 114
64 66 62 58 60 64 68 61 68 60 61 60 70 64 58 63 62 63 64
Columns 115 through 133
66 69 65 69 67 67 63 62 62 63 61 61 61 69 65 70 67 63 61
Columns 134 through 152
66 62 66 60 63 67 57 60 63 69 63 64 65 60 62 66 61 54 68
Columns 153 through 171
63 72 63 61 58 62 59 63 63 60 61 65 65 61 64 57 62 62 68
Columns 172 through 182
65 67 70 65 61 61 63 69 57 62 65
EFTER =
Columns 1 through 19
63 65 63 65 65 64 63 62 64 63 63 67 59 61 66 59 62 63 61
Columns 20 through 38
55 64 63 63 65 59 62 65 59 62 66 61 64 64 67 66 60 65 58
Columns 39 through 57
62 57 64 71 64 61 65 66 62 59 63 61 62 61 59 63 56 61 63
Columns 58 through 76
58 58 60 57 56 62 63 63 60 60 62 63 64 64 57 65 60 65 64
Columns 77 through 95
63 59 63 62 63 64 65 63 59 60 64 56 58 60 59 61 63 60 68
Columns 96 through 114
63 65 63 63 61 59 60 64 62 65 56 66 63 57 64 60 61 59 63
Columns 115 through 133
60 61 61 61 61 65 61 61 56 63 60 62 58 60 59 62 64 63 62
Columns 134 through 152
60 61 59 61 64 59 57 58 61 64 58 63 61 66 62 62 67 63 62
Columns 153 through 171
60 67 61 66 59 59 64 60 62 61 64 61 59 60 62 59 61 64 65
Columns 172 through 182
65 64 61 61 59 58 60 63 65 57 65
h =
1
p =
1.4058e-07
konfidensintervall =
1.1441 Inf
stats =
struct with fields:
tstat: 5.2344
df: 362
sd: 3.0441
h=1 innebär att vi kan förkasta nollhypotesen och därmed dra slutsatsen att "Ja han har sänkt sin vilopuls".
p =1.4058e-07 innebär att om han ändå faktiskt inte har förbättrat sig (nollhypotesen sann) så är det ungefär 1 på 7 miljoner att denna skillnaden skulle uppstå av slumpen. Detta är ett löjligt bra p-värde och då accepterar man alternativhypotesen. Ofta brukar man kräva p<0.05 för att förkasta nollhypotes, men ju mindre p, desto bättre.
Så som vi skrev indata här så innebär
konfidensintervall =
1.1441 Inf
Att vi kan vara 95% säkra på att han MINST förbättrat sin vilopuls med 1.1441 (alltså lägre vilopuls så som vi angivit det) BRA GREJER!
struct with fields:
tstat: 5.2344
df: 362
sd: 3.0441
Skriver vi nu
>> mean(EFTER)-mean(INNAN)
i terminalen får jag
ans =
-1.6703
vilket då är genomsnittet av förbättrad vilopuls.
Som sagt om du kör programmet får du andra tal, då den slumpar. Men bara en demonstration hur du kan göra det.
EDIT: Men du ska ju naturligtvis använda din mätdata, inte slumpa de som jag gjorde, men det vet du ju helt säkert