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])
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)