Example #1
0
def main():
    N = 100
    rep = 10
    rs = np.logspace(-3, 0, 30)

    x_p2 = mix(0.2, (rep, N))
    x_p3 = mix(0.3, (rep, N))
    x_p5 = mix(0.5, (rep, N))

    es = np.zeros((2, len(rs)))
    for ir, r in enumerate(rs):
        runs = np.zeros((2, rep))
        for i in range(rep):
            runs[0, i] = entropy.cross_fuzzyen(x_p2[i, :], x_p3[i, :], 2, r, 2)
            runs[1, i] = entropy.cross_fuzzyen(x_p3[i, :], x_p5[i, :], 2, r, 2)

        es[:, ir] = np.mean(runs, axis=1)

    fig, ax = plt.subplots()
    ax.semilogx(rs, es[0], 'ro-', label='MIX(0.2) vs. MIX(0.3)')
    ax.semilogx(rs, es[1], 'ko-', label='MIX(0.3) vs. MIX(0.5)')
    ax.legend()
    ax.set_ylim(0, 6)

    plt.show()
Example #2
0
    def test_copies(self):
        x = np.random.uniform(low=0, high=1, size=(2, 100))
        x0 = np.copy(x[0])
        x1 = np.copy(x[1])

        entropy.sampen(x0, 2, 0.1)
        assert_equal(x0, x[0])

        entropy.fuzzyen(x0, 2, 0.1, 2)
        assert_equal(x0, x[0])

        entropy.cross_sampen(x0, x1, 2, 0.1)
        assert_equal(x0, x[0])
        assert_equal(x1, x[1])

        entropy.cross_fuzzyen(x0, x1, 2, 0.1, 2)
        assert_equal(x0, x[0])
        assert_equal(x1, x[1])