def test_acf_1d(trigonometric, nlags): _acf = timeseries.acf(trigonometric.sin, nlags=nlags) # calculate default nlags if nlags is None: nlags = int(0.1 * (len(trigonometric.t) / 2 - 1)) assert len(_acf) == nlags assert_almost_equal(_acf[0], 1) assert_almost_equal(trigonometric.cos[:nlags], _acf, decimal=1)
def test_acf_col_var(trigonometric): nlags = 100 sin = np.vstack((trigonometric.sin for _ in range(5))) _acf = timeseries.acf(sin.T, row_var=False, nlags=nlags) cos = np.vstack((trigonometric.cos[:nlags] for _ in range(5))) assert_equal(_acf.shape, (nlags, 5)) assert_almost_equal(_acf[0, :], np.ones(5)) assert_almost_equal(cos, _acf.T, decimal=1)
def test_acf_2d(trigonometric, nlags): sin = np.vstack((trigonometric.sin for _ in range(5))) _acf = timeseries.acf(sin, row_var=True, nlags=nlags) # calculate default nlags if nlags is None: nlags = int(0.1 * (len(trigonometric.t) / 2 - 1)) cos = np.vstack((trigonometric.cos[:nlags] for _ in range(5))) assert_equal(_acf.shape, (5, nlags)) assert_almost_equal(_acf[:, 0], np.ones(5)) assert_almost_equal(cos, _acf, decimal=1)
def test_acf_DataFrame(trigonometric, nlags): sin = pd.DataFrame(np.vstack((trigonometric.sin for _ in range(5))).T) _acf = timeseries.acf(sin, nlags=nlags) # calculate default nlags if nlags is None: nlags = int(0.1 * (len(trigonometric.t) / 2 - 1)) cos = np.vstack((trigonometric.cos[:nlags] for _ in range(5))).T assert_equal(_acf.shape, (nlags, 5)) assert_almost_equal(_acf.iloc[0], np.ones(5)) assert_almost_equal(cos, _acf.values, decimal=1)
def test_nlags(trigonometric): acf = timeseries.acf(trigonometric.sin, 10) assert len(acf) == 10
def test_demean(trigonometric): acf = timeseries.acf(trigonometric.sin + 10, 10, demean=False, norm=False) acf2 = timeseries.acf(trigonometric.sin, 10, norm=False) assert_almost_equal(acf - 10**2, acf2)
def test_norm(trigonometric): acf = timeseries.acf(trigonometric.sin, 10, norm=True) assert acf[0] == 1.0 acf = timeseries.acf(trigonometric.sin, 10, norm=False) assert_almost_equal(acf[0], 0.49995)