Exemple #1
0
 def test_invalid_data_parameter(self):
     with self.assertRaises(AssertionError):
         anomaly_detect_ts(['invalid'],
                           max_anoms=0.02,
                           direction='both',
                           threshold=None,
                           only_last=None,
                           longterm=False)
Exemple #2
0
 def test_invalid_piecewise_median_period_weeks(self):
     with self.assertRaises(AssertionError):
         anomaly_detect_ts(['invalid'],
                           max_anoms=0.02,
                           piecewise_median_period_weeks=1,
                           direction='both',
                           threshold=None,
                           only_last=None,
                           longterm=False,
                           plot=False)
Exemple #3
0
 def test_anomaly_detect_ts_last_only_day(self):
     results = anomaly_detect_ts(self.data1,
                                 max_anoms=0.02,
                                 direction='both',
                                 only_last='day',
                                 plot=False)
     self.assertEqual(23, len(results['anoms']))
Exemple #4
0
    def test_anomaly_detect_ts_1(self):
        results = anomaly_detect_ts(self.data1,
                                    direction='both',
                                    alpha=0.05,
                                    plot=False,
                                    longterm=True)
        values = results['anoms'].array

        self.assertEqual(132, len(values))
        self.assertTrue(self.get_test_value(40.0) in values)
        self.assertTrue(self.get_test_value(250.0) in values)
        self.assertTrue(self.get_test_value(210.0) in values)
        self.assertTrue(self.get_test_value(193.1036) in values)
        self.assertTrue(self.get_test_value(186.82299999999998) in values)
        self.assertTrue(self.get_test_value(181.514) in values)
        self.assertTrue(self.get_test_value(27.6501) in values)
        self.assertTrue(self.get_test_value(30.6972) in values)
        self.assertTrue(self.get_test_value(39.5523) in values)
        self.assertTrue(self.get_test_value(37.3052) in values)
        self.assertTrue(self.get_test_value(30.8174) in values)
        self.assertTrue(self.get_test_value(23.9362) in values)
        self.assertTrue(self.get_test_value(27.6677) in values)
        self.assertTrue(self.get_test_value(23.9362) in values)
        self.assertTrue(self.get_test_value(149.541) in values)
        self.assertTrue(self.get_test_value(52.0359) in values)
        self.assertTrue(self.get_test_value(52.7478) in values)
        self.assertTrue(self.get_test_value(151.549) in values)
        self.assertTrue(self.get_test_value(147.028) in values)
        self.assertTrue(self.get_test_value(31.2614) in values)
Exemple #5
0
 def test_anomaly_detect_ts_neg_only(self):
     results = anomaly_detect_ts(self.data1,
                                 max_anoms=0.02,
                                 direction='neg',
                                 only_last=None,
                                 plot=False)
     self.assertEqual(84, len(results['anoms']))
 def test_anomaly_detect_ts_last_only_none(self):
     results = anomaly_detect_ts(self.data1,
                                 max_anoms=0.02,
                                 direction='both',
                                 only_last=None,
                                 plot=False)
     self.assertEquals(132, len(results['anoms']))
Exemple #7
0
 def test_anomaly_detect_ts_longterm(self):
     results = anomaly_detect_ts(self.data1,
                                 max_anoms=0.02,
                                 direction='both',
                                 threshold=None,
                                 only_last=None,
                                 longterm=True)
     self.assertEqual(132, len(results['anoms']))
Exemple #8
0
 def test_plot_data_files(self):
     results = anomaly_detect_ts(self.data1,
                                 direction='both',
                                 alpha=0.02,
                                 max_anoms=0.35,
                                 plot=True,
                                 longterm=True)
     self.assertEqual("count", results['plot'].get_title(
     ))  #just checking that the plot was returned for the test file
Exemple #9
0
 def test_anomaly_detect_ts_piecewise_median_period_weeks(self):
     results = anomaly_detect_ts(self.data1,
                                 max_anoms=0.02,
                                 piecewise_median_period_weeks=4,
                                 direction='both',
                                 threshold=None,
                                 only_last=None,
                                 longterm=False)
     self.assertEqual(132, len(results['anoms']))
Exemple #10
0
    def test_anomaly_detect_ts_4(self):
        results = anomaly_detect_ts(self.data4,
                                    direction='both',
                                    alpha=0.02,
                                    max_anoms=0.02,
                                    plot=False,
                                    longterm=True)
        values = results['anoms'].array

        self.assertEqual(1, len(values))
        self.assertTrue(self.get_test_value(-1449.62440286) in values)
Exemple #11
0
 def test_perform_threshold_filter(self):
     results = anomaly_detect_ts(self.data1,
                                 max_anoms=0.02,
                                 direction='both',
                                 only_last=None,
                                 plot=False)
     periodic_max = self.data1.resample('1D').max()
     filtered_results = _perform_threshold_filter(results['anoms'],
                                                  periodic_max, 'med_max')
     self.assertTrue(isinstance(filtered_results, Series))
     self.assertEqual(4, len(filtered_results))
Exemple #12
0
    def test_anomaly_detect_ts_2(self):
        results = anomaly_detect_ts(self.data2,
                                    direction='both',
                                    alpha=0.02,
                                    max_anoms=0.02,
                                    plot=False,
                                    longterm=True)
        values = results['anoms'].array

        self.assertEqual(2, len(values))
        self.assertTrue(self.get_test_value(-549.97419676451) in values)
        self.assertTrue(self.get_test_value(-3241.79887765979) in values)
Exemple #13
0
    def test_anomaly_detect_ts_last_only_hr(self):
        results = anomaly_detect_ts(self.data1,
                                    max_anoms=0.02,
                                    direction='both',
                                    only_last='hr',
                                    plot=False)
        values = results['anoms'].array

        self.assertEqual(3, len(values))
        self.assertTrue(self.get_test_value(40.0) in values)
        self.assertTrue(self.get_test_value(250.0) in values)
        self.assertTrue(self.get_test_value(210.0) in values)
Exemple #14
0
    def test_get_only_last_results(self):
        results = anomaly_detect_ts(self.data1,
                                    max_anoms=0.02,
                                    direction='both',
                                    only_last=None,
                                    plot=False)

        last_day = _get_only_last_results(self.data1, results['anoms'], 'min',
                                          'day')
        last_hr = _get_only_last_results(self.data1, results['anoms'], 'min',
                                         'hr')
        self.assertEqual(23, len(last_day))
        self.assertEqual(3, len(last_hr))
Exemple #15
0
    def test_anomaly_detect_ts_5(self):
        results = anomaly_detect_ts(self.data5,
                                    direction='both',
                                    alpha=0.02,
                                    max_anoms=0.02,
                                    plot=False,
                                    longterm=True)
        values = results['anoms'].array

        self.assertEqual(4, len(values))
        self.assertTrue(self.get_test_value(-3355.47215640248) in values)
        self.assertTrue(self.get_test_value(941.905602754994) in values)
        self.assertTrue(self.get_test_value(-2428.98882200991) in values)
        self.assertTrue(self.get_test_value(-1263.4494013677302) in values)
Exemple #16
0
    def test_anomaly_detect_ts_med_max_threshold(self):
        results = anomaly_detect_ts(self.data1,
                                    max_anoms=0.02,
                                    direction='both',
                                    threshold='med_max',
                                    only_last=None,
                                    plot=False)
        values = results['anoms'].array

        self.assertEqual(4, len(values))
        self.assertTrue(self.get_test_value(203.231) in values)
        self.assertTrue(self.get_test_value(203.90099999999998) in values)
        self.assertTrue(self.get_test_value(250.0) in values)
        self.assertTrue(self.get_test_value(210.0) in values)
Exemple #17
0
    def test_anomaly_detect_ts_3(self):
        results = anomaly_detect_ts(self.data3,
                                    direction='both',
                                    alpha=0.02,
                                    max_anoms=0.02,
                                    plot=False,
                                    longterm=True)
        values = results['anoms'].array

        self.assertEqual(6, len(values))
        self.assertTrue(self.get_test_value(677.306772096232) in values)
        self.assertTrue(self.get_test_value(3003.3770260296196) in values)
        self.assertTrue(self.get_test_value(375.68211544563) in values)
        self.assertTrue(self.get_test_value(4244.34731650009) in values)
        self.assertTrue(self.get_test_value(2030.44357652981) in values)
        self.assertTrue(self.get_test_value(4223.461867236129) in values)