我试图在给定的时间序列“resid”上拟合一个 ARMA 模型,长度为“tsteps”,并使用获得的拟合模型“resid_model”来模拟一定数量的具有相同特征的替代时间序列。
到目前为止,这是我尝试过的(仅针对一个模拟“sim”):
import numpy as np
import statsmodels.tsa.api as smt
resid_model = smt.ARMA(resid, (2, 1)).fit(maxlag=30, ic='aic', trend='nc',disp=False, transparams=True)
sim = smt.arma_generate_sample(ar=np.append(1.,resid_model.arparams),
ma=np.append(1.,resid_model.maparams), nsample=tsteps, sigma=resid_model.sigma2)
然而,我似乎无法确保平稳性,尽管拟合中的 'transparams=True' 参数。我获得的取决于我尝试拟合的 ARMA 模型的顺序,但通常倾向于退化: 获得的模拟“sim”
这就是我的原始样本的样子: 原始时间序列'resid'
我究竟做错了什么?
谢谢!