def test_robust_kurtosis_dg(self): # Test custom delta, gamma in kr4 x = self.kurtosis_x delta, gamma = (10.0, 45.0) kurtosis = robust_kurtosis(self.kurtosis_x, dg=(delta,gamma), excess=False) q = np.percentile(x,[delta, 100.0-delta, gamma, 100.0-gamma]) assert_almost_equal(kurtosis[3], (q[1] - q[0]) / (q[3] - q[2]))
def test_robust_kurtosis_ab(self): # Test custom alpha, beta in kr3 x = self.kurtosis_x alpha, beta = (10.0, 45.0) kurtosis = robust_kurtosis(self.kurtosis_x, ab=(alpha,beta), excess=False) num = np.mean(x[x>np.percentile(x,100.0 - alpha)]) - np.mean(x[x<np.percentile(x,alpha)]) denom = np.mean(x[x>np.percentile(x,100.0 - beta)]) - np.mean(x[x<np.percentile(x,beta)]) assert_almost_equal(kurtosis[2], num/denom)
def test_robust_kurtosis_excess_false(self): x = self.kurtosis_x expected = self.expected_kurtosis + self.kurtosis_constants kurtosis = np.array(robust_kurtosis(x, excess=False)) assert_almost_equal(expected, kurtosis)
def test_robust_kurtosis_3d(self): x = np.tile(self.kurtosis_x, (10, 10, 1)) kurtosis = np.array(robust_kurtosis(x, axis=2)) for i, r in enumerate(self.expected_kurtosis): assert_almost_equal(r * np.ones((10, 10)), kurtosis[i])
def test_robust_kurtosis(self): x = self.kurtosis_x assert_almost_equal(np.array(robust_kurtosis(x)), self.expected_kurtosis)
def test_robust_kurtosis_1d_2d(self, reset_randomstate): x = np.random.randn(100) y = x[:, None] kr_x = np.array(robust_kurtosis(x)) kr_y = np.array(robust_kurtosis(y, axis=None)) assert_almost_equal(kr_x, kr_y)
def test_robust_kurtosis_1d_2d(self): x = np.random.randn(100) y = x[:, None] kr_x = np.array(robust_kurtosis(x)) kr_y = np.array(robust_kurtosis(y, axis=None)) assert_almost_equal(kr_x, kr_y)