def test_add_time_dependent_effects(self): orig = np.array([float(i) for i in range(1, 11)]) m1 = EWMAModel(0.2, sc=self.sc) smoothed1 = m1.add_time_dependent_effects(orig) self.assertAlmostEqual(orig[0], smoothed1[0]) self.assertAlmostEqual(smoothed1[1], m1.smoothing * orig[1] + (1 - m1.smoothing) * smoothed1[0]) self.assertAlmostEqual(smoothed1[len(smoothed1) - 1], 6.54, delta=0.01) m2 = EWMAModel(0.6, sc=self.sc) smoothed2 = m2.add_time_dependent_effects(orig) self.assertAlmostEqual(orig[0], smoothed2[0]) self.assertAlmostEqual(smoothed2[1], m2.smoothing * orig[1] + (1 - m2.smoothing) * smoothed2[0]) self.assertAlmostEqual(smoothed2[len(smoothed2) - 1], 9.33, delta=0.01)
def test_remove_time_dependent_effects(self): smoothed = np.array([1.0, 1.2, 1.56, 2.05, 2.64, 3.31, 4.05, 4.84, 5.67, 6.54]) m1 = EWMAModel(0.2, sc=self.sc) orig1 = m1.remove_time_dependent_effects(smoothed) self.assertAlmostEqual(orig1[0], 1.0, delta=0.1) self.assertAlmostEqual(orig1[len(orig1) - 1], 10.0, delta=0.1)