Ejemplo n.º 1
0
  def testAnomalyCumulative(self):
    """Test cumulative anomaly scores."""
    anomalyComputer = anomaly.Anomaly(slidingWindowSize=3)
    predicted = (array([1, 2, 6]), array([1, 2, 6]), array([1, 2, 6]),
                 array([1, 2, 6]), array([1, 2, 6]), array([1, 2, 6]),
                 array([1, 2, 6]), array([1, 2, 6]), array([1, 2, 6]))
    actual = (array([1, 2, 6]), array([1, 2, 6]), array([1, 4, 6]),
              array([10, 11, 6]), array([10, 11, 12]), array([10, 11, 12]),
              array([10, 11, 12]), array([1, 2, 6]), array([1, 2, 6]))
    anomalyExpected = (0.0, 0.0, 1.0/9.0, 3.0/9.0, 2.0/3.0, 8.0/9.0, 1.0,
                       2.0/3.0, 1.0/3.0)

    for act, pred, expected in zip(actual, predicted, anomalyExpected):
      score = anomalyComputer.compute(act, pred)
      self.assertAlmostEqual(
          score, expected, places=5,
          msg="Anomaly score of %f doesn't match expected of %f" % (
              score, expected))
Ejemplo n.º 2
0
 def testComputeAnomalyScorePartialMatch(self):
   anomalyComputer = anomaly.Anomaly()
   score = anomalyComputer.compute(array([2, 3, 6]), array([3, 5, 7]))
   self.assertAlmostEqual(score, 2.0 / 3.0)
Ejemplo n.º 3
0
 def testComputeAnomalyScoreNoMatch(self):
   anomalyComputer = anomaly.Anomaly()
   score = anomalyComputer.compute(array([2, 4, 6]), array([3, 5, 7]))
   self.assertAlmostEqual(score, 1.0)
Ejemplo n.º 4
0
 def testComputeAnomalyScorePerfectMatch(self):
   anomalyComputer = anomaly.Anomaly()
   score = anomalyComputer.compute(array([3, 5, 7]), array([3, 5, 7]))
   self.assertAlmostEqual(score, 0.0)
Ejemplo n.º 5
0
 def testComputeAnomalyScoreNoActive(self):
   anomalyComputer = anomaly.Anomaly()
   score = anomalyComputer.compute(array([]), array([3, 5]))
   self.assertAlmostEqual(score, 0.0)
Ejemplo n.º 6
0
 def testComputeAnomalySelectModePure(self):
   anomalyComputer = anomaly.Anomaly(mode=anomaly.Anomaly.MODE_PURE)
   score = anomalyComputer.compute(array([2, 3, 6]), array([3, 5, 7]))
   self.assertAlmostEqual(score, 2.0 / 3.0)