def test_basic_outlier_filter(self): np.random.seed(42) x = np.random.normal(size=20) x[0] *= 5 msk = basic_outlier_filter(x) self.assertEqual(np.sum(~msk), 1) self.assertAlmostEqual(x[~msk][0], 2.4835707650561636)
def filter_for_sparsity(data, c1=1e3, solver='ECOS'): daily_sparsity = np.sum(data > 0.005 * np.max(data), axis=0) filtered_signal = local_median_regression_with_seasonal(daily_sparsity, c1=c1, solver=solver) mask = basic_outlier_filter(daily_sparsity - filtered_signal, outlier_constant=5.) return mask
def filter_for_sparsity(data, c1=1e3, solver="ECOS"): daily_sparsity = np.sum(data > 0.005 * np.max(data), axis=0) filtered_signal = l1_l2d2p365(daily_sparsity, c1=c1, solver=solver) mask = basic_outlier_filter(daily_sparsity - filtered_signal, outlier_constant=5.0) return mask