def test_ar_fit_durbin_levinson(self): np.random.seed(12345) simulated_ar3 = simulate_arma(phi=[0.5, 0.1, 0.2], sigma=0.5) ar3 = ARMA(simulated_ar3) ar3.fit_ar(p=3, method="durbin_levinson") self.assertAlmostEqual(ar3.model.get_phi(1), 0.5, 1) self.assertAlmostEqual(ar3.model.get_phi(2), 0.1, 1) self.assertAlmostEqual(ar3.model.get_phi(3), 0.2, 1) self.assertAlmostEqual(ar3.model.get_sigma_sq(), 0.25, 1)
def test_ar_fit_yule_walker(self): zeros = np.zeros(100) zero_ts = ARMA(zeros) np.random.seed(12345) simulated_ar3 = simulate_arma(phi=[0.5, 0.1, 0.2], sigma=0.5) ar3 = ARMA(simulated_ar3) zero_ts.fit_ar(p=0, method="yule_walker") self.assertEqual(len(zero_ts.model.get_params()[0]), 0) ar3.fit_ar(p=3, method="yule_walker") self.assertAlmostEqual(ar3.model.get_params()[0][0], 0.5, 1) self.assertAlmostEqual(ar3.model.get_params()[0][1], 0.1, 1) self.assertAlmostEqual(ar3.model.get_params()[0][2], 0.2, 1)