def test_auto_bandwidth(trivariate_data): y, x = trivariate_data res = phillips_ouliaris(y, x) assert isinstance(res.summary(), Summary) assert int(res.bandwidth) != res.bandwidth res = phillips_ouliaris(y, x, force_int=True) assert int(res.bandwidth) == res.bandwidth
def test_p_test_direct(trivariate_data, trend, bandwidth): y, x = trivariate_data y = np.asarray(y) x = np.asarray(x) z = np.column_stack([y, x]) ref_p_u, ref_p_z = p_tests(z, bandwidth, trend) p_u = phillips_ouliaris(y, x, trend=trend, bandwidth=bandwidth, test_type="Pu") p_z = phillips_ouliaris(y, x, trend=trend, bandwidth=bandwidth, test_type="Pz") assert_allclose(p_u.stat, ref_p_u) assert_allclose(p_z.stat, ref_p_z) assert isinstance(p_u.summary(), Summary) assert isinstance(p_z.summary(), Summary)
def test_z_test_direct(trivariate_data, trend, bandwidth): y, x = trivariate_data y = np.asarray(y) x = np.asarray(x) z = np.column_stack([y, x]) ref_z_a, ref_z_t = z_tests(z, bandwidth, trend) z_a = phillips_ouliaris(y, x, trend=trend, bandwidth=bandwidth, test_type="Za") z_t = phillips_ouliaris(y, x, trend=trend, bandwidth=bandwidth, test_type="Zt") assert_allclose(z_a.stat, ref_z_a) assert_allclose(z_t.stat, ref_z_t) assert isinstance(z_a.summary(), Summary) assert isinstance(z_t.summary(), Summary)
def test_smoke(trivariate_data, trend, test_type, kernel, bandwidth, force_int): y, x = trivariate_data res = phillips_ouliaris( y, x, trend=trend, test_type=test_type, kernel=kernel, bandwidth=bandwidth, force_int=force_int, ) assert isinstance(res.stat, float)
def test_errors(trivariate_data): y, x = trivariate_data with pytest.raises(ValueError, match="kernel is not a known estimator."): phillips_ouliaris(y, x, kernel="fancy-kernel") with pytest.raises(ValueError, match="Unknown test_type: z-alpha."): phillips_ouliaris(y, x, test_type="z-alpha")