def test_banddepth_MBD(): xx = np.arange(5001) / 5000. y1 = np.zeros(xx.shape) y2 = 2 * xx - 1 y3 = np.ones(xx.shape) * 0.5 y4 = np.ones(xx.shape) * -0.25 data = np.asarray([y1, y2, y3, y4]) depth = banddepth(data, method='MBD') expected_depth = [5./6, (2*(0.75-3./8)+3)/6, 3.5/6, (2*3./8+3)/6] assert_almost_equal(depth, expected_depth, decimal=4)
def test_banddepth_BD2(): xx = np.arange(500) / 150. y1 = 1 + 0.5 * np.sin(xx) y2 = 0.3 + np.sin(xx + np.pi/6) y3 = -0.5 + np.sin(xx + np.pi/6) y4 = -1 + 0.3 * np.cos(xx + np.pi/6) data = np.asarray([y1, y2, y3, y4]) depth = banddepth(data, method='BD2') expected_depth = [0.5, 5./6, 5./6, 0.5] assert_almost_equal(depth, expected_depth)