[bootstrap] added difference of mean
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
% generate correlated data:
|
||||
n=200;
|
||||
a=0.2;
|
||||
n = 200;
|
||||
a = 0.2;
|
||||
x = randn(n, 1);
|
||||
y = randn(n, 1) + a*x;
|
||||
|
||||
@@ -11,13 +11,13 @@ fprintf('correlation coefficient of data r = %.2f\n', rd);
|
||||
% distribution of null hypothesis by permutation:
|
||||
nperm = 1000;
|
||||
rs = zeros(nperm,1);
|
||||
for i=1:nperm
|
||||
xr=x(randperm(length(x))); % shuffle x
|
||||
yr=y(randperm(length(y))); % shuffle y
|
||||
for i = 1:nperm
|
||||
xr = x(randperm(length(x))); % shuffle x
|
||||
yr = y(randperm(length(y))); % shuffle y
|
||||
rs(i) = corr(xr, yr);
|
||||
end
|
||||
[h,b] = hist(rs, 20);
|
||||
h = h/sum(h)/(b(2)-b(1)); % normalization
|
||||
[h, b] = hist(rs, 20);
|
||||
h = h/sum(h)/(b(2)-b(1)); % normalization
|
||||
|
||||
% significance:
|
||||
rq = quantile(rs, 0.95);
|
||||
|
||||
40
bootstrap/code/meandiffsignificance.m
Normal file
40
bootstrap/code/meandiffsignificance.m
Normal file
@@ -0,0 +1,40 @@
|
||||
% generate two data sets:
|
||||
n = 200;
|
||||
d = 0.2;
|
||||
x = randn(n, 1);
|
||||
y = randn(n, 1) + d;
|
||||
|
||||
% difference of sample means:
|
||||
md = mean(y) - mean(x);
|
||||
fprintf('difference of means of data d = %.2f\n', md);
|
||||
|
||||
% distribution of null hypothesis by permutation:
|
||||
nperm = 1000;
|
||||
xy = [x; y]; % x and y data in one column vector
|
||||
ds = zeros(nperm,1);
|
||||
for i = 1:nperm
|
||||
xyr = xy(randperm(length(xy))); % shuffle data
|
||||
xr = xyr(1:length(x)); % random x-data
|
||||
yr = xyr(length(x)+1:end); % random y-data
|
||||
ds(i) = mean(yr) - mean(xr); % difference of means
|
||||
end
|
||||
[h, b] = hist(ds, 20);
|
||||
h = h/sum(h)/(b(2)-b(1)); % normalization
|
||||
|
||||
% significance:
|
||||
dq = quantile(ds, 0.95);
|
||||
fprintf('difference of means of null hypothesis at 5%% significance = %.2f\n', dq);
|
||||
if md >= dq
|
||||
fprintf('--> difference of means d=%.2f is significant\n', md);
|
||||
else
|
||||
fprintf('--> d=%.2f is not a significant difference of means\n', md);
|
||||
end
|
||||
|
||||
% plot:
|
||||
bar(b, h, 'facecolor', 'b');
|
||||
hold on;
|
||||
bar(b(b>=dq), h(b>=dq), 'facecolor', 'r');
|
||||
plot([md md], [0 4], 'r', 'linewidth', 2);
|
||||
xlabel('Difference of means');
|
||||
ylabel('Probability density of H0');
|
||||
hold off;
|
||||
4
bootstrap/code/meandiffsignificance.out
Normal file
4
bootstrap/code/meandiffsignificance.out
Normal file
@@ -0,0 +1,4 @@
|
||||
>> meandiffsignificance
|
||||
difference of means of data d = 0.18
|
||||
difference of means of null hypothesis at 5% significance = 0.17
|
||||
--> difference of means d=0.18 is significant
|
||||
Reference in New Issue
Block a user