def setup_class(cls): nobs = 500 ar = [1, -0.5, 0.1] ma = [1, 0.7] dist = lambda n: np.random.standard_t(3, size=n) np.random.seed(8659567) x = arma_generate_sample(ar, ma, nobs, sigma=1, distrvs=dist, burnin=500) mod = TArma(x) order = (2, 1) cls.res_ls = mod.fit(order=order) cls.res = mod.fit_mle(order=order, start_params=np.r_[cls.res_ls[0], 5, 1], method='nm', disp=False) cls.res1_table = np.array( [[ 0.46157133, -0.07694534, 0.70051876, 2.88693312, 0.97283396], [ 0.04957594, 0.04345499, 0.03492473, 0.40854823, 0.05568439], [ 9.31038915, -1.7706905 , 20.05795605, 7.06632146, 17.47049812], [ 0. , 0.07661218, 0. , 0. , 0. ], [ 0.05487968, 0.04213054, 0.03102404, 0.37860956, 0.05228474], [ 0.04649728, 0.04569133, 0.03990779, 0.44315449, 0.05996759]]) cls.res1_conf_int = np.array([[ 0.36440426, 0.55873839], [-0.16211556, 0.00822488], [ 0.63206754, 0.76896998], [ 2.08619331, 3.68767294], [ 0.86369457, 1.08197335]]) cls.ls_params = np.array([ 0.43393123, -0.08402678, 0.73293058]) cls.ls_bse = np.array([ 0.0377741 , 0.03567847, 0.02744488])
assert_almost_equal(rescm.params[:-1] / d.res.params, 1, decimal=1) #copied to tsa.tests plt.figure() plt.plot(x, 'b-o') plt.plot(modc.predicted(), 'r-') plt.figure() plt.plot(modc.error_estimate) #plt.show() from statsmodels.miscmodels.tmodel import TArma modct = TArma(x) reslst = modc.fit(order=(1,1)) print(reslst[0]) rescmt = modct.fit_mle(order=(1,1), start_params=[-0.4,0.4, 10, 1.],maxiter=500, maxfun=500) print(rescmt.params) from statsmodels.tsa.arima_model import ARMA mkf = ARMA(x) ##rkf = mkf.fit((1,1)) ##rkf.params rkf = mkf.fit((1,1), trend='nc') print(rkf.params) from statsmodels.tsa.arima_process import arma_generate_sample np.random.seed(12345) y_arma22 = arma_generate_sample([1.,-.85,.35, -0.1],[1,.25,-.7], nsample=1000) ##arma22 = ARMA(y_arma22) ##res22 = arma22.fit(trend = 'nc', order=(2,2))
from statsmodels.tsa.arima_process import arma_generate_sample, ArmaProcess from statsmodels.miscmodels.tmodel import TArma from statsmodels.tsa.arima_model import ARMA nobs = 500 ar = [1, -0.6, -0.1] ma = [1, 0.7] dist = lambda n: np.random.standard_t(3, size=n) np.random.seed(8659567) x = arma_generate_sample(ar, ma, nobs, sigma=1, distrvs=dist, burnin=500) mod = TArma(x) order = (2, 1) res = mod.fit(order=order) res2 = mod.fit_mle(order=order, start_params=np.r_[res[0], 5, 1], method='nm') print(res[0]) proc = ArmaProcess.from_coeffs(res[0][:order[0]], res[0][:order[1]]) print(ar, ma) proc.nobs = nobs # TODO: bug nobs is None, not needed ?, used in ArmaProcess.__repr__ print(proc.ar, proc.ma) print(proc.ar_roots(), proc.ma_roots()) from statsmodels.tsa.arma_mle import Arma modn = Arma(x) resn = modn.fit_mle(order=order)