def test_white_noise_surrogates(): ts = Surrogates.SmallTestData().original_data surrogates = Surrogates.SmallTestData().white_noise_surrogates(ts) assert (np.allclose( np.histogram(ts[0, :])[0], np.histogram(surrogates[0, :])[0]))
def testTwinSurrogates(): tdata = create_test_data() n_index, n_times = tdata.shape s = Surrogates(tdata) tsurro = s.twin_surrogates(tdata, 1, 0, 0.2) corrcoef = np.corrcoef(tdata, tsurro)[n_index:, :n_index] for i in range(n_index): corrcoef[i, i] = 0.0 assert (corrcoef >= -1.0).all() and (corrcoef <= 1.0).all()
def testTwinSurrogates(): tdata = create_test_data() n_index, n_times = tdata.shape s = Surrogates(tdata) tsurro = s.twin_surrogates(tdata, 1, 0, 0.2) corrcoef = np.corrcoef(tdata, tsurro)[n_index:,:n_index] for i in xrange(n_index): corrcoef[i,i]=0.0 assert (corrcoef>=-1.0).all() and (corrcoef<=1.0).all()
def testNormalizeTimeSeriesArray(): ts = Surrogates.SmallTestData().original_data Surrogates.SmallTestData().normalize_time_series_array(ts) res = ts.mean(axis=1) exp = np.array([0., 0., 0., 0., 0., 0.]) assert np.allclose(res, exp, atol=1e-04) res = ts.std(axis=1) exp = np.array([1., 1., 1., 1., 1., 1.]) assert np.allclose(res, exp, atol=1e-04)
def testEmbedTimeSeriesArray(): ts = Surrogates.SmallTestData().original_data res = Surrogates.SmallTestData().embed_time_series_array( time_series_array=ts, dimension=3, delay=2)[0, :6, :] exp = np.array([[0., 0.61464833, 1.14988147], [0.31244015, 0.89680225, 1.3660254], [0.61464833, 1.14988147, 1.53884177], [0.89680225, 1.3660254, 1.6636525], [1.14988147, 1.53884177, 1.73766672], [1.3660254, 1.6636525, 1.76007351]]) assert np.allclose(res, exp, atol=1e-04)
def test_TestMutualInformation(): tdata = create_test_data() n_bins = 32 test_mi = Surrogates.test_mutual_information(tdata[:1], tdata[:1], n_bins=n_bins) assert (test_mi >= -1.0).all() and (test_mi <= 1.0).all()
def test_TestPearsonCorrelation(): tdata = create_test_data() n_index, n_times = tdata.shape norm = 1.0 / float(n_times) c = Surrogates.test_pearson_correlation(tdata, tdata) corrcoef = np.corrcoef(tdata, tdata)[n_index:, :n_index] * norm for i in range(n_index): corrcoef[i, i] = 0.0 assert c.shape == (n_index, n_index) assert_array_almost_equal(c, corrcoef, decimal=5)
def test_TestPearsonCorrelation(): tdata = create_test_data() n_index, n_times = tdata.shape norm = 1.0 / float(n_times) c = Surrogates.test_pearson_correlation(tdata, tdata) corrcoef = np.corrcoef(tdata, tdata)[n_index:,:n_index]*norm for i in xrange(n_index): corrcoef[i,i]=0.0 assert c.shape == (n_index, n_index) assert_array_almost_equal(c, corrcoef, decimal=5)
def test_TestMutualInformation(): tdata = create_test_data() n_bins=32 test_mi = Surrogates.test_mutual_information(tdata[:1], tdata[:1], n_bins=n_bins) assert (test_mi>=-1.0).all() and (test_mi<=1.0).all()
def testCorrelatedNoiseSurrogates(): ts = Surrogates.SmallTestData().original_data surrogates = Surrogates.SmallTestData().correlated_noise_surrogates(ts) assert np.allclose(np.abs(np.fft.fft(ts, axis=1))[0, 1:10], np.abs(np.fft.fft(surrogates, axis=1))[0, 1:10])