view drawmedcouple.m @ 74:305b7361a5bd default tip @

showalgo: save a snapshot instead of waiting for keyboard input
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Sun, 29 May 2016 19:05:01 -0400
parents f61da46ca3e6
children
line wrap: on
line source


# Set the seed, to make this "random" sampling deterministic
randg("seed", 0);

z = gamrnd (3, 2, 5e3, 1);

# Plot the gamma values
subplot(2,1,1);
hist(z,20, "facecolor", [1, 0.5, 0.5]);
title("gamma distribution with alpha=3 and beta=2", "fontsize", 20);
set(gca, "fontsize", 14)

# Naive medcouple algorithm
n = length(z);
n2 = ceil(n/2);
z = sort(z, "descend");
zmed = median(z);
z -= zmed;
zplus = z(z >= 0);
zminus = z(z <= 0)';
zz = (zplus + zminus)./(zplus - zminus);
zz(isnan(zz)) = 0;
zzsort = sort(zz(:), "descend");
medc_idx = ceil(n2^2/2);
mc = zzsort(medc_idx);

# Plot the medcouple distribution
subplot(2,1,2);
hist(zzsort,20, "facecolor", [0.5, 0.5, 1]);

# Draw the medcouple line on the medcouple distribution
hold on;
plot([mc,mc], [0,5e5], "linewidth", 2.5, "color", [0.95, 0.95, 0]);
title("distribution of h(x_i, x_j) values", "fontsize", 20);
set(gca,"xtick", [-1, -0.5, mc, 0.5, 1], "fontsize", 14);
hold off

print medcouple-distribution.png