def test_edm_percent(self):
     ret_list = detect_breakout(self.data,
                                min_size=24,
                                method='multi',
                                percent=0.1,
                                degree=1)
     self.assertEqual([26, 51, 106], ret_list)
 def test_constant(self):
     ret_list = detect_breakout([10] * 100,
                                min_size=24,
                                method='multi',
                                beta=0.001,
                                degree=1)
     self.assertEqual([], ret_list)
 def test_empty(self):
     ret_list = detect_breakout([],
                                min_size=24,
                                method='multi',
                                beta=0.001,
                                degree=1)
     self.assertEqual([], ret_list)
 def test_edm_multi(self):
     ret_list = detect_breakout(self.data,
                                min_size=24,
                                method='multi',
                                beta=0.001,
                                degree=1)
     self.assertEqual([47, 87], ret_list)
 def test_edm_tail_nperm_no_ret(self):
     ret_list = detect_breakout(self.data,
                                min_size=24,
                                method='amoc',
                                exact=False,
                                sig_level=0.001,
                                nperm=10)
     self.assertEqual([], ret_list)
 def test_edm_x_nperm_has_ret(self):
     ret_list = detect_breakout(self.data,
                                min_size=24,
                                method='amoc',
                                exact=True,
                                sig_level=0.9,
                                nperm=10)
     self.assertEqual([95], ret_list)
 def test_int_values(self):
     # make sure the code still works if the values are int.
     z = [int(value) for value in self.data]
     ret_list = detect_breakout(z,
                                min_size=24,
                                method='multi',
                                beta=0.001,
                                degree=1)
     self.assertEqual([47, 87], ret_list)
Esempio n. 8
0
def _get_trends_by_breakout_detection(x, kwargs):
    # divide the data into parts using breakout detection, using the median of each part as the trend.
    ret_list = detect_breakout(x, **kwargs)
    if logger.isEnabledFor(logging.DEBUG):
        logger.debug("detect_breakout result: %s" % ret_list)
    last_loc = len(x)
    if last_loc not in ret_list:
        ret_list.append(last_loc)
    prev_loc = 0
    trends = []
    for loc in ret_list:
        median = np.median(x[prev_loc:loc])
        trends.extend([median] * (loc - prev_loc))
        prev_loc = loc
    if logger.isEnabledFor(logging.DEBUG):
        logger.debug("detect_breakout trends: %s length=%s" % (trends, len(trends)))
    return trends
def _get_trends_by_breakout_detection(x, kwargs):
    # divide the data into parts using breakout detection, using the median of each part as the trend.
    ret_list = detect_breakout(x, **kwargs)
    if logger.isEnabledFor(logging.DEBUG):
        logger.debug("detect_breakout result: %s" % ret_list)
    last_loc = len(x)
    if last_loc not in ret_list:
        ret_list.append(last_loc)
    prev_loc = 0
    trends = []
    for loc in ret_list:
        median = np.median(x[prev_loc:loc])
        trends.extend([median] * (loc - prev_loc))
        prev_loc = loc
    if logger.isEnabledFor(logging.DEBUG):
        logger.debug("detect_breakout trends: %s length=%s" %
                     (trends, len(trends)))
    return trends
Esempio n. 10
0
 def test_int_values(self):
     # make sure the code still works if the values are int.
     z = [int(value) for value in self.data]
     ret_list = detect_breakout(z, min_size=24, method='multi', beta=0.001, degree=1)
     self.assertEqual([47, 87], ret_list)
Esempio n. 11
0
 def test_constant(self):
     ret_list = detect_breakout([10] * 100, min_size=24, method='multi', beta=0.001, degree=1)
     self.assertEqual([], ret_list)
Esempio n. 12
0
 def test_empty(self):
     ret_list = detect_breakout([], min_size=24, method='multi', beta=0.001, degree=1)
     self.assertEqual([], ret_list)
Esempio n. 13
0
 def test_edm_tail_nperm_no_ret(self):
     ret_list = detect_breakout(self.data, min_size=24, method='amoc', exact=False, sig_level=0.001, nperm=10)
     self.assertEqual([], ret_list)
Esempio n. 14
0
 def test_edm_x_nperm_has_ret(self):
     ret_list = detect_breakout(self.data, min_size=24, method='amoc', exact=True, sig_level=0.9, nperm=10)
     self.assertEqual([95], ret_list)
Esempio n. 15
0
 def test_edm_percent(self):
     ret_list = detect_breakout(self.data, min_size=24, method='multi', percent=0.1, degree=1)
     self.assertEqual([26, 51, 106], ret_list)
Esempio n. 16
0
 def test_edm_multi(self):
     ret_list = detect_breakout(self.data, min_size=24, method='multi', beta=0.001, degree=1)
     self.assertEqual([47, 87], ret_list)