Skip to content

Commit

Permalink
MAINT: better tests for CrossRecurrencePlot
Browse files Browse the repository at this point in the history
- testing against issue pik-copan#128
- for all three possible metrics
  - intitialize CrossRecurrencePlot
  - assert two calculations of distance matrix are np.allclose
- remove redundant tests
  • Loading branch information
fkuehlein committed Jul 18, 2023
1 parent b7e546d commit 6d3f338
Showing 1 changed file with 10 additions and 28 deletions.
38 changes: 10 additions & 28 deletions tests/test_timeseries/test_timeseries.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
def create_test_data():
# Create test time series
tdata = Data.SmallTestData().observable()
n_index, n_times = tdata.shape
# subtract means form the input data
tdata -= np.mean(tdata, axis=1)[:, None]
# normalize the data
Expand All @@ -47,45 +46,28 @@ def create_test_data():
# cross_recurrence_plot
# -----------------------------------------------------------------------------


def testCrossRecurrencePlot():
tdata = create_test_data()
CrossRecurrencePlot(x=tdata, y=tdata, threshold=0.2)


def testDistanceMatrix():
def testSupremumDistanceMatrix():
tdata = create_test_data()
crp = CrossRecurrencePlot(x=tdata, y=tdata, threshold=1.0)
crp.distance_matrix(tdata.T, tdata.T, metric='manhattan')

supr_dist_1 = crp.distance_matrix(tdata, tdata, metric=crp.metric)
supr_dist_2 = crp.distance_matrix(tdata, tdata, metric=crp.metric)
assert np.allclose(supr_dist_1, supr_dist_2, atol=1e-04)

def testManhattanDistanceMatrix():
tdata = create_test_data()
n_index, n_times = tdata.shape
crp = CrossRecurrencePlot(x=tdata, y=tdata, threshold=1.0)
manh_dist_1 = crp.manhattan_distance_matrix(tdata.T, tdata.T)
manh_dist_2 = crp.manhattan_distance_matrix(tdata.T, tdata.T)
crp = CrossRecurrencePlot(x=tdata, y=tdata, threshold=1.0, metric='manhattan')
manh_dist_1 = crp.distance_matrix(tdata, tdata, metric=crp.metric)
manh_dist_2 = crp.distance_matrix(tdata, tdata, metric=crp.metric)
assert np.allclose(manh_dist_1, manh_dist_2, atol=1e-04)


def testEuclideanDistanceMatrix():
tdata = create_test_data()
n_index, n_times = tdata.shape
crp = CrossRecurrencePlot(x=tdata, y=tdata, threshold=1.0)
eucl_dist_1 = crp.euclidean_distance_matrix(tdata.T, tdata.T)
eucl_dist_2 = crp.euclidean_distance_matrix(tdata.T, tdata.T)
crp = CrossRecurrencePlot(x=tdata, y=tdata, threshold=1.0, metric='euclidean')
eucl_dist_1 = crp.distance_matrix(tdata, tdata, metric=crp.metric)
eucl_dist_2 = crp.distance_matrix(tdata, tdata, metric=crp.metric)
assert np.allclose(eucl_dist_1, eucl_dist_2, atol=1e-04)


def testSupremumDistanceMatrix():
tdata = create_test_data()
n_index, n_times = tdata.shape
crp = CrossRecurrencePlot(x=tdata, y=tdata, threshold=1.0)
supr_dist_1 = crp.supremum_distance_matrix(tdata.T, tdata.T)
supr_dist_2 = crp.supremum_distance_matrix(tdata.T, tdata.T)
assert np.allclose(supr_dist_1, supr_dist_2, atol=1e-04)


# -----------------------------------------------------------------------------
# surrogates
# -----------------------------------------------------------------------------
Expand Down

0 comments on commit 6d3f338

Please sign in to comment.